diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2022-03-30 12:13:01 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2022-03-30 12:13:01 (GMT) |
| commit | b1a8dc460f2e7f8a7ff436f52729f729ead3b92d (patch) | |
| tree | b438ec0e5fe643dccf1a5b25468da0140fedbde2 /generic/tclStringObj.c | |
| parent | 60e9b38dfbeb8b382fd60528363fe726331ac4db (diff) | |
| download | tcl-b1a8dc460f2e7f8a7ff436f52729f729ead3b92d.zip tcl-b1a8dc460f2e7f8a7ff436f52729f729ead3b92d.tar.gz tcl-b1a8dc460f2e7f8a7ff436f52729f729ead3b92d.tar.bz2 | |
Fix limit-checking on first/last arguments for Tcl_GetRange(). Was not correctly forward-merged from core-8-branch (there it's correct)
Diffstat (limited to 'generic/tclStringObj.c')
| -rw-r--r-- | generic/tclStringObj.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c index 2755cf6..da3f8ee 100644 --- a/generic/tclStringObj.c +++ b/generic/tclStringObj.c @@ -674,9 +674,6 @@ Tcl_GetRange( if (first == TCL_INDEX_NONE) { first = TCL_INDEX_START; } - if (last + 2 <= first + 1) { - return Tcl_NewObj(); - } /* * Optimize the case where we're really dealing with a bytearray object @@ -689,7 +686,7 @@ Tcl_GetRange( if (last >= length) { last = length - 1; } - if (last < first) { + if (last + 1 < first + 1) { TclNewObj(newObjPtr); return newObjPtr; } @@ -715,7 +712,7 @@ Tcl_GetRange( if (last >= stringPtr->numChars) { last = stringPtr->numChars - 1; } - if (last < first) { + if (last + 1 < first + 1) { TclNewObj(newObjPtr); return newObjPtr; } @@ -736,7 +733,7 @@ Tcl_GetRange( if (last >= stringPtr->numChars) { last = stringPtr->numChars - 1; } - if (last < first) { + if (last + 1 < first + 1) { TclNewObj(newObjPtr); return newObjPtr; } |
