summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--generic/tkConfig.c6
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 52c4921..fb45804 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2005-10-10 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tkConfig.c (Tk_DeleteOptionTable, Tk_CreateOptionTable):
+ properly alloc/delete one more option. [Bug 1319720] (melbardis)
+
* macosx/tkMacOSXInt.h: Move MODULE_SCOPE defn to tkInt.h and add
* generic/tkInt.h: WORDS_BIGENDIAN checks that will work with
OS X universal binary compiles. (steffen)
diff --git a/generic/tkConfig.c b/generic/tkConfig.c
index f74ae7a..87ad572 100644
--- a/generic/tkConfig.c
+++ b/generic/tkConfig.c
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkConfig.c,v 1.20 2005/08/10 22:02:22 dkf Exp $
+ * RCS: @(#) $Id: tkConfig.c,v 1.21 2005/10/10 21:21:00 hobbs Exp $
*/
/*
@@ -222,7 +222,7 @@ Tk_CreateOptionTable(interp, templatePtr)
numOptions++;
}
tablePtr = (OptionTable *) (ckalloc(sizeof(OptionTable)
- + ((numOptions - 1) * sizeof(Option))));
+ + (numOptions * sizeof(Option))));
tablePtr->refCount = 1;
tablePtr->hashEntryPtr = hashEntryPtr;
tablePtr->nextPtr = NULL;
@@ -347,7 +347,7 @@ Tk_DeleteOptionTable(optionTable)
Tk_DeleteOptionTable((Tk_OptionTable) tablePtr->nextPtr);
}
- for (count = tablePtr->numOptions - 1, optionPtr = tablePtr->options;
+ for (count = tablePtr->numOptions, optionPtr = tablePtr->options;
count > 0; count--, optionPtr++) {
if (optionPtr->defaultPtr != NULL) {
Tcl_DecrRefCount(optionPtr->defaultPtr);