From: Andreas Schneider Date: Wed, 22 Jun 2022 06:28:40 +0000 (+0200) Subject: lib:cmdline: Fix error handling of --use-kerberos=desired|required|off X-Git-Tag: tevent-0.13.0~345 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2dbd3210ed4a6703fcc6b0350a86860e5bcbd7c7;p=thirdparty%2Fsamba.git lib:cmdline: Fix error handling of --use-kerberos=desired|required|off Best reviewed with `git show -b` BUG: https://bugzilla.samba.org/show_bug.cgi?id=15104 Signed-off-by: Andreas Schneider Reviewed-by: Stefan Metzmacher --- diff --git a/lib/cmdline/cmdline.c b/lib/cmdline/cmdline.c index 33d0c94e3b1..707c93cc70a 100644 --- a/lib/cmdline/cmdline.c +++ b/lib/cmdline/cmdline.c @@ -904,26 +904,36 @@ static void popt_common_credentials_callback(poptContext popt_ctx, } } break; - case OPT_USE_KERBEROS: - if (arg != NULL) { - int32_t use_kerberos = - lpcfg_parse_enum_vals("client use kerberos", arg); + case OPT_USE_KERBEROS: { + int32_t use_kerberos = INT_MIN; + if (arg == NULL) { + fprintf(stderr, + "Failed to parse " + "--use-kerberos=desired|required|off: " + "Missing argument\n"); + exit(1); + } - if (use_kerberos == INT_MIN) { - fprintf(stderr, "Failed to parse --use-kerberos\n"); - exit(1); - } + use_kerberos = lpcfg_parse_enum_vals("client use kerberos", + arg); + if (use_kerberos == INT_MIN) { + fprintf(stderr, + "Failed to parse " + "--use-kerberos=desired|required|off: " + "Invalid argument\n"); + exit(1); + } - ok = cli_credentials_set_kerberos_state(creds, - use_kerberos, - CRED_SPECIFIED); - if (!ok) { - fprintf(stderr, - "Failed to set Kerberos state to %s!\n", arg); - exit(1); - } + ok = cli_credentials_set_kerberos_state(creds, + use_kerberos, + CRED_SPECIFIED); + if (!ok) { + fprintf(stderr, + "Failed to set Kerberos state to %s!\n", arg); + exit(1); } break; + } case OPT_USE_KERBEROS_CCACHE: if (arg != NULL) { const char *error_string = NULL;