From 3342a53c0f20af2f255152bc9077294e18376b09 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 29 Nov 2004 03:19:28 +0000 Subject: r3988: made dom_sid_add_rid() allocate the new sid with proper parent/child talloc relationship (This used to be commit 5db0eb1fe3abb5150bef27bfed4b7da723e4a287) --- source4/libcli/security/dom_sid.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'source4') diff --git a/source4/libcli/security/dom_sid.c b/source4/libcli/security/dom_sid.c index dbd03108e4..108e2f5500 100644 --- a/source4/libcli/security/dom_sid.c +++ b/source4/libcli/security/dom_sid.c @@ -217,7 +217,8 @@ struct dom_sid *dom_sid_dup(TALLOC_CTX *mem_ctx, const struct dom_sid *dom_sid) } /* - add a rid to a domain dom_sid to make a full dom_sid + add a rid to a domain dom_sid to make a full dom_sid. This function + returns a new sid in the suppplied memory context */ struct dom_sid *dom_sid_add_rid(TALLOC_CTX *mem_ctx, const struct dom_sid *domain_sid, @@ -229,14 +230,15 @@ struct dom_sid *dom_sid_add_rid(TALLOC_CTX *mem_ctx, if (!sid) return NULL; *sid = *domain_sid; - /*TODO: use realloc! */ - sid->sub_auths = talloc_array_p(mem_ctx, uint32_t, sid->num_auths+1); + + sid->sub_auths = talloc_array_p(sid, uint32_t, sid->num_auths+1); if (!sid->sub_auths) { return NULL; } memcpy(sid->sub_auths, domain_sid->sub_auths, sid->num_auths*sizeof(uint32_t)); sid->sub_auths[sid->num_auths] = rid; sid->num_auths++; + return sid; } -- cgit