summaryrefslogtreecommitdiffstats
path: root/generic/tclOptimize.c
diff options
context:
space:
mode:
authordgp@users.sourceforge.net <dgp>2013-06-26 20:13:57 (GMT)
committerdgp@users.sourceforge.net <dgp>2013-06-26 20:13:57 (GMT)
commitd061e9e8b8bb4ddb7ba6a05ab3b9a4ba1fd3da3d (patch)
tree15cf45d4cf45d83d1ce0d4aba51644f981f528a8 /generic/tclOptimize.c
parent8c431943e8d6c6dac3cb1711cac92d3286a67d4d (diff)
downloadtcl-d061e9e8b8bb4ddb7ba6a05ab3b9a4ba1fd3da3d.zip
tcl-d061e9e8b8bb4ddb7ba6a05ab3b9a4ba1fd3da3d.tar.gz
tcl-d061e9e8b8bb4ddb7ba6a05ab3b9a4ba1fd3da3d.tar.bz2
Stop buffer overrun into undefined values detected by valgrind.
Diffstat (limited to 'generic/tclOptimize.c')
-rw-r--r--generic/tclOptimize.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/generic/tclOptimize.c b/generic/tclOptimize.c
index cd37a6a..b7f4173 100644
--- a/generic/tclOptimize.c
+++ b/generic/tclOptimize.c
@@ -212,7 +212,8 @@ ConvertZeroEffectToNOP(
int blank = 0, i, nextInst;
size = AddrLength(currentInstPtr);
- while (*(currentInstPtr+size) == INST_NOP) {
+ while ((currentInstPtr + size < envPtr->codeNext)
+ && *(currentInstPtr+size) == INST_NOP) {
if (IsTargetAddress(&targets, currentInstPtr + size)) {
break;
}