summaryrefslogtreecommitdiffstats
path: root/generic/tclStringObj.c
diff options
context:
space:
mode:
authorapnadkarni <apnmbx-wits@yahoo.com>2023-09-05 06:42:31 (GMT)
committerapnadkarni <apnmbx-wits@yahoo.com>2023-09-05 06:42:31 (GMT)
commit1de4b18af94b1835fbaf130e84d9115bb2f387b0 (patch)
treeefd2e16200a03f7cd625482d63a10a3e958b23f0 /generic/tclStringObj.c
parente1edaf47153bf88f19d2def15b703e510006fde7 (diff)
parent381c827ae8477c27cb4291cb0fa9c5f84581730c (diff)
downloadtcl-1de4b18af94b1835fbaf130e84d9115bb2f387b0.zip
tcl-1de4b18af94b1835fbaf130e84d9115bb2f387b0.tar.gz
tcl-1de4b18af94b1835fbaf130e84d9115bb2f387b0.tar.bz2
Merge 8.6 - 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 490ddf9..251cf66 100644
--- a/generic/tclStringObj.c
+++ b/generic/tclStringObj.c
@@ -862,6 +862,9 @@ TclGetUniChar(
if (stringPtr->numChars == -1) {
TclNumUtfCharsM(stringPtr->numChars, objPtr->bytes, objPtr->length);
}
+ if (index >= stringPtr->numChars) {
+ return -1;
+ }
if (stringPtr->numChars == objPtr->length) {
return (unsigned char) objPtr->bytes[index];
}