samr4: Remove talloc_asprintf leak onto mem_ctx
authorGarming Sam <garming@catalyst.net.nz>
Wed, 11 May 2016 01:02:03 +0000 (13:02 +1200)
committerGarming Sam <garming@samba.org>
Wed, 11 May 2016 01:47:04 +0000 (03:47 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11751

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/rpc_server/samr/dcesrv_samr.c

index 5b6d4a1e8934c91ce2a994971bba25ecde5cc766..25255d32be2fea1935c622103002a23a0f32a8c4 100644 (file)
@@ -1525,7 +1525,7 @@ static NTSTATUS dcesrv_samr_GetAliasMembership(struct dcesrv_call_state *dce_cal
 {
        struct dcesrv_handle *h;
        struct samr_domain_state *d_state;
-       const char *filter;
+       char *filter;
        const char * const attrs[] = { "objectSid", NULL };
        struct ldb_message **res;
        uint32_t i;
@@ -1549,8 +1549,8 @@ static NTSTATUS dcesrv_samr_GetAliasMembership(struct dcesrv_call_state *dce_cal
                dom_sid_string_buf(r->in.sids->sids[i].sid,
                                   membersidstr, sizeof(membersidstr));
 
-               filter = talloc_asprintf(mem_ctx, "%s(member=<SID=%s>)",
-                                        filter, membersidstr);
+               filter = talloc_asprintf_append(filter, "(member=<SID=%s>)",
+                                               membersidstr);
                if (filter == NULL) {
                        return NT_STATUS_NO_MEMORY;
                }