From: Todd C. Miller Date: Fri, 5 Mar 2010 19:38:42 +0000 (-0500) Subject: Fix a mismatch between sudo_settings and settings_pairs that causes X-Git-Tag: SUDO_1_8_0~849 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a1b7526e33896a9e1ec76cda10928bfd22a7a054;p=sudo Fix a mismatch between sudo_settings and settings_pairs that causes some settings to get the wrong values. --- diff --git a/src/parse_args.c b/src/parse_args.c index 334d4ea2f..2a630e5fc 100644 --- a/src/parse_args.c +++ b/src/parse_args.c @@ -88,7 +88,6 @@ static struct sudo_settings { struct name_value_pair p; struct name_value_pair r; struct name_value_pair t; - struct name_value_pair U; struct name_value_pair u; } sudo_settings = { { "bsdauth_type" }, @@ -112,12 +111,13 @@ static struct name_value_pair *setting_pairs[] = { &sudo_settings.g, &sudo_settings.H, &sudo_settings.i, + &sudo_settings.k, &sudo_settings.p, &sudo_settings.r, &sudo_settings.t, &sudo_settings.u }; -#define settings_size (sizeof(setting_pairs) / sizeof(struct name_value_pair)) +#define settings_size (sizeof(setting_pairs) / sizeof(setting_pairs[0])) /* * Command line argument parsing. @@ -372,6 +372,8 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, char ***settingsp, settings = emalloc2(settings_size + 1, sizeof (char *)); for (i = 0, j = 0; i < settings_size; i++) { if (setting_pairs[i]->value) { + sudo_debug(9, "settings: %s=%s", setting_pairs[i]->name, + setting_pairs[i]->value); settings[j++] = fmt_string(setting_pairs[i]->name, setting_pairs[i]->value); }