diff options
author | Jeremy Allison <jra@samba.org> | 2003-09-10 22:33:06 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2003-09-10 22:33:06 +0000 |
commit | ca1c6ebb11361dabaca22015736f3876d51833a2 (patch) | |
tree | 462e0afef069859619591cbf0e83742c94457fb4 /source3/libads | |
parent | b5f07b9ca802747816c407e9c79bcfb4009d605f (diff) | |
download | samba-ca1c6ebb11361dabaca22015736f3876d51833a2.tar.gz samba-ca1c6ebb11361dabaca22015736f3876d51833a2.tar.bz2 samba-ca1c6ebb11361dabaca22015736f3876d51833a2.zip |
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 910d21d3164c2c64773031fddaad35ea88e72a04)
Diffstat (limited to 'source3/libads')
-rw-r--r-- | source3/libads/ldap.c | 11 |
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; } |