s3:libads:ldap: fix ads_check_ou_dn to deal with account_ou not being initialized
authorGünther Deschner <gd@samba.org>
Fri, 11 Mar 2016 11:15:14 +0000 (12:15 +0100)
committerStefan Metzmacher <metze@samba.org>
Mon, 14 Mar 2016 15:19:23 +0000 (16:19 +0100)
Guenther

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11755

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
source3/libads/ldap.c

index 22725e1731f9835d462194b125f12c0e681c72ab..10cdae49d0cdd9ffdddee7f280f2909e6d61621d 100644 (file)
@@ -3941,10 +3941,16 @@ ADS_STATUS ads_check_ou_dn(TALLOC_CTX *mem_ctx,
        const char *name;
        char *ou_string;
 
-       exploded_dn = ldap_explode_dn(*account_ou, 0);
-       if (exploded_dn) {
-               ldap_value_free(exploded_dn);
-               return ADS_SUCCESS;
+       if (account_ou == NULL) {
+               return ADS_ERROR_NT(NT_STATUS_INVALID_PARAMETER);
+       }
+
+       if (*account_ou != NULL) {
+               exploded_dn = ldap_explode_dn(*account_ou, 0);
+               if (exploded_dn) {
+                       ldap_value_free(exploded_dn);
+                       return ADS_SUCCESS;
+               }
        }
 
        ou_string = ads_ou_string(ads, *account_ou);