Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | (TclFileAttrsCmd): Added commands to reset the typePtr of the Tcl_Obj* whose int-rep was just purged. Required to prevent a dangling IndexRep* to reused, smashing the heap. See also the entries at 2011-04-16 and 2011-03-24 for the history of the problem.
Note also bug 2857044. This is the original report and fix of such issues for HEAD. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | core-8-5-branch |
Files: | files | file ages | folders |
SHA1: |
20a3aedb2aca31b866e0d6bf35a44d02 |
User & Date: | andreask 2011-04-20 17:51:02 |
Original Comment: | (TclFileAttrsCmd): Added commands to reset the typePtr of the Tcl_Obj* whose int-rep was just purged. Required to prevent a dangling IndexRep* to reused, smashing the heap. See also the entries at 2011-04-16 and 2011-03-24 for the history of the problem. |
Context
2011-04-20
| ||
22:05 |
Support cross-compilation to x64 from ix86 hosts when using NMAKE.
Part of the build uses tclsh to ... check-in: c8fe7da5db user: patthoyts tags: core-8-5-branch | |
19:29 | Merge marker check-in: 7434f28679 user: andreask tags: trunk | |
17:52 | (TclFileAttrsCmd): Added commands to reset the typePtr of the Tcl_Obj* whose int-rep was just purged... check-in: c39553c370 user: andreask tags: mistake | |
17:51 | (TclFileAttrsCmd): Added commands to reset the typePtr of the Tcl_Obj* whose int-rep was just purged... check-in: 20a3aedb2a user: andreask tags: core-8-5-branch | |
13:12 | merge mark check-in: 87bf0849b4 user: dgp tags: core-8-5-branch | |
Changes
Changes to ChangeLog.
1 2 3 4 5 6 7 | 2011-04-19 Don Porter <[email protected]> * generic/tclConfig.c: Reduce internals access in the implementation of [<foo>::pkgconfig list]. 2011-04-18 Don Porter <[email protected]> | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 2011-04-20 Andreas Kupries <[email protected]> * generic/tclFCmd.c (TclFileAttrsCmd): Added commands to reset the typePtr of the Tcl_Obj* whose int-rep was just purged. Required to prevent a dangling IndexRep* to reused, smashing the heap. See also the entries at 2011-04-16 and 2011-03-24 for the history of the problem. 2011-04-19 Don Porter <[email protected]> * generic/tclConfig.c: Reduce internals access in the implementation of [<foo>::pkgconfig list]. 2011-04-18 Don Porter <[email protected]> |
︙ | ︙ |
Changes to generic/tclFCmd.c.
︙ | ︙ | |||
1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 | if (Tcl_GetIndexFromObj(interp, objv[0], attributeStrings, "option", 0, &index) != TCL_OK) { goto end; } if (didAlloc) { TclFreeIntRep(objv[0]); } if (Tcl_FSFileAttrsGet(interp, index, filePtr, &objPtr) != TCL_OK) { goto end; } Tcl_SetObjResult(interp, objPtr); } else { | > | 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 | if (Tcl_GetIndexFromObj(interp, objv[0], attributeStrings, "option", 0, &index) != TCL_OK) { goto end; } if (didAlloc) { TclFreeIntRep(objv[0]); objv[0]->typePtr = NULL; } if (Tcl_FSFileAttrsGet(interp, index, filePtr, &objPtr) != TCL_OK) { goto end; } Tcl_SetObjResult(interp, objPtr); } else { |
︙ | ︙ | |||
1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 | for (i = 0; i < objc ; i += 2) { if (Tcl_GetIndexFromObj(interp, objv[i], attributeStrings, "option", 0, &index) != TCL_OK) { goto end; } if (didAlloc) { TclFreeIntRep(objv[i]); } if (i + 1 == objc) { Tcl_AppendResult(interp, "value for \"", TclGetString(objv[i]), "\" missing", NULL); goto end; } if (Tcl_FSFileAttrsSet(interp, index, filePtr, | > | 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 | for (i = 0; i < objc ; i += 2) { if (Tcl_GetIndexFromObj(interp, objv[i], attributeStrings, "option", 0, &index) != TCL_OK) { goto end; } if (didAlloc) { TclFreeIntRep(objv[i]); objv[i]->typePtr = NULL; } if (i + 1 == objc) { Tcl_AppendResult(interp, "value for \"", TclGetString(objv[i]), "\" missing", NULL); goto end; } if (Tcl_FSFileAttrsSet(interp, index, filePtr, |
︙ | ︙ |