summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2003-09-15 05:03:11 +0000
committerTim Potter <tpot@samba.org>2003-09-15 05:03:11 +0000
commitb584f74bd7fdc6a353b38d9e2e6e69fee1096fb4 (patch)
tree588c9a2dee210d0f7fa548040279a93290bd48ee
parentd8231592bc4497fbec0a9ced20cd8cc84782bb9d (diff)
downloadsamba-b584f74bd7fdc6a353b38d9e2e6e69fee1096fb4.tar.gz
samba-b584f74bd7fdc6a353b38d9e2e6e69fee1096fb4.tar.bz2
samba-b584f74bd7fdc6a353b38d9e2e6e69fee1096fb4.zip
Merge from Samba 3.0:
>Fix a nasty mess, and also bug #296. passdb/pdb_ldap.c was not converting >to/from utf8 for some calls. The libads code gets this right. Wonder why >the passdb code doesn't use it ? >Jeremy. (This used to be commit 258c106e2243f19c77fe35edd6dcba816a8fc8ee)
-rw-r--r--source3/libads/ldap.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c
index e925750e0a..48401cc3d8 100644
--- a/source3/libads/ldap.c
+++ b/source3/libads/ldap.c
@@ -709,7 +709,16 @@ char *ads_get_dn(ADS_STRUCT *ads, void *msg)
utf8_dn = ldap_get_dn(ads->ld, msg);
- pull_utf8_allocate((void **) &unix_dn, utf8_dn);
+ if (!utf8_dn) {
+ DEBUG (5, ("ads_get_dn: ldap_get_dn failed\n"));
+ return NULL;
+ }
+
+ if (pull_utf8_allocate((void **) &unix_dn, utf8_dn) == (size_t)-1) {
+ DEBUG(0,("ads_get_dn: string conversion failure utf8 [%s]\n",
+ utf8_dn ));
+ return NULL;
+ }
ldap_memfree(utf8_dn);
return unix_dn;
}