From fbfdc190f5cf078f2ec07f759e6eaf162b889b5d Mon Sep 17 00:00:00 2001 From: dkf Date: Wed, 9 Jun 2004 19:18:13 +0000 Subject: ckfree() the correct element! [Bug 969358] --- ChangeLog | 6 ++++++ generic/tkUndo.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 00ce3db..8ad0f5d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-06-09 Donal K. Fellows + + * generic/tkUndo.c (TkUndoSetDepth): Delete the unlinked element and + not the next element. Stops a crash in some situations and a memory + leak in others. Thanks to Jiang Wu for spotting this. [Bug 969358] + 2004-06-08 Mo DeJong * generic/tkCanvText.c (DisplayCanvText): Fix text diff --git a/generic/tkUndo.c b/generic/tkUndo.c index 64143f1..a1f5284 100644 --- a/generic/tkUndo.c +++ b/generic/tkUndo.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkUndo.c,v 1.3 2003/10/30 23:35:14 dkf Exp $ + * RCS: @(#) $Id: tkUndo.c,v 1.4 2004/06/09 19:18:14 dkf Exp $ */ #include "tkUndo.h" @@ -249,7 +249,7 @@ TkUndoSetDepth(stack, maxdepth) while (elem != NULL) { prevelem = elem; elem = elem->next; - ckfree((char *) elem); + ckfree((char *) prevelem); } stack->depth = stack->maxdepth; } -- cgit v0.12