summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixInit.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2011-05-10 16:05:48 (GMT)
committerdgp <dgp@users.sourceforge.net>2011-05-10 16:05:48 (GMT)
commit8b55adfd6cb802445c043214a0dcec65d8ecfcf1 (patch)
tree1ca2feda250662282a8e77080fef123d9256b839 /unix/tclUnixInit.c
parent29128e81d21dcc942fc8410424255017004b36ac (diff)
downloadtcl-8b55adfd6cb802445c043214a0dcec65d8ecfcf1.zip
tcl-8b55adfd6cb802445c043214a0dcec65d8ecfcf1.tar.gz
tcl-8b55adfd6cb802445c043214a0dcec65d8ecfcf1.tar.bz2
Completed patch with mucho comments. Merge 8.5.
Diffstat (limited to 'unix/tclUnixInit.c')
-rw-r--r--unix/tclUnixInit.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/unix/tclUnixInit.c b/unix/tclUnixInit.c
index a798ccb..5111746 100644
--- a/unix/tclUnixInit.c
+++ b/unix/tclUnixInit.c
@@ -1092,9 +1092,19 @@ TclpGetCStackParams(
if (stackGrowsDown) {
tsdPtr->stackBound = (int *) ((char *)tsdPtr->outerVarPtr -
stackSize);
+ if (tsdPtr->stackBound > tsdPtr->outerVarPtr) {
+ /* Overflow, that should never happen, just set it to NULL.
+ * See [Bug #3166410] */
+ tsdPtr->stackBound = NULL;
+ }
} else {
tsdPtr->stackBound = (int *) ((char *)tsdPtr->outerVarPtr +
stackSize);
+ if (tsdPtr->stackBound < tsdPtr->outerVarPtr) {
+ /* Overflow, that should never happen, just set it to NULL.
+ * See [Bug #3166410] */
+ tsdPtr->stackBound = NULL;
+ }
}
}