diff options
author | Volker Lendecke <vl@samba.org> | 2017-01-18 16:43:35 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2017-01-23 22:46:13 +0100 |
commit | a3737ef6bca739952e72e9df7a96a5dd74eea2ac (patch) | |
tree | 279e6df789ae4830d84218c97075642c6fb9de13 /libcli/security | |
parent | 18332a1743401d0ddefce879ba1ca97bddbeba29 (diff) | |
download | samba-a3737ef6bca739952e72e9df7a96a5dd74eea2ac.tar.gz |
libcli: Do not overwrite pointer on realloc failure
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'libcli/security')
-rw-r--r-- | libcli/security/util_sid.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libcli/security/util_sid.c b/libcli/security/util_sid.c index 2f3fceba228..2ab47f2db2c 100644 --- a/libcli/security/util_sid.c +++ b/libcli/security/util_sid.c @@ -337,12 +337,14 @@ int sid_compare_domain(const struct dom_sid *sid1, const struct dom_sid *sid2) NTSTATUS add_sid_to_array(TALLOC_CTX *mem_ctx, const struct dom_sid *sid, struct dom_sid **sids, uint32_t *num) { - *sids = talloc_realloc(mem_ctx, *sids, struct dom_sid, - (*num)+1); - if (*sids == NULL) { + struct dom_sid *tmp; + + tmp = talloc_realloc(mem_ctx, *sids, struct dom_sid, (*num)+1); + if (tmp == NULL) { *num = 0; return NT_STATUS_NO_MEMORY; } + *sids = tmp; sid_copy(&((*sids)[*num]), sid); *num += 1; |