diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-09-14 08:21:48 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-09-14 08:21:48 +0000 |
commit | b5e62988f8faab0a94b0db0f1da815af8c10b928 (patch) | |
tree | 61a856cc1fb7d714552a5b1aa8beefe1e2535b01 /posix | |
parent | 7ca5d0dcb3eee499abaa0cf97e37659a490f9413 (diff) | |
download | glibc-b5e62988f8faab0a94b0db0f1da815af8c10b928.tar.gz |
(compile_range): Cast collseq index to unsigned char to avoid accessing data before collseq.
Diffstat (limited to 'posix')
-rw-r--r-- | posix/regex.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/posix/regex.c b/posix/regex.c index b4adfcf6ed..bff88c5412 100644 --- a/posix/regex.c +++ b/posix/regex.c @@ -3531,11 +3531,11 @@ compile_range (range_start_char, p_ptr, pend, translate, syntax, b) collseq = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQMB); - start_colseq = collseq[TRANSLATE (range_start_char)]; - end_colseq = collseq[TRANSLATE (p[0])]; + start_colseq = collseq[(unsigned char) TRANSLATE (range_start_char)]; + end_colseq = collseq[(unsigned char) TRANSLATE (p[0])]; for (this_char = 0; this_char <= (unsigned char) -1; ++this_char) { - unsigned int this_colseq = collseq[TRANSLATE (this_char)]; + unsigned int this_colseq = collseq[(unsigned char) TRANSLATE (this_char)]; if (start_colseq <= this_colseq && this_colseq <= end_colseq) { |