Author: vlendec
Date: 2007-04-28 13:52:49 +0000 (Sat, 28 Apr 2007)
New Revision: 22554

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=22554

Log:
Fix an assumption that TALLOC_ARRAY(.., 0) != NULL.

Volker

Modified:
   branches/SAMBA_3_0/source/groupdb/mapping.c
   branches/SAMBA_3_0_25/source/groupdb/mapping.c


Changeset:
Modified: branches/SAMBA_3_0/source/groupdb/mapping.c
===================================================================
--- branches/SAMBA_3_0/source/groupdb/mapping.c 2007-04-28 12:50:35 UTC (rev 
22553)
+++ branches/SAMBA_3_0/source/groupdb/mapping.c 2007-04-28 13:52:49 UTC (rev 
22554)
@@ -578,12 +578,17 @@
        if (!NT_STATUS_IS_OK(result))
                return result;
 
+       *p_num_alias_rids = 0;
+
+       if (num_alias_sids == 0) {
+               TALLOC_FREE(alias_sids);
+               return NT_STATUS_OK;
+       }
+
        *pp_alias_rids = TALLOC_ARRAY(mem_ctx, uint32, num_alias_sids);
        if (*pp_alias_rids == NULL)
                return NT_STATUS_NO_MEMORY;
 
-       *p_num_alias_rids = 0;
-
        for (i=0; i<num_alias_sids; i++) {
                if (!sid_peek_check_rid(domain_sid, &alias_sids[i],
                                        &(*pp_alias_rids)[*p_num_alias_rids]))

Modified: branches/SAMBA_3_0_25/source/groupdb/mapping.c
===================================================================
--- branches/SAMBA_3_0_25/source/groupdb/mapping.c      2007-04-28 12:50:35 UTC 
(rev 22553)
+++ branches/SAMBA_3_0_25/source/groupdb/mapping.c      2007-04-28 13:52:49 UTC 
(rev 22554)
@@ -578,12 +578,17 @@
        if (!NT_STATUS_IS_OK(result))
                return result;
 
+       *p_num_alias_rids = 0;
+
+       if (num_alias_sids == 0) {
+               TALLOC_FREE(alias_sids);
+               return NT_STATUS_OK;
+       }
+
        *pp_alias_rids = TALLOC_ARRAY(mem_ctx, uint32, num_alias_sids);
        if (*pp_alias_rids == NULL)
                return NT_STATUS_NO_MEMORY;
 
-       *p_num_alias_rids = 0;
-
        for (i=0; i<num_alias_sids; i++) {
                if (!sid_peek_check_rid(domain_sid, &alias_sids[i],
                                        &(*pp_alias_rids)[*p_num_alias_rids]))

Reply via email to