summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-09-15 21:50:36 +1000
committerAndrew Tridgell <tridge@samba.org>2010-09-15 23:08:18 +1000
commite7f21fa9418aaaee81ddf16f444ba318f7c2b03e (patch)
tree936e70dc545288f9915b897c42b83f9cceaec1b1 /source4
parent9a7d1b1e970f522a1fea655918116b6a8eb50521 (diff)
downloadsamba-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.c2
-rw-r--r--source4/rpc_server/remote/dcesrv_remote.c1
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;