summaryrefslogtreecommitdiff
path: root/libcli
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2017-01-18 16:43:35 +0100
committerJeremy Allison <jra@samba.org>2017-01-23 22:46:13 +0100
commita3737ef6bca739952e72e9df7a96a5dd74eea2ac (patch)
tree279e6df789ae4830d84218c97075642c6fb9de13 /libcli
parent18332a1743401d0ddefce879ba1ca97bddbeba29 (diff)
downloadsamba-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')
-rw-r--r--libcli/security/util_sid.c8
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;