[PATCH] openldap: fix an LDAP crash
authorPatrick Monnerat <patrick@monnerat.net>
Wed, 27 Dec 2023 10:19:17 +0000 (11:19 +0100)
committerSamuel Henrique <samueloph@debian.org>
Fri, 29 Dec 2023 18:34:11 +0000 (15:34 -0300)
Reported-by: Ozan Cansel
Fixes #12593
Closes #12600

Gbp-Pq: Name openldap_fix_an_LDAP_crash.patch

lib/openldap.c

index 131f4741428b112e4732d2c890477697d827db6e..75dbf188f98d37f3de7380bd45d0cc0d2b4b7e2c 100644 (file)
@@ -887,10 +887,14 @@ static CURLcode oldap_do(struct Curl_easy *data, bool *done)
 
   result = oldap_url_parse(data, &lud);
   if(!result) {
-    Sockbuf *sb;
-    /* re-install the libcurl SSL handlers into the sockbuf. */
-    ldap_get_option(li->ld, LDAP_OPT_SOCKBUF, &sb);
-    ber_sockbuf_add_io(sb, &ldapsb_tls, LBER_SBIOD_LEVEL_TRANSPORT, data);
+#ifdef USE_SSL
+    if(ssl_installed(conn)) {
+      Sockbuf *sb;
+      /* re-install the libcurl SSL handlers into the sockbuf. */
+      ldap_get_option(li->ld, LDAP_OPT_SOCKBUF, &sb);
+      ber_sockbuf_add_io(sb, &ldapsb_tls, LBER_SBIOD_LEVEL_TRANSPORT, data);
+    }
+#endif
 
     rc = ldap_search_ext(li->ld, lud->lud_dn, lud->lud_scope,
                          lud->lud_filter, lud->lud_attrs, 0,