summaryrefslogtreecommitdiffstats
path: root/generic/tclStringObj.c
diff options
context:
space:
mode:
authorapnadkarni <apnmbx-wits@yahoo.com>2023-09-05 07:02:39 (GMT)
committerapnadkarni <apnmbx-wits@yahoo.com>2023-09-05 07:02:39 (GMT)
commit5a68be155bf81c58e4dc4362faa31ddde852a245 (patch)
tree288cafb2a0e52efe0ff9dabd48c55631fdda65de /generic/tclStringObj.c
parentc2226f346edb12e40c923a00b375e70834ee3198 (diff)
parent1de4b18af94b1835fbaf130e84d9115bb2f387b0 (diff)
downloadtcl-5a68be155bf81c58e4dc4362faa31ddde852a245.zip
tcl-5a68be155bf81c58e4dc4362faa31ddde852a245.tar.gz
tcl-5a68be155bf81c58e4dc4362faa31ddde852a245.tar.bz2
Merge 8.7 - Fix [b5ac3e3786] - Tcl_GetUniChar oob read
Diffstat (limited to 'generic/tclStringObj.c')
-rw-r--r--generic/tclStringObj.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c
index 2e42e98..3e1df0b 100644
--- a/generic/tclStringObj.c
+++ b/generic/tclStringObj.c
@@ -578,6 +578,9 @@ Tcl_GetUniChar(
if (stringPtr->numChars == TCL_INDEX_NONE) {
TclNumUtfCharsM(stringPtr->numChars, objPtr->bytes, objPtr->length);
}
+ if (index >= stringPtr->numChars) {
+ return -1;
+ }
if (stringPtr->numChars == objPtr->length) {
return (unsigned char) objPtr->bytes[index];
}