From cb24a0c24f79adc6d3646cbd5b63005029e8fa0c Mon Sep 17 00:00:00 2001
From: frsyuki <frsyuki@users.sourceforge.jp>
Date: Sun, 1 Mar 2009 03:39:34 +0900
Subject: [PATCH] fix msgpack_unpacker_expand_buffer

---
 c/unpack.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/c/unpack.c b/c/unpack.c
index f1b3bb1f..08fd6cbf 100644
--- a/c/unpack.c
+++ b/c/unpack.c
@@ -283,6 +283,8 @@ bool msgpack_unpacker_expand_buffer(msgpack_unpacker* mpac, size_t size)
 
 		init_count(tmp);
 
+		memcpy(tmp+COUNTER_SIZE, mpac->buffer+mpac->off, not_parsed);
+
 		if(CTX_REFERENCED(mpac)) {
 			if(!msgpack_zone_push_finalizer(mpac->z, decl_count, mpac->buffer)) {
 				free(tmp);
@@ -293,8 +295,6 @@ bool msgpack_unpacker_expand_buffer(msgpack_unpacker* mpac, size_t size)
 			decl_count(mpac->buffer);
 		}
 
-		memcpy(tmp+COUNTER_SIZE, mpac->buffer+mpac->off, not_parsed);
-
 		mpac->buffer = tmp;
 		mpac->used = not_parsed + COUNTER_SIZE;
 		mpac->free = next_size - mpac->used;