https://bugs.gentoo.org/432998 snipped from OpenSUSE From 19248f4207e55ecb1f5cdd9eb084f1a69470afaf Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Thu, 5 Jan 2012 16:20:42 +0100 Subject: [PATCH] dhclient: parse_option_param: Bad format a When the server provides options using the "a" array type, such as: option rfc3442-classless-routes code 121 = array of unsigned integer 8; the option is stored into the lease file, but when the client reads the lease file next time, it complains about, because "a" array type aren't recognized in the parsing loop and the option (lease?) discarded. Signed-off-by: Marius Tomaschewski --- common/parse.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/parse.c b/common/parse.c index 865522e..b4a821b 100644 --- a/common/parse.c +++ b/common/parse.c @@ -5409,7 +5409,7 @@ int parse_option_decl (oc, cfile) /* Parse the option data... */ do { for (fmt = option -> format; *fmt; fmt++) { - if (*fmt == 'A') + if (*fmt == 'A' || *fmt == 'a') break; if (*fmt == 'o' && fmt != option -> format) continue; @@ -5623,7 +5623,7 @@ int parse_option_decl (oc, cfile) } } token = next_token (&val, (unsigned *)0, cfile); - } while (*fmt == 'A' && token == COMMA); + } while ((*fmt == 'A' || *fmt == 'a') && token == COMMA); if (token != SEMI) { parse_warn (cfile, "semicolon expected."); -- 1.7.7