From: Volker Lendecke Date: Fri, 14 Mar 2008 17:01:06 +0000 (+0100) Subject: Fix bug 4901 X-Git-Tag: samba-3.0.29~1182 X-Git-Url: http://git.samba.org/?p=samba.git;a=commitdiff_plain;h=3100119b97064135b4c696227349dd174d5663bf Fix bug 4901 Thanks to Laurent Pinchart for bugging me --- diff --git a/source/passdb/pdb_ldap.c b/source/passdb/pdb_ldap.c index 8c6fa81edb3..e1f57a8337c 100644 --- a/source/passdb/pdb_ldap.c +++ b/source/passdb/pdb_ldap.c @@ -1795,8 +1795,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); @@ -1804,7 +1805,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); /*