--- samba-3.3.3/source/passdb/pdb_ldap.c.orig 2009-04-28 16:36:49.000000000 +0200 +++ samba-3.3.3/source/passdb/pdb_ldap.c 2009-04-28 16:38:00.000000000 +0200 @@ -1733,7 +1733,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);