diff -ruN mpack-1.5/decode.c mpack/decode.c
--- decode.c	Fri Feb 17 08:39:44 1995
+++ decode.c	Thu Nov  1 10:40:23 2001
@@ -467,6 +467,7 @@
 	    if (!--left) {
 		alloced += VALUEGROWSIZE;
 		value = xrealloc(value, alloced);
+		left = VALUEGROWSIZE;
 		to = value + alloced - left - 2;
 	    }
 	    if (*from == '\\') {
@@ -483,6 +484,7 @@
 	    if (!--left) {
 		alloced += VALUEGROWSIZE;
 		value = xrealloc(value, alloced);
+		left = VALUEGROWSIZE;
 		to = value + alloced - left - 2;
 	    }
 	    *to++ = *from++;
@@ -572,6 +574,7 @@
 	    if (!--left) {
 		alloced += VALUEGROWSIZE;
 		value = xrealloc(value, alloced);
+		left = VALUEGROWSIZE;
 		to = value + alloced - left - 2;
 	    }
 	    if (*disposition == '\\') {
@@ -589,6 +592,7 @@
 	    if (!--left) {
 		alloced += VALUEGROWSIZE;
 		value = xrealloc(value, alloced);
+		left = VALUEGROWSIZE;
 		to = value + alloced - left - 2;
 	    }
 	    *to++ = *disposition++;
