r10373: Fix segfault in LookupSids.
authorAndrew Bartlett <abartlet@samba.org>
Wed, 21 Sep 2005 00:27:10 +0000 (00:27 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:38:33 +0000 (13:38 -0500)
Andrew Bartlett
(This used to be commit ddc3a1c79e80e12296c398c42110fc378fb80e00)

source4/rpc_server/lsa/dcesrv_lsa.c

index 2e3f42b272e4622b7d99e156ba1791141a34cf05..4222447f0193cb6e62456e9ab814ea55290a3b53 100644 (file)
@@ -1245,6 +1245,7 @@ static NTSTATUS lsa_LookupSids(struct dcesrv_call_state *dce_call, TALLOC_CTX *m
        r3.in.unknown1 = 0;
        r3.in.unknown2 = 0;
        r3.out.count   = r->out.count;
+       r3.out.names   = NULL;
 
        status = lsa_LookupSids3(dce_call, mem_ctx, &r3);
        if (dce_call->fault_code != 0) {
@@ -1252,6 +1253,11 @@ static NTSTATUS lsa_LookupSids(struct dcesrv_call_state *dce_call, TALLOC_CTX *m
        }
 
        r->out.domains = r3.out.domains;
+       if (!r3.out.names) {
+               r->out.names = NULL;
+               return status;
+       }
+
        r->out.names = talloc(mem_ctx, struct lsa_TransNameArray);
        if (r->out.names == NULL) {
                return NT_STATUS_NO_MEMORY;