← Commit list

46ba384b1b

Viktor Szakats
Viktor Szakats
2026-06-15
SUCCESS Duration: 195s

Subject

winldap: avoid NULL pointer deref on `ldap_get_dn()` fail

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/ldap.c+4 -8
@@ -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);