diff options
| author | apnadkarni <apnmbx-wits@yahoo.com> | 2023-09-05 07:02:39 (GMT) |
|---|---|---|
| committer | apnadkarni <apnmbx-wits@yahoo.com> | 2023-09-05 07:02:39 (GMT) |
| commit | 5a68be155bf81c58e4dc4362faa31ddde852a245 (patch) | |
| tree | 288cafb2a0e52efe0ff9dabd48c55631fdda65de /generic/tclStringObj.c | |
| parent | c2226f346edb12e40c923a00b375e70834ee3198 (diff) | |
| parent | 1de4b18af94b1835fbaf130e84d9115bb2f387b0 (diff) | |
| download | tcl-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.c | 3 |
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]; } |
