summaryrefslogtreecommitdiffstats
path: root/source/sam
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-05-27 00:04:43 +0000
committerJeremy Allison <jra@samba.org>2004-05-27 00:04:43 +0000
commitaf5b268091a64b3151eb65e203e58cc051d8f309 (patch)
tree5bcb237f8e49c02caba8f72db69fa9e9ed13d642 /source/sam
parent81675c91fb21681c3403c091c3f64cb3b72a2a4c (diff)
downloadsamba-af5b268091a64b3151eb65e203e58cc051d8f309.tar.gz
samba-af5b268091a64b3151eb65e203e58cc051d8f309.tar.xz
samba-af5b268091a64b3151eb65e203e58cc051d8f309.zip
r916: Memory leak fix from kawasa_r@itg.hitachi.co.jp.
Jeremy.
Diffstat (limited to 'source/sam')
-rw-r--r--source/sam/idmap_ldap.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/sam/idmap_ldap.c b/source/sam/idmap_ldap.c
index 2124fb68793..d83c0bdc4d8 100644
--- a/source/sam/idmap_ldap.c
+++ b/source/sam/idmap_ldap.c
@@ -711,8 +711,12 @@ static NTSTATUS verify_idpool( void )
get_attr_key2string(idpool_attr_list, LDAP_ATTR_UIDNUMBER), uid_str );
smbldap_set_mod( &mods, LDAP_MOD_ADD,
get_attr_key2string(idpool_attr_list, LDAP_ATTR_GIDNUMBER), gid_str );
-
- rc = smbldap_modify(ldap_state.smbldap_state, lp_ldap_idmap_suffix(), mods);
+ if (mods) {
+ rc = smbldap_modify(ldap_state.smbldap_state, lp_ldap_idmap_suffix(), mods);
+ ldap_mods_free( mods, True );
+ } else {
+ return NT_STATUS_UNSUCCESSFUL;
+ }
}
return ( rc==LDAP_SUCCESS ? NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL );