summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2013-09-22 00:25:55 +0200
committerStefan Metzmacher <metze@samba.org>2014-01-07 08:37:35 +0100
commita0f781cca4fbe9ce462d4b400e18f4fca3470f1f (patch)
tree2160e6bc0293afa3c18307656f448f42aecbdc5a
parentb61f71730f579ad0b87b299a792a14b8703b91f9 (diff)
downloadsamba-a0f781cca4fbe9ce462d4b400e18f4fca3470f1f.tar.gz
samba-a0f781cca4fbe9ce462d4b400e18f4fca3470f1f.tar.xz
samba-a0f781cca4fbe9ce462d4b400e18f4fca3470f1f.zip
s4:librpc: fix memory leaks in dcerpc_request_recv_data()
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
-rw-r--r--source4/librpc/rpc/dcerpc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c
index fb096d13626..1412dba20d1 100644
--- a/source4/librpc/rpc/dcerpc.c
+++ b/source4/librpc/rpc/dcerpc.c
@@ -1471,6 +1471,7 @@ static void dcerpc_request_recv_data(struct dcecli_connection *c,
}
if (!(pkt->pfc_flags & DCERPC_PFC_FLAG_LAST)) {
+ data_blob_free(raw_packet);
c->transport.send_read(c);
return;
}
@@ -1481,8 +1482,9 @@ static void dcerpc_request_recv_data(struct dcecli_connection *c,
req->flags &= ~DCERPC_PULL_BIGENDIAN;
}
-
req_done:
+ data_blob_free(raw_packet);
+
/* we've got the full payload */
dcerpc_req_dequeue(req);
req->state = RPC_REQUEST_DONE;