Tcl Source Code

Check-in [c7100a073b]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix for issue [ec06d0db3225afca].
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-branch
Files: files | file ages | folders
SHA3-256: c7100a073ba1e0b86bae96844530dc72a65fbbad42fef37a05807f985316a687
User & Date: pooryorick 2021-04-20 10:29:16
References
2021-04-20
11:34 Ticket [ec06d0db32] Tcl_AppendObjToObj and Tcl_GetUnicode lead to Valgrind "Invalid read of size". status still Closed with 5 other changes artifact: 9986986bb1 user: pooryorick
Context
2021-04-20
13:45
Fixes for Valgrind issues similar to [ec06d0db3225afca]. check-in: ec5b3d21f9 user: pooryorick tags: core-8-branch
11:15
Merge 8.7 check-in: 96b6edd8ee user: jan.nijtmans tags: trunk, main
10:29
Fix for issue [ec06d0db3225afca]. check-in: c7100a073b user: pooryorick tags: core-8-branch
2021-04-19
16:34
Merge 8.6 check-in: a3599d9b25 user: jan.nijtmans tags: core-8-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tclStringObj.c.

1426
1427
1428
1429
1430
1431
1432

1433
1434
1435
1436
1437
1438
1439
    stringPtr = GET_STRING(objPtr);

    /* If appended string starts with a continuation byte or a lower surrogate,
     * force objPtr to unicode representation. See [7f1162a867]
     * This fixes append-3.4, append-3.7 and utf-1.18 testcases. */
    if (ISCONTINUATION(TclGetString(appendObjPtr))) {
	Tcl_GetUnicode(objPtr);

    }
    /*
     * If objPtr has a valid Unicode rep, then get a Unicode string from
     * appendObjPtr and append it.
     */

    if (stringPtr->hasUnicode) {







>







1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
    stringPtr = GET_STRING(objPtr);

    /* If appended string starts with a continuation byte or a lower surrogate,
     * force objPtr to unicode representation. See [7f1162a867]
     * This fixes append-3.4, append-3.7 and utf-1.18 testcases. */
    if (ISCONTINUATION(TclGetString(appendObjPtr))) {
	Tcl_GetUnicode(objPtr);
	stringPtr = GET_STRING(objPtr);
    }
    /*
     * If objPtr has a valid Unicode rep, then get a Unicode string from
     * appendObjPtr and append it.
     */

    if (stringPtr->hasUnicode) {