svn commit: samba r2616 - in branches/SAMBA_4_0/source/smb_server: .

tridge at samba.org tridge at samba.org
Sat Sep 25 08:08:13 GMT 2004


Author: tridge
Date: 2004-09-25 08:08:12 +0000 (Sat, 25 Sep 2004)
New Revision: 2616

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/smb_server&rev=2616&nolog=1

Log:
the cascading nature of talloc_free() can lead to some surprises. In
this case the bug was that server_terminate_connection() destroys the
server context, which in turn cascades down to destroy all current
request contexts, so we musn't then try to destroy the request
structure a second time.

Modified:
   branches/SAMBA_4_0/source/smb_server/request.c


Changeset:
Modified: branches/SAMBA_4_0/source/smb_server/request.c
===================================================================
--- branches/SAMBA_4_0/source/smb_server/request.c	2004-09-25 08:04:54 UTC (rev 2615)
+++ branches/SAMBA_4_0/source/smb_server/request.c	2004-09-25 08:08:12 UTC (rev 2616)
@@ -261,6 +261,7 @@
 	status = socket_send(req->smb_conn->connection->socket, req, &tmp_blob, &sendlen, SOCKET_FLAG_BLOCK);
 	if (!NT_STATUS_IS_OK(status) || (req->out.size != sendlen)) {
 		smbsrv_terminate_connection(req->smb_conn, "failed to send reply\n");
+		return;
 	}
 
 	req_destroy(req);



More information about the samba-cvs mailing list