summaryrefslogtreecommitdiffstats
path: root/generic/tclArithSeries.c
diff options
context:
space:
mode:
authorapnadkarni <apnmbx-wits@yahoo.com>2022-11-05 09:27:11 (GMT)
committerapnadkarni <apnmbx-wits@yahoo.com>2022-11-05 09:27:11 (GMT)
commitdbfc7435e69aa3a7868caf8625a89647a2e1cd25 (patch)
tree9410cf1b924acdd15f1f15a241f0210ce2031d85 /generic/tclArithSeries.c
parentf768eb3bf2d09ebf310ed07f664dc114e1c1412d (diff)
parent6ab05e04d1c2e4d0a473c114f67d7a8f1cab4dbd (diff)
downloadtcl-dbfc7435e69aa3a7868caf8625a89647a2e1cd25.zip
tcl-dbfc7435e69aa3a7868caf8625a89647a2e1cd25.tar.gz
tcl-dbfc7435e69aa3a7868caf8625a89647a2e1cd25.tar.bz2
Merge core-8-branch
Diffstat (limited to 'generic/tclArithSeries.c')
-rwxr-xr-xgeneric/tclArithSeries.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/generic/tclArithSeries.c b/generic/tclArithSeries.c
index c3c44f3..5c4e5a5 100755
--- a/generic/tclArithSeries.c
+++ b/generic/tclArithSeries.c
@@ -723,9 +723,27 @@ TclArithSeriesObjRange(
return obj;
}
- TclArithSeriesObjIndex(arithSeriesPtr, fromIdx, &startObj);
+ if (TclArithSeriesObjIndex(arithSeriesPtr, fromIdx, &startObj) != TCL_OK) {
+ if (interp) {
+ Tcl_SetObjResult(
+ interp,
+ Tcl_ObjPrintf("index %d is out of bounds 0 to %"
+ TCL_LL_MODIFIER "d", fromIdx, (arithSeriesRepPtr->len-1)));
+ Tcl_SetErrorCode(interp, "TCL", "MEMORY", NULL);
+ }
+ return NULL;
+ }
Tcl_IncrRefCount(startObj);
- TclArithSeriesObjIndex(arithSeriesPtr, toIdx, &endObj);
+ if (TclArithSeriesObjIndex(arithSeriesPtr, toIdx, &endObj) != TCL_OK) {
+ if (interp) {
+ Tcl_SetObjResult(
+ interp,
+ Tcl_ObjPrintf("index %d is out of bounds 0 to %"
+ TCL_LL_MODIFIER "d", fromIdx, (arithSeriesRepPtr->len-1)));
+ Tcl_SetErrorCode(interp, "TCL", "MEMORY", NULL);
+ }
+ return NULL;
+ }
Tcl_IncrRefCount(endObj);
TclArithSeriesObjStep(arithSeriesPtr, &stepObj);
Tcl_IncrRefCount(stepObj);