diff --git a/cli-runopts.c b/cli-runopts.c index d70a4e19d16ac24b1f49b0565dd2113438d179bd..60b4aa17fcd77ebb7985ade8559e7993e4347bf4 100644 --- a/cli-runopts.c +++ b/cli-runopts.c @@ -824,29 +824,22 @@ badport: #endif static int match_extendedopt(const char** strptr, const char *optname) { - int seen_eq = 0; int optlen = strlen(optname); const char *str = *strptr; - while (isspace(*str)) { - ++str; - } - if (strncasecmp(str, optname, optlen) != 0) { return DROPBEAR_FAILURE; } str += optlen; - while (isspace(*str) || (!seen_eq && *str == '=')) { - if (*str == '=') { - seen_eq = 1; - } - ++str; + if (*str == '=') { + *strptr = str+1; + return DROPBEAR_SUCCESS; + } else { + return DROPBEAR_FAILURE; } - *strptr = str; - return DROPBEAR_SUCCESS; } static int parse_flag_value(const char *value) {