summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorfvogel <fvogelnew1@free.fr>2020-09-08 19:48:09 (GMT)
committerfvogel <fvogelnew1@free.fr>2020-09-08 19:48:09 (GMT)
commit5dbab869283596c87b7024d85c52f6cc8406e186 (patch)
treefb085e7fcd4b25160d1ef3d4a9a894b88a52e732 /generic
parentc2c6590a6232b4dd7adbff4a8a3acd4cbcc89016 (diff)
parent1cebfa6aa3095dcdb4dbcf81186a0090a5ef2b8b (diff)
downloadtk-5dbab869283596c87b7024d85c52f6cc8406e186.zip
tk-5dbab869283596c87b7024d85c52f6cc8406e186.tar.gz
tk-5dbab869283596c87b7024d85c52f6cc8406e186.tar.bz2
Fix [6c2425f92e]: UBSan error in Tk_FreeSavedOptions(). Thanks to Christopher Chavez.
Diffstat (limited to 'generic')
-rw-r--r--generic/tkConfig.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/generic/tkConfig.c b/generic/tkConfig.c
index 97c1f89..096f8b2 100644
--- a/generic/tkConfig.c
+++ b/generic/tkConfig.c
@@ -1497,9 +1497,8 @@ Tk_FreeSavedOptions(
Tk_FreeSavedOptions(savePtr->nextPtr);
ckfree(savePtr->nextPtr);
}
- for (count = savePtr->numItems,
- savedOptionPtr = &savePtr->items[savePtr->numItems-1];
- count > 0; count--, savedOptionPtr--) {
+ for (count = savePtr->numItems; count > 0; count--) {
+ savedOptionPtr = &savePtr->items[count-1];
if (savedOptionPtr->optionPtr->flags & OPTION_NEEDS_FREEING) {
FreeResources(savedOptionPtr->optionPtr, savedOptionPtr->valuePtr,
(char *) &savedOptionPtr->internalForm, savePtr->tkwin);