summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2013-06-26 20:13:57 (GMT)
committerdgp <dgp@users.sourceforge.net>2013-06-26 20:13:57 (GMT)
commita9f49cd7815224e395b3a97cbc9d94ae1b789960 (patch)
tree15cf45d4cf45d83d1ce0d4aba51644f981f528a8
parentb3fea91162587f3d2f9cfb34de5bc0a6272a609e (diff)
downloadtcl-a9f49cd7815224e395b3a97cbc9d94ae1b789960.zip
tcl-a9f49cd7815224e395b3a97cbc9d94ae1b789960.tar.gz
tcl-a9f49cd7815224e395b3a97cbc9d94ae1b789960.tar.bz2
Stop buffer overrun into undefined values detected by valgrind.
-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;
}