From: Daniel Stenberg Date: Sat, 4 Nov 2017 15:42:21 +0000 (+0100) Subject: ntlm: avoid malloc(0) for zero length passwords X-Git-Tag: curl-7_57_0~65 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=685ef130575cdcf63fe9547757d88a49a40ef281;p=curl ntlm: avoid malloc(0) for zero length passwords It triggers an assert() when built with memdebug since malloc(0) may return NULL *or* a valid pointer. Detected by OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4054 Assisted-by: Max Dymond Closes #2054 --- diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c index 5154949e6..1309bf0d9 100644 --- a/lib/curl_ntlm_core.c +++ b/lib/curl_ntlm_core.c @@ -557,7 +557,7 @@ CURLcode Curl_ntlm_core_mk_nt_hash(struct Curl_easy *data, unsigned char *ntbuffer /* 21 bytes */) { size_t len = strlen(password); - unsigned char *pw = malloc(len * 2); + unsigned char *pw = len ? malloc(len * 2) : strdup(""); CURLcode result; if(!pw) return CURLE_OUT_OF_MEMORY;