--- samba-3.2.5/source/passdb/pdb_ldap.c.orig 2009-02-04 21:06:54.000000000 +0100 +++ samba-3.2.5/source/passdb/pdb_ldap.c 2009-02-04 21:09:53.000000000 +0100 @@ -1729,7 +1729,8 @@ if ((ber_printf (ber, "{") < 0) || (ber_printf (ber, "ts", LDAP_TAG_EXOP_MODIFY_PASSWD_ID, utf8_dn) < 0) || (ber_printf (ber, "ts", LDAP_TAG_EXOP_MODIFY_PASSWD_NEW, utf8_password) < 0) || - (ber_printf (ber, "n}") < 0)) { + (!utf8_password && (ber_printf (ber, "n") < 0)) || + (ber_printf (ber, "}") < 0)) { DEBUG(0,("ldapsam_modify_entry: ber_printf returns a value <0\n")); ber_free(ber,1); SAFE_FREE(utf8_dn);