diff options
author | William Wilgus <me.theuser@yahoo.com> | 2018-12-22 12:45:02 -0600 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2019-07-10 09:38:36 +0200 |
commit | 3e27705eb9a68a07983c84b2771216c010c7ba21 (patch) | |
tree | 0680c3247e3c45a613c2ba00fe9884df56371c36 | |
parent | 5264a6eac109b83b799dc45c7cc99729090075b6 (diff) | |
download | rockbox-3e27705eb9a68a07983c84b2771216c010c7ba21.tar.gz rockbox-3e27705eb9a68a07983c84b2771216c010c7ba21.zip |
tagtree.c->loadroot() guard against overflow
forum user chris_s noted an possible unhandled cache overflow
Change-Id: Ia79399d6581ef6b635578896519fda8126c731d7
-rw-r--r-- | apps/tagtree.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/apps/tagtree.c b/apps/tagtree.c index c188a900fa..12a7a74e5d 100644 --- a/apps/tagtree.c +++ b/apps/tagtree.c | |||
@@ -1627,6 +1627,9 @@ static int load_root(struct tree_context *c) | |||
1627 | if (menu == NULL) | 1627 | if (menu == NULL) |
1628 | return 0; | 1628 | return 0; |
1629 | 1629 | ||
1630 | if (menu->itemcount > c->cache.max_entries) | ||
1631 | panicf("%s tree_cache too small", __func__); | ||
1632 | |||
1630 | for (i = 0; i < menu->itemcount; i++) | 1633 | for (i = 0; i < menu->itemcount; i++) |
1631 | { | 1634 | { |
1632 | dptr->name = menu->items[i]->name; | 1635 | dptr->name = menu->items[i]->name; |