From e57372d1e2b6fedc490e6670874077e9168c8807 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 11 Jan 2002 06:47:31 +0000 Subject: [PATCH] Update. 2002-01-10 Ulrich Drepper * locale/programs/charmap.c (new_width): Check whether byte sequences for both ends of range have the same length. --- ChangeLog | 5 +++++ locale/programs/charmap.c | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 4f94e49319..35db6ba8c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-01-10 Ulrich Drepper + + * locale/programs/charmap.c (new_width): Check whether byte + sequences for both ends of range have the same length. + 2002-01-09 Jakub Jelinek * elf/elf.h (SHN_UNDEF): Remove duplicate definition. diff --git a/locale/programs/charmap.c b/locale/programs/charmap.c index 7840242d8d..815a28d419 100644 --- a/locale/programs/charmap.c +++ b/locale/programs/charmap.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996,1998,1999,2000,2001 Free Software Foundation, Inc. +/* Copyright (C) 1996,1998,1999,2000,2001,2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -868,6 +868,16 @@ new_width (struct linereader *cmfile, struct charmap_t *result, lr_error (cmfile, _("unknown character `%s'"), to); return; } + + /* Make sure the number of bytes for the end points of the range + is correct. */ + if (from_val->nbytes != to_val->nbytes) + { + lr_error (cmfile, _("\ +number of bytes for byte sequence of beginning and end of range not the same: %d vs %d"), + from_val->nbytes, to_val->nbytes); + return; + } } if (result->nwidth_rules >= result->nwidth_rules_max)