]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#10446 slapd authzPrettyNormal: plug memory leak
authorKang Yang <kangyang126@gmail.com>
Fri, 6 Feb 2026 02:47:51 +0000 (02:47 +0000)
committerHoward Chu <hyc@openldap.org>
Fri, 6 Feb 2026 15:48:12 +0000 (15:48 +0000)
servers/slapd/saslauthz.c

index 86ef9442fb1a777aaaa1412d50feeb66a8b16b63..07e1c0d2e32eb9f01970abcaa12d2ef2e3c6eff8 100644 (file)
@@ -840,12 +840,16 @@ is_dn:            bv.bv_len = val->bv_len - ( bv.bv_val - val->bv_val );
        }
 
        ludp->lud_port = 0;
-       normalized->bv_val = ldap_url_desc2str( ludp );
-       if ( normalized->bv_val ) {
-               normalized->bv_len = strlen( normalized->bv_val );
-
-       } else {
-               rc = LDAP_INVALID_SYNTAX;
+       {
+               char *tmpstr = ldap_url_desc2str( ludp );
+               if ( tmpstr ) {
+                       normalized->bv_len = strlen( tmpstr );
+                       normalized->bv_val = slap_sl_malloc( normalized->bv_len+1, ctx );
+                       strcpy( normalized->bv_val, tmpstr );
+                       ber_memfree( tmpstr );
+               } else {
+                       rc = LDAP_INVALID_SYNTAX;
+               }
        }
 
 done: