aboutsummaryrefslogtreecommitdiff
path: root/jim-exec.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2012-01-29 08:29:24 +1000
committerSteve Bennett <steveb@workware.net.au>2012-01-29 08:29:24 +1000
commitb5fcd968ec90c01d077f1d4884a38379c0981e65 (patch)
treedbf03ed4a264a74869681134907445a0b5cd5025 /jim-exec.c
parent01cf806d4bc5a87170acbece47d42dd33a092d8d (diff)
downloadjimtcl-b5fcd968ec90c01d077f1d4884a38379c0981e65.zip
jimtcl-b5fcd968ec90c01d077f1d4884a38379c0981e65.tar.gz
jimtcl-b5fcd968ec90c01d077f1d4884a38379c0981e65.tar.bz2
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>
Diffstat (limited to 'jim-exec.c')
-rw-r--r--jim-exec.c5
1 files changed, 2 insertions, 3 deletions
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];