r4206: fixed a status code check in lsa_LookupNames2 that could cause a segv
authorAndrew Tridgell <tridge@samba.org>
Tue, 14 Dec 2004 22:18:33 +0000 (22:18 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:07:26 +0000 (13:07 -0500)
(This used to be commit 31ab04f790ff4349dbc8a24c07fa35e10b831baf)

source4/rpc_server/lsa/dcesrv_lsa.c

index 22e108d5380f2920354b6cb8594c15ee4b3fc8a5..5b1323dcff8c50b82446c79ab16ed8e68e997e06 100644 (file)
@@ -691,8 +691,9 @@ static NTSTATUS lsa_OpenAccount(struct dcesrv_call_state *dce_call, TALLOC_CTX *
 /* 
   lsa_EnumPrivsAccount 
 */
-static NTSTATUS lsa_EnumPrivsAccount(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct lsa_EnumPrivsAccount *r)
+static NTSTATUS lsa_EnumPrivsAccount(struct dcesrv_call_state *dce_call, 
+                                    TALLOC_CTX *mem_ctx,
+                                    struct lsa_EnumPrivsAccount *r)
 {
        DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
 }
@@ -1375,7 +1376,7 @@ static NTSTATUS lsa_LookupNames2(struct dcesrv_call_state *dce_call,
                r->out.sids->sids[i].unknown     = 0;
 
                status2 = lsa_lookup_name(state, mem_ctx, name, &sid, &atype);
-               if (!NT_STATUS_IS_OK(status) || sid->num_auths == 0) {
+               if (!NT_STATUS_IS_OK(status2) || sid->num_auths == 0) {
                        status = STATUS_SOME_UNMAPPED;
                        continue;
                }