From: Joseph Sutton Date: Thu, 5 Oct 2023 23:36:13 +0000 (+1300) Subject: libcli:auth: Remove unreachable code (CID 1272968) X-Git-Tag: tdb-1.4.13~1277 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0425b0fcbee2ee3028ae40a10fa1471da52e2605;p=thirdparty%2Fsamba.git libcli:auth: Remove unreachable code (CID 1272968) For us to reach the statement ‘if (0 < len1)’, ‘len1’ must be equal to ‘len2’, and they must not both be equal to zero. That cannot be the case if ‘len1’ is equal to zero, and therefore the ‘else’ branch cannot be reached. Signed-off-by: Joseph Sutton Reviewed-by: Douglas Bagnall --- diff --git a/libcli/auth/msrpc_parse.c b/libcli/auth/msrpc_parse.c index 8326261e838..d5661983a31 100644 --- a/libcli/auth/msrpc_parse.c +++ b/libcli/auth/msrpc_parse.c @@ -262,6 +262,8 @@ bool msrpc_parse(TALLOC_CTX *mem_ctx, goto cleanup; } } else { + size_t pull_len; + /* make sure its in the right format - be strict */ if ((len1 != len2) || (ptr + len1 < ptr) || (ptr + len1 < len1) || (ptr + len1 > blob->length)) { ret = false; @@ -278,20 +280,11 @@ bool msrpc_parse(TALLOC_CTX *mem_ctx, goto cleanup; } - if (0 < len1) { - size_t pull_len; - if (!convert_string_talloc(mem_ctx, CH_UTF16, CH_UNIX, - blob->data + ptr, len1, - ps, &pull_len)) { - ret = false; - goto cleanup; - } - } else { - *ps = talloc_strdup(mem_ctx, ""); - if (*ps == NULL) { - ret = false; - goto cleanup; - } + if (!convert_string_talloc(mem_ctx, CH_UTF16, CH_UNIX, + blob->data + ptr, len1, + ps, &pull_len)) { + ret = false; + goto cleanup; } } break;