Commit 94391203 authored by Shawn Routhier's avatar Shawn Routhier
Browse files

When processing the format flags for a given option consume the

flag indicating an optional value correctly.  A symptom of this
bug was an infinite loop when trying to parse the slp-service-scope
option.  Thanks to a patch from Marius Tomaschewski.
[ISC-Bugs #22055]
parent d7b47063
......@@ -62,6 +62,12 @@ work on other platforms. Please report any problems and suggested fixes to
This was a security issue in 4.2.0 but is not in 4.1.x.
[ISC-Bugs #22679]
- When processing the format flags for a given option consume the
flag indicating an optional value correctly. A symptom of this
bug was an infinite loop when trying to parse the slp-service-scope
option. Thanks to a patch from Marius Tomaschewski.
[ISC-Bugs #22055]
Changes since 4.1-ESV-R1
! In dhclient check the data for some string options for
......@@ -2653,7 +2659,6 @@ work on other platforms. Please report any problems and suggested fixes to
- Fix a bug in the DHCP client initial startup backoff interval, which
would cause two DHCPDISCOVERS to be sent back-to-back on startup.
Changes since 3.0 Beta 2 Patchlevel 15
- Some documentation tweaks.
......
......@@ -4953,8 +4953,28 @@ struct option *option;
do {
if ((*fmt == 'A') || (*fmt == 'a'))
break;
if (*fmt == 'o')
if (*fmt == 'o') {
/* consume the optional flag */
fmt++;
continue;
}
if (fmt[1] == 'o') {
/*
* A value for the current format is
* optional - check to see if the next
* token is a semi-colon if so we don't
* need to parse it and doing so would
* consume the semi-colon which our
* caller is expecting to parse
*/
token = peek_token(&val, (unsigned *)0,
cfile);
if (token == SEMI) {
fmt++;
continue;
}
}
tmp = *expr;
*expr = NULL;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment