From 1dd8fa9a521046f1de8173ac00224706c5249665 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Fri, 14 Mar 2008 18:01:06 +0100 Subject: [PATCH] Fix bug 4901 --- WHATSNEW.txt | 1 + source/passdb/pdb_ldap.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/WHATSNEW.txt b/WHATSNEW.txt index 3928e6d1811..a9ca3526b39 100644 --- a/WHATSNEW.txt +++ b/WHATSNEW.txt @@ -305,6 +305,7 @@ o Volker Lendecke * Add implicit temporary talloc contexts via talloc_stack(). * Speed up the smbclient "get" command * Add the aio_fork module + * Fix bug 4901 o Derrell Lipman * Modified libsmbclient API for more easily maintaining ABI compatibility diff --git a/source/passdb/pdb_ldap.c b/source/passdb/pdb_ldap.c index dec9b5bafb5..d941abb00e6 100644 --- a/source/passdb/pdb_ldap.c +++ b/source/passdb/pdb_ldap.c @@ -1913,8 +1913,9 @@ static NTSTATUS ldapsam_update_sam_account(struct pdb_methods *my_methods, struc ldap_mods_free(mods,True); return NT_STATUS_UNSUCCESSFUL; } - - if (mods == NULL) { + + if ((lp_ldap_passwd_sync() != LDAP_PASSWD_SYNC_ONLY) + && (mods == NULL)) { DEBUG(4,("ldapsam_update_sam_account: mods is empty: nothing to update for user: %s\n", pdb_get_username(newpwd))); SAFE_FREE(dn); @@ -1922,7 +1923,11 @@ static NTSTATUS ldapsam_update_sam_account(struct pdb_methods *my_methods, struc } ret = ldapsam_modify_entry(my_methods,newpwd,dn,mods,LDAP_MOD_REPLACE, element_is_changed); - ldap_mods_free(mods,True); + + if (mods != NULL) { + ldap_mods_free(mods,True); + } + SAFE_FREE(dn); /* -- 2.34.1