From: Daniel Stenberg Date: Thu, 9 Oct 2025 20:57:29 +0000 (+0200) Subject: openldap: fix memory-leak on oldap_do's exit path X-Git-Tag: rc-8_17_0-1~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=be5a5c10d49bfe35e7e2ccf63ae700abad786379;p=thirdparty%2Fcurl.git openldap: fix memory-leak on oldap_do's exit path On SSL sockbuf setup failure in `oldap_do`, the 'lud' data would not be freed and instead leak. Reported-by: Joshua Rogers Closes #18986 --- diff --git a/lib/openldap.c b/lib/openldap.c index 92364e3e77..b84268dae7 100644 --- a/lib/openldap.c +++ b/lib/openldap.c @@ -988,8 +988,10 @@ static CURLcode oldap_do(struct Curl_easy *data, bool *done) Sockbuf *sb; /* re-install the libcurl SSL handlers into the sockbuf. */ if((ldap_get_option(li->ld, LDAP_OPT_SOCKBUF, &sb) != LDAP_OPT_SUCCESS) || - ber_sockbuf_add_io(sb, &ldapsb_tls, LBER_SBIOD_LEVEL_TRANSPORT, data)) + ber_sockbuf_add_io(sb, &ldapsb_tls, LBER_SBIOD_LEVEL_TRANSPORT, data)) { + ldap_free_urldesc(lud); return CURLE_FAILED_INIT; + } } #endif