dcerpc: use anon creds for unknown transport master
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Wed, 10 Jul 2019 04:24:46 +0000 (16:24 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 22 Jul 2019 23:37:56 +0000 (23:37 +0000)
Otherwise we get a segfault when the NULL creds are dereferenced in cli_credentials_is_anonymous()

 $  python3 -c"from samba.dcerpc.dnsserver import dnsserver; d = dnsserver('addc')"

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Mon Jul 22 23:37:57 UTC 2019 on sn-devel-184

source4/librpc/rpc/dcerpc_connect.c

index c23e85e7cb1933307b888645681db9dc114ec401..f7656e5d7cdcad74101150e46d1713dfec23e0a1 100644 (file)
@@ -1069,6 +1069,11 @@ _PUBLIC_ struct composite_context* dcerpc_pipe_connect_b_send(TALLOC_CTX *parent
                epm_creds = credentials;
                break;
        default:
+               DBG_INFO("Unknown transport; continuing with anon, no endpoint.\n");
+               epm_creds = cli_credentials_init_anon(s);
+               if (composite_nomem(epm_creds, c)){
+                       return c;
+               }
                break;
        }