diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-09-15 21:50:36 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-09-15 23:08:18 +1000 |
commit | e7f21fa9418aaaee81ddf16f444ba318f7c2b03e (patch) | |
tree | 936e70dc545288f9915b897c42b83f9cceaec1b1 /source4 | |
parent | 9a7d1b1e970f522a1fea655918116b6a8eb50521 (diff) | |
download | samba-e7f21fa9418aaaee81ddf16f444ba318f7c2b03e.tar.gz samba-e7f21fa9418aaaee81ddf16f444ba318f7c2b03e.tar.bz2 samba-e7f21fa9418aaaee81ddf16f444ba318f7c2b03e.zip |
s4-rpcserver: set unbind method to NULL in remote server
this prevents a possible crash on disconnect
Diffstat (limited to 'source4')
-rw-r--r-- | source4/rpc_server/dcerpc_server.c | 2 | ||||
-rw-r--r-- | source4/rpc_server/remote/dcesrv_remote.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c index 9103923b3e..09b9b2ac0a 100644 --- a/source4/rpc_server/dcerpc_server.c +++ b/source4/rpc_server/dcerpc_server.c @@ -554,7 +554,7 @@ static int dcesrv_connection_context_destructor(struct dcesrv_connection_context { DLIST_REMOVE(c->conn->contexts, c); - if (c->iface) { + if (c->iface && c->iface->unbind) { c->iface->unbind(c, c->iface); } diff --git a/source4/rpc_server/remote/dcesrv_remote.c b/source4/rpc_server/remote/dcesrv_remote.c index 23c873799b..bdb3693335 100644 --- a/source4/rpc_server/remote/dcesrv_remote.c +++ b/source4/rpc_server/remote/dcesrv_remote.c @@ -322,6 +322,7 @@ static bool remote_fill_interface(struct dcesrv_interface *iface, const struct n iface->syntax_id = if_tabl->syntax_id; iface->bind = remote_op_bind; + iface->unbind = NULL; iface->ndr_pull = remote_op_ndr_pull; iface->dispatch = remote_op_dispatch; |