From: Viktor Szakats Date: Sun, 14 Jun 2026 10:12:53 +0000 (+0200) Subject: winldap: avoid NULL pointer deref on `ldap_get_dn()` fail X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=46ba384b1b03fec7115e2caa3fdc4587f6973e37;p=thirdparty%2Fcurl.git winldap: avoid NULL pointer deref on `ldap_get_dn()` fail In non-Unicode builds. Assisted-by: Jay Satiro Closes #22000 --- diff --git a/lib/ldap.c b/lib/ldap.c index 6b93d345b3..a6a69eb7f1 100644 --- a/lib/ldap.c +++ b/lib/ldap.c @@ -456,21 +456,17 @@ static CURLcode ldap_do(struct Curl_easy *data, bool *done) /* Get the DN and write it to the client */ { - char *name; + char *name = NULL; size_t name_len = 0; #ifdef USE_WIN32_LDAP TCHAR *dn = ldap_get_dn(server, entryIterator); - name = curlx_convert_tchar_to_UTF8(dn); - if(!name) { - ldap_memfree(dn); - result = CURLE_OUT_OF_MEMORY; - goto quit; - } + if(dn) + name = curlx_convert_tchar_to_UTF8(dn); #else char *dn = name = ldap_get_dn(server, entryIterator); #endif if(!name) - result = CURLE_FAILED_INIT; + result = dn ? CURLE_OUT_OF_MEMORY : CURLE_FAILED_INIT; else { name_len = strlen(name); result = Curl_client_write(data, CLIENTWRITE_BODY, "DN: ", 4);