Blame SOURCES/dhcp-statement_parser.patch
|
|
627c33 |
diff --git a/common/parse.c b/common/parse.c
|
|
|
627c33 |
index e78223c2..656b378b 100644
|
|
|
627c33 |
--- a/common/parse.c
|
|
|
627c33 |
+++ b/common/parse.c
|
|
|
627c33 |
@@ -5790,13 +5790,14 @@ int parse_X (cfile, buf, max)
|
|
|
627c33 |
skip_to_semi (cfile);
|
|
|
627c33 |
return 0;
|
|
|
627c33 |
}
|
|
|
627c33 |
- convert_num (cfile, &buf [len], val, 16, 8);
|
|
|
627c33 |
- if (len++ > max) {
|
|
|
627c33 |
+ if (len >= max) {
|
|
|
627c33 |
parse_warn (cfile,
|
|
|
627c33 |
"hexadecimal constant too long.");
|
|
|
627c33 |
skip_to_semi (cfile);
|
|
|
627c33 |
return 0;
|
|
|
627c33 |
}
|
|
|
627c33 |
+ convert_num (cfile, &buf [len], val, 16, 8);
|
|
|
627c33 |
+ len++;
|
|
|
627c33 |
token = peek_token (&val, (unsigned *)0, cfile);
|
|
|
627c33 |
if (token == COLON)
|
|
|
627c33 |
token = next_token (&val,
|