]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
r24033: We need to be able to cope with packet_handler calling itself
authorVolker Lendecke <vlendec@samba.org>
Tue, 24 Jul 2007 11:48:35 +0000 (11:48 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:28:58 +0000 (12:28 -0500)
recursively
(This used to be commit b74797a31eae1c59c1a23934a3302987de9ab87c)

source3/lib/packet.c

index d63ca2ef277280a3fa616ecb22890c9523275e29..a3a33643ff87ee8e28d10fe41941282e75fd0a47 100644 (file)
@@ -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;
 }