Fix a memleak -- Coverity ID 222
authorVolker Lendecke <vl@samba.org>
Wed, 5 Mar 2008 15:28:43 +0000 (16:28 +0100)
committerGünther Deschner <gd@samba.org>
Wed, 5 Mar 2008 17:44:26 +0000 (18:44 +0100)
(cherry picked from commit a40781bafa3a8f0c7737164bca6cf74b0a452e72)
(This used to be commit 86cabcad74ac06d888f2a352a2bef3abea1ed85c)

source3/passdb/pdb_ldap.c

index 87a648a5b4b54b5bb35caa05616f2de1db5760fb..dec9b5bafb57ce9989f310213027cdb47086277c 100644 (file)
@@ -349,6 +349,7 @@ int ldapsam_search_suffix_by_name(struct ldapsam_privates *ldap_state,
        filter = talloc_asprintf(talloc_tos(), "(&%s%s)", "(uid=%u)",
                get_objclass_filter(ldap_state->schema_ver));
        if (!filter) {
+               SAFE_FREE(escape_user);
                return LDAP_NO_MEMORY;
        }
        /*
@@ -358,10 +359,10 @@ int ldapsam_search_suffix_by_name(struct ldapsam_privates *ldap_state,
 
        filter = talloc_all_string_sub(talloc_tos(),
                                filter, "%u", escape_user);
+       SAFE_FREE(escape_user);
        if (!filter) {
                return LDAP_NO_MEMORY;
        }
-       SAFE_FREE(escape_user);
 
        ret = smbldap_search_suffix(ldap_state->smbldap_state,
                        filter, attr, result);