From 246152a671b2fc08b39cc897523b8a325d1205e0 Mon Sep 17 00:00:00 2001 From: Christian Soffke Date: Fri, 21 Oct 2022 13:34:31 +0200 Subject: Database: Fix possible crash The File Browser and Database apparently share the same selected_item_history, which means that selected_item can be -1 even in the context of the database, This leads to tree_get_file_position being called in id3db mode, which isn't safe to do. Change-Id: I46151e8a823afab0b57ad839cde13f6072b8917b --- apps/tree.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/tree.c b/apps/tree.c index 2bccefa7a1..6e9ca106c0 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -392,8 +392,11 @@ static int update_dir(void) /* if selected item is undefined */ if (tc.selected_item == -1) { - /* use lastfile to determine the selected item */ - tc.selected_item = tree_get_file_position(lastfile); +#ifdef HAVE_TAGCACHE + if (!id3db) +#endif + /* use lastfile to determine the selected item */ + tc.selected_item = tree_get_file_position(lastfile); /* If the file doesn't exists, select the first one (default) */ if(tc.selected_item < 0) -- cgit v1.2.3