udhcp: abort if we see unknown option, and show valid options if so
function old new delta udhcp_option_idx - 77 +77 udhcp_str2optset 366 351 -15 udhcpc_main 2845 2801 -44 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/2 up/down: 77/-59) Total: 18 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@@ -879,21 +879,17 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
|
||||
client_config.no_default_options = 1;
|
||||
while (list_O) {
|
||||
char *optstr = llist_pop(&list_O);
|
||||
int n = index_in_strings(dhcp_option_strings, optstr);
|
||||
if (n < 0)
|
||||
bb_error_msg_and_die("unknown option '%s'", optstr);
|
||||
unsigned n = udhcp_option_idx(optstr);
|
||||
n = dhcp_options[n].code;
|
||||
client_config.opt_mask[n >> 3] |= 1 << (n & 7);
|
||||
}
|
||||
while (list_x) {
|
||||
int n;
|
||||
unsigned n;
|
||||
char *optstr = llist_pop(&list_x);
|
||||
char *colon = strchr(optstr, ':');
|
||||
if (colon)
|
||||
*colon = '\0';
|
||||
n = index_in_strings(dhcp_option_strings, optstr);
|
||||
if (n < 0)
|
||||
bb_error_msg_and_die("unknown option '%s'", optstr);
|
||||
n = udhcp_option_idx(optstr);
|
||||
if (colon)
|
||||
*colon = ' ';
|
||||
udhcp_str2optset(optstr, &client_config.options);
|
||||
|
||||
Reference in New Issue
Block a user