Tcl Source Code

Check-in [1a5c0e4ad0]
Login

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

Overview
Comment:3475667 Prevent buffer read overflow. Thanks to "sebres" for the report and fix.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-4-branch
Files: files | file ages | folders
SHA1: 1a5c0e4ad01712b58290cf0e8541a00d4db8ac8b
User & Date: dgp 2012-01-19 20:46:04
Context
2012-01-21
08:19
Prevent buffer read overflow. Thanks to "sebres" for the report and fix. check-in: 03cb2cb9ed user: jan.nijtmans tags: core-8-5-branch
2012-01-19
21:22
[Bug-3474726] minGW Tcl_StatBuf not defined correctly in tcl.h check-in: 096d7e242c user: jan.nijtmans tags: core-8-4-branch
20:46
3475667 Prevent buffer read overflow. Thanks to "sebres" for the report and fix. check-in: 1a5c0e4ad0 user: dgp tags: core-8-4-branch
2012-01-17
14:31
Bump to 2.5.6 check-in: 84fceacbac user: dgp tags: core-8-4-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.






1
2
3
4
5
6
7
8





2011-01-17  Don Porter  <[email protected]>

	* library/http/http.tcl:	Bump to 2.5.6.
	* library/http/pkgIndex.tcl:

2012-01-13  Donal K. Fellows  <[email protected]>

	* library/http/http.tcl (http::Connect): [Bug 3472316]: Ensure that we
>
>
>
>
>
|







1
2
3
4
5
6
7
8
9
10
11
12
13
2012-01-19  Don Porter  <[email protected]>

	* generic/tclCmdMZ.c:	[Bug 3475667] Prevent buffer read overflow.
	Thanks to "sebres" for the report and fix.

2012-01-17  Don Porter  <[email protected]>

	* library/http/http.tcl:	Bump to 2.5.6.
	* library/http/pkgIndex.tcl:

2012-01-13  Donal K. Fellows  <[email protected]>

	* library/http/http.tcl (http::Connect): [Bug 3472316]: Ensure that we

Changes to generic/tclCmdMZ.c.

374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
     * We terminate the loop when the starting offset is past the end of the
     * string.
     */

    while (1) {
	match = Tcl_RegExpExecObj(interp, regExpr, objPtr,
		offset /* offset */, numMatchesSaved, eflags 
		| ((offset > 0 &&
		   (Tcl_GetUniChar(objPtr,offset-1) != (Tcl_UniChar)'\n'))
		   ? TCL_REG_NOTBOL : 0));

	if (match < 0) {
	    return TCL_ERROR;
	}








|







374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
     * We terminate the loop when the starting offset is past the end of the
     * string.
     */

    while (1) {
	match = Tcl_RegExpExecObj(interp, regExpr, objPtr,
		offset /* offset */, numMatchesSaved, eflags 
		| ((offset > 0 && offset < stringLength &&
		   (Tcl_GetUniChar(objPtr,offset-1) != (Tcl_UniChar)'\n'))
		   ? TCL_REG_NOTBOL : 0));

	if (match < 0) {
	    return TCL_ERROR;
	}