From 46f585e364fc1640cf01ba0c738c6c5559f0b4fd Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 4 Sep 2010 14:10:31 +1000 Subject: libcli/security Use sid_append_rid() in dom_sid_append_rid() This ensures that the maximum number of sub-authorities is respected, otherwise we may run off the end of the array. Andrew Bartlett --- libcli/security/dom_sid.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'libcli') diff --git a/libcli/security/dom_sid.c b/libcli/security/dom_sid.c index f044733316..373f4ae175 100644 --- a/libcli/security/dom_sid.c +++ b/libcli/security/dom_sid.c @@ -272,13 +272,13 @@ struct dom_sid *dom_sid_add_rid(TALLOC_CTX *mem_ctx, { struct dom_sid *sid; - sid = talloc(mem_ctx, struct dom_sid); + sid = dom_sid_dup(mem_ctx, domain_sid); if (!sid) return NULL; - *sid = *domain_sid; - - sid->sub_auths[sid->num_auths] = rid; - sid->num_auths++; + if (!sid_append_rid(sid, rid)) { + talloc_free(sid); + return NULL; + } return sid; } -- cgit