svn commit: samba r6604 - in branches/SAMBA_4_0/source/rpc_server: .
tridge at samba.org
tridge at samba.org
Tue May 3 15:15:35 GMT 2005
Author: tridge
Date: 2005-05-03 15:15:34 +0000 (Tue, 03 May 2005)
New Revision: 6604
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=6604
Log:
solved a memory hierarchy ordering problem that led to crashes on
ncacn_ip_tcp and ncalrpc for the standard process model.
Thanks to Jelmer for noticing this bug!
Modified:
branches/SAMBA_4_0/source/rpc_server/dcerpc_sock.c
Changeset:
Modified: branches/SAMBA_4_0/source/rpc_server/dcerpc_sock.c
===================================================================
--- branches/SAMBA_4_0/source/rpc_server/dcerpc_sock.c 2005-05-03 14:38:14 UTC (rev 6603)
+++ branches/SAMBA_4_0/source/rpc_server/dcerpc_sock.c 2005-05-03 15:15:34 UTC (rev 6604)
@@ -151,7 +151,7 @@
uint16_t port = 1;
NTSTATUS status;
- dcesrv_sock = talloc(dce_ctx, struct dcesrv_socket_context);
+ dcesrv_sock = talloc(event_ctx, struct dcesrv_socket_context);
NT_STATUS_HAVE_NO_MEMORY(dcesrv_sock);
/* remember the endpoint of this socket */
@@ -186,12 +186,12 @@
full_path = talloc_asprintf(dce_ctx, "%s/%s", lp_ncalrpc_dir(), e->ep_description->endpoint);
- dcesrv_sock = talloc(dce_ctx, struct dcesrv_socket_context);
+ dcesrv_sock = talloc(event_ctx, struct dcesrv_socket_context);
NT_STATUS_HAVE_NO_MEMORY(dcesrv_sock);
/* remember the endpoint of this socket */
dcesrv_sock->endpoint = e;
- dcesrv_sock->dcesrv_ctx = dce_ctx;
+ dcesrv_sock->dcesrv_ctx = talloc_reference(dcesrv_sock, dce_ctx);
status = stream_setup_socket(event_ctx, model_ops, &dcesrv_stream_ops,
"unix", full_path, &port, dcesrv_sock);
@@ -217,12 +217,12 @@
port = atoi(e->ep_description->endpoint);
}
- dcesrv_sock = talloc(dce_ctx, struct dcesrv_socket_context);
+ dcesrv_sock = talloc(event_ctx, struct dcesrv_socket_context);
NT_STATUS_HAVE_NO_MEMORY(dcesrv_sock);
/* remember the endpoint of this socket */
dcesrv_sock->endpoint = e;
- dcesrv_sock->dcesrv_ctx = dce_ctx;
+ dcesrv_sock->dcesrv_ctx = talloc_reference(dcesrv_sock, dce_ctx);
status = stream_setup_socket(event_ctx, model_ops, &dcesrv_stream_ops,
"ipv4", address, &port, dcesrv_sock);
More information about the samba-cvs
mailing list