From 45e0984cdb0375ae04482f53c930530cab7e16b2 Mon Sep 17 00:00:00 2001 From: Dave Brolley Date: Mon, 27 Jul 1998 12:51:56 +0000 Subject: [PATCH] c-lex.c (yylex): Fix boundary conditions in character literal and string literal loops. Mon Jul 27 14:22:36 1998 Dave Brolley * c-lex.c (yylex): Fix boundary conditions in character literal and string literal loops. From-SVN: r21413 --- gcc/ChangeLog | 5 +++++ gcc/c-lex.c | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a325bad9621..cf87be47ecc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Jul 27 14:22:36 1998 Dave Brolley + + * c-lex.c (yylex): Fix boundary conditions in character literal and + string literal loops. + Mon Jul 27 11:43:54 1998 Stan Cox * longlong.h (count_leading_zeros): Sparclite scan instruction was diff --git a/gcc/c-lex.c b/gcc/c-lex.c index f4f4a12d1e8..69055f4a7c2 100644 --- a/gcc/c-lex.c +++ b/gcc/c-lex.c @@ -1994,7 +1994,7 @@ yylex () int char_len = -1; for (i = 0; i < longest_char; ++i) { - if (p + i == token_buffer + maxtoken) + if (p + i >= token_buffer + maxtoken) p = extend_token_buffer (p); p[i] = c; @@ -2031,7 +2031,7 @@ yylex () unsigned bytemask = (1 << width) - 1; int byte; - if (p + WCHAR_BYTES >= token_buffer + maxtoken) + if (p + WCHAR_BYTES > token_buffer + maxtoken) p = extend_token_buffer (p); for (byte = 0; byte < WCHAR_BYTES; ++byte) @@ -2050,7 +2050,7 @@ yylex () } else { - if (p == token_buffer + maxtoken) + if (p >= token_buffer + maxtoken) p = extend_token_buffer (p); *p++ = c; } @@ -2063,14 +2063,14 @@ yylex () or with a wide zero. */ if (wide_flag) { - if (p + WCHAR_BYTES >= token_buffer + maxtoken) + if (p + WCHAR_BYTES > token_buffer + maxtoken) p = extend_token_buffer (p); bzero (p, WCHAR_BYTES); p += WCHAR_BYTES; } else { - if (p == token_buffer + maxtoken) + if (p >= token_buffer + maxtoken) p = extend_token_buffer (p); *p++ = 0; } -- 2.30.2