diff options
author | fvogel <fvogelnew1@free.fr> | 2020-09-08 19:48:09 (GMT) |
---|---|---|
committer | fvogel <fvogelnew1@free.fr> | 2020-09-08 19:48:09 (GMT) |
commit | 5dbab869283596c87b7024d85c52f6cc8406e186 (patch) | |
tree | fb085e7fcd4b25160d1ef3d4a9a894b88a52e732 /generic | |
parent | c2c6590a6232b4dd7adbff4a8a3acd4cbcc89016 (diff) | |
parent | 1cebfa6aa3095dcdb4dbcf81186a0090a5ef2b8b (diff) | |
download | tk-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.c | 5 |
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); |