From: Volker Lendecke Date: Tue, 24 Jul 2007 11:48:35 +0000 (+0000) Subject: r24033: We need to be able to cope with packet_handler calling itself X-Git-Tag: samba-4.0.0alpha6~801^2~5255 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=798fc28a6a1c660ea65cfd56c4c50ab425b728cd;p=thirdparty%2Fsamba.git r24033: We need to be able to cope with packet_handler calling itself recursively (This used to be commit b74797a31eae1c59c1a23934a3302987de9ab87c) --- diff --git a/source3/lib/packet.c b/source3/lib/packet.c index d63ca2ef277..a3a33643ff8 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; }