Tk Source Code

Check-in [61cefa0e]
Login

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

Overview
Comment:Fix refcount bug in FreeFontObjProc. Could result in freeing a TkFont which was already freed.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 61cefa0e22c4d66982a609fb96fff454ebf2c2df
User & Date: jan.nijtmans 2013-10-31 21:25:49
Context
2013-11-03
11:33
[1632447]: Allow the PPM maxval to go up to 65535, to conform with a format definition change from around 2000 (even if that's a rare format). check-in: 251c1226 user: dkf tags: trunk
2013-10-31
22:01
merge trunk Closed-Leaf check-in: 2e7dccd2 user: jan.nijtmans tags: bug-f214b8ad5b
21:25
Fix refcount bug in FreeFontObjProc. Could result in freeing a TkFont which was already freed. check-in: 61cefa0e user: jan.nijtmans tags: trunk
21:25
Fix refcount bug in FreeFontObjProc. Could result in freeing a TkFont which was already freed. check-in: d13e6a58 user: jan.nijtmans tags: core-8-5-branch
09:35
Fix [c0cc9fd153]: PNG parser does not support uppercase format string (using -format) check-in: 8363f1b5 user: jan.nijtmans tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tkFont.c.

1513
1514
1515
1516
1517
1518
1519
1520
1521

1522
1523
1524
1525
1526
1527
1528
{
    TkFont *fontPtr = objPtr->internalRep.twoPtrValue.ptr1;

    if (fontPtr != NULL) {
	fontPtr->objRefCount--;
	if ((fontPtr->resourceRefCount == 0) && (fontPtr->objRefCount == 0)) {
	    ckfree(fontPtr);
	    objPtr->internalRep.twoPtrValue.ptr1 = NULL;
	}

    }
}

/*
 *---------------------------------------------------------------------------
 *
 * DupFontObjProc --







<

>







1513
1514
1515
1516
1517
1518
1519

1520
1521
1522
1523
1524
1525
1526
1527
1528
{
    TkFont *fontPtr = objPtr->internalRep.twoPtrValue.ptr1;

    if (fontPtr != NULL) {
	fontPtr->objRefCount--;
	if ((fontPtr->resourceRefCount == 0) && (fontPtr->objRefCount == 0)) {
	    ckfree(fontPtr);

	}
	objPtr->internalRep.twoPtrValue.ptr1 = NULL;
    }
}

/*
 *---------------------------------------------------------------------------
 *
 * DupFontObjProc --