we need to return NT_STATUS_INVALID_PARAMETER for bad levels in
authorAndrew Tridgell <tridge@samba.org>
Mon, 29 Sep 2008 23:50:46 +0000 (16:50 -0700)
committerAndrew Tridgell <tridge@samba.org>
Mon, 29 Sep 2008 23:50:46 +0000 (16:50 -0700)
lsalookupnames2

source4/rpc_server/lsa/lsa_lookup.c

index 5f080e6da233db4debf14367b13228ee178f1d5e..7bf7d849b746b7b8ae238e219329307e97c12610 100644 (file)
@@ -862,6 +862,11 @@ NTSTATUS dcesrv_lsa_LookupNames2(struct dcesrv_call_state *dce_call,
 
        DCESRV_PULL_HANDLE(h, r->in.handle, LSA_HANDLE_POLICY);
 
+       if (r->in.level < LSA_LOOKUP_NAMES_ALL ||
+           r->in.level > LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC) {
+               return NT_STATUS_INVALID_PARAMETER;
+       }
+
        state = h->data;
 
        r->out.domains = talloc_zero(mem_ctx,  struct lsa_RefDomainList);