diff options
author | Douglas Bagnall <douglas.bagnall@catalyst.net.nz> | 2019-05-22 12:58:01 +1200 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2019-06-19 07:01:12 +0000 |
commit | 7ea74d55ad55027118ca8b32596f32ac4182dce6 (patch) | |
tree | 2f5d8920b6dbe2334c84ee2ebc368a1a5bedc311 /source4 | |
parent | f04260ce02cb3c5effd7f9866bcc332d061c25f4 (diff) | |
download | samba-7ea74d55ad55027118ca8b32596f32ac4182dce6.tar.gz |
CVE-2019-12435 rpc/dns: avoid NULL deference if zone not found in DnssrvOperation
We still want to return DOES_NOT_EXIST when request_filter is not 0.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13922
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4')
-rw-r--r-- | source4/rpc_server/dnsserver/dcerpc_dnsserver.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c index 62a74127ecf..3bc6e2e3450 100644 --- a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c +++ b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c @@ -2027,7 +2027,12 @@ static WERROR dcesrv_DnssrvOperation(struct dcesrv_call_state *dce_call, TALLOC_ &r->in.pData); } else { z = dnsserver_find_zone(dsstate->zones, r->in.pszZone); - if (z == NULL && request_filter == 0) { + /* + * In the case that request_filter is not 0 and z is NULL, + * the request is for a multizone operation, which we do not + * yet support, so just error on NULL zone name. + */ + if (z == NULL) { return WERR_DNS_ERROR_ZONE_DOES_NOT_EXIST; } |