Tcl Source Code

Check-in [58f7225908]
Login

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

Overview
Comment:plug memory leak
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | dgp-properbytearray
Files: files | file ages | folders
SHA1: 58f7225908a026cf21c46dc0b6df41d9097595dc
User & Date: dgp 2016-12-07 20:32:50
Context
2016-12-13
16:49
Detect binary errors in reflected channels. check-in: c7211f4bb5 user: dgp tags: dgp-properbytearray
2016-12-07
20:32
plug memory leak check-in: 58f7225908 user: dgp tags: dgp-properbytearray
20:01
Enable the no-copy path through narrowing that was overlooked. check-in: 617acf8eb6 user: dgp tags: dgp-properbytearray
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tclBinary.c.

2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699

2700
2701
2702
2703
2704
2705
2706
    }

    /*
     * Allocate the buffer. This is a little bit too long, but is "good
     * enough".
     */

    resultObj = Tcl_NewObj();
    offset = 0;
    data = Tcl_GetByteArrayFromObj(objv[objc-1], &count);
    if (data == NULL) {
	Tcl_AppendResult(interp, "binary encode expects bytes", NULL);
	return TCL_ERROR;
    }

    rawLength = (lineLength - 1) * 3 / 4;
    start = cursor = Tcl_SetByteArrayLength(resultObj,
	    (lineLength + wrapcharlen) *
	    ((count + (rawLength - 1)) / rawLength));
    n = bits = 0;

    /*







<






>







2686
2687
2688
2689
2690
2691
2692

2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
    }

    /*
     * Allocate the buffer. This is a little bit too long, but is "good
     * enough".
     */


    offset = 0;
    data = Tcl_GetByteArrayFromObj(objv[objc-1], &count);
    if (data == NULL) {
	Tcl_AppendResult(interp, "binary encode expects bytes", NULL);
	return TCL_ERROR;
    }
    resultObj = Tcl_NewObj();
    rawLength = (lineLength - 1) * 3 / 4;
    start = cursor = Tcl_SetByteArrayLength(resultObj,
	    (lineLength + wrapcharlen) *
	    ((count + (rawLength - 1)) / rawLength));
    n = bits = 0;

    /*