svn commit: samba r11872 - in branches/SAMBA_4_0/source/librpc/rpc: .

tridge at samba.org tridge at samba.org
Wed Nov 23 07:33:10 GMT 2005


Author: tridge
Date: 2005-11-23 07:33:09 +0000 (Wed, 23 Nov 2005)
New Revision: 11872

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=11872

Log:

another attempt at fixing the data_blob_free in async dcerpc bind,
after volker gently pointed out that I should be wearing a paper bag
over my head for the last attempt :-)

Modified:
   branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c


Changeset:
Modified: branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c
===================================================================
--- branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c	2005-11-23 00:51:24 UTC (rev 11871)
+++ branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c	2005-11-23 07:33:09 UTC (rev 11872)
@@ -565,15 +565,19 @@
 	}
 
 	switch (pkt.ptype) {
-	case DCERPC_PKT_BIND_ACK:
 	case DCERPC_PKT_BIND_NAK:
-		dcerpc_bind_recv_data(conn, &pkt);
-		data_blob_free(blob);
+	case DCERPC_PKT_BIND_ACK:
+		if (conn->bind_private) {
+			talloc_steal(conn->bind_private, blob->data);
+			dcerpc_bind_recv_data(conn, &pkt);
+		}
 		break;
 
 	case DCERPC_PKT_ALTER_RESP:
-		dcerpc_alter_recv_data(conn, &pkt);
-		data_blob_free(blob);
+		if (conn->alter_private) {
+			talloc_steal(conn->alter_private, blob->data);
+			dcerpc_alter_recv_data(conn, &pkt);
+		}
 		break;
 
 	default:
@@ -592,10 +596,6 @@
 	struct composite_context *c;
 	struct dcerpc_pipe *pipe;
 
-	if (conn->bind_private == NULL) {
-		/* it timed out earlier */
-		return;
-	}
 	c = talloc_get_type(conn->bind_private, struct composite_context);
 	pipe = talloc_get_type(c->private_data, struct dcerpc_pipe);
 
@@ -1526,11 +1526,6 @@
 	struct composite_context *c;
 	struct dcerpc_pipe *pipe;
 
-	if (conn->alter_private == NULL) {
-		/* it timed out earlier */
-		return;
-	}
-
 	c = talloc_get_type(conn->alter_private, struct composite_context);
 	pipe = talloc_get_type(c->private_data, struct dcerpc_pipe);
 



More information about the samba-cvs mailing list