Tcl Source Code

Check-in [c384751ee6]
Login

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

Overview
Comment:Stop leaking allocated space when objifying a zero-length DString. [Bug 3598150] spotted by afredd.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: c384751ee66cfe0f5be45cf0ae744be6380f59a5
User & Date: ferrieux 2012-12-22 19:05:34
Context
2012-12-23
08:17
Change back to using an isDigit function. We simply don't need to make any (formally non-portable) ... check-in: 31e633f6ad user: dkf tags: trunk
2012-12-22
19:05
Stop leaking allocated space when objifying a zero-length DString. [Bug 3598150] spotted by afredd. check-in: c384751ee6 user: ferrieux tags: trunk
2012-12-21
09:13
Inline compat Tcl_GetDefaultEncodingDir. Eliminate unnecessary static HasStubSupport() and isDigit(... check-in: fd98f3556d user: jan.nijtmans tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.






1
2
3
4
5
6
7





2012-12-21  Jan Nijtmans  <[email protected]>

	* unix/dltest/pkgb.c:  Inline compat Tcl_GetDefaultEncodingDir.
	* generic/tclStubLib.c: Eliminate unnecessary static HasStubSupport() and
	isDigit() functions, just do the same inline.

2012-12-18  Donal K. Fellows  <[email protected]>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
2012-12-22  Alexandre Ferrieux  <[email protected]>

	* generic/tclUtil.c: Stop leaking allocated space when objifying a
	zero-length DString. [Bug 3598150] spotted by afredd.

2012-12-21  Jan Nijtmans  <[email protected]>

	* unix/dltest/pkgb.c:  Inline compat Tcl_GetDefaultEncodingDir.
	* generic/tclStubLib.c: Eliminate unnecessary static HasStubSupport() and
	isDigit() functions, just do the same inline.

2012-12-18  Donal K. Fellows  <[email protected]>

Changes to generic/tclUtil.c.

2923
2924
2925
2926
2927
2928
2929

2930
2931
2932
2933
2934
2935
2936
2937

2938
2939
2940
2941
2942
2943
2944

Tcl_Obj *
TclDStringToObj(
    Tcl_DString *dsPtr)
{
    Tcl_Obj *result;


    if (dsPtr->length == 0) {
	TclNewObj(result);
    } else if (dsPtr->string == dsPtr->staticSpace) {
	/*
	 * Static buffer, so must copy.
	 */

	TclNewStringObj(result, dsPtr->string, dsPtr->length);

    } else {
	/*
	 * Dynamic buffer, so transfer ownership and reset.
	 */

	TclNewObj(result);
	result->bytes = dsPtr->string;







>
|
|
|
|
|
|
|
|
>







2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946

Tcl_Obj *
TclDStringToObj(
    Tcl_DString *dsPtr)
{
    Tcl_Obj *result;

    if (dsPtr->string == dsPtr->staticSpace) {
	if (dsPtr->length == 0) {
	    TclNewObj(result);
	} else {
	    /*
	     * Static buffer, so must copy.
	     */
	    
	    TclNewStringObj(result, dsPtr->string, dsPtr->length);
	}
    } else {
	/*
	 * Dynamic buffer, so transfer ownership and reset.
	 */

	TclNewObj(result);
	result->bytes = dsPtr->string;