1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
commit b5fcd968ec90c01d077f1d4884a38379c0981e65
Author: Steve Bennett <steveb@workware.net.au>
Date: Sun Jan 29 08:29:24 2012 +1000
Space allocated for exec env may be one byte short
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Reported-by: af123 <jimdevel@hummypkg.org.uk>
diff --git a/jim-exec.c b/jim-exec.c
index 7da97dc..e22c220 100644
--- a/jim-exec.c
+++ b/jim-exec.c
@@ -255,12 +255,11 @@ static char **JimBuildEnv(Jim_Interp *interp)
if (num % 2) {
num--;
}
- size = Jim_Length(objPtr);
/* We need one \0 and one equal sign for each element.
* A list has at least one space for each element except the first.
- * We only need one extra char for the extra null terminator.
+ * We need one extra char for the extra null terminator and one for the equal sign.
*/
- size++;
+ size = Jim_Length(objPtr) + 2;
envptr = Jim_Alloc(sizeof(*envptr) * (num / 2 + 1) + size);
envdata = (char *)&envptr[num / 2 + 1];
|