From 798fc28a6a1c660ea65cfd56c4c50ab425b728cd Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 24 Jul 2007 11:48:35 +0000 Subject: r24033: We need to be able to cope with packet_handler calling itself recursively (This used to be commit b74797a31eae1c59c1a23934a3302987de9ab87c) --- source3/lib/packet.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source3/lib/packet.c b/source3/lib/packet.c index d63ca2ef27..a3a33643ff 100644 --- a/source3/lib/packet.c +++ b/source3/lib/packet.c @@ -136,15 +136,16 @@ BOOL packet_handler(struct packet_context *ctx, SMB_ASSERT(length <= ctx->in.length); - data.data = ctx->in.data; - data.length = length; - - *status = callback(&data, private_data); + data = data_blob(ctx->in.data, length); memmove(ctx->in.data, ctx->in.data + length, ctx->in.length - length); ctx->in.length -= length; + *status = callback(&data, private_data); + + data_blob_free(&data); + return True; } -- cgit