summaryrefslogtreecommitdiffstats
path: root/apps/tree.c
diff options
context:
space:
mode:
authorWilliam Wilgus <me.theuser@yahoo.com>2018-07-25 19:28:25 +0200
committerWilliam Wilgus <me.theuser@yahoo.com>2018-07-25 19:33:52 +0200
commit5e5ddce270ce8fb87baff7ce898173fe2ae2fb6b (patch)
treea45e6b40c3f1fc2ef59bd416d5f6d54eca026a6a /apps/tree.c
parent7bec71368b306657323d80585019bb7e2aa0888c (diff)
downloadrockbox-5e5ddce270ce8fb87baff7ce898173fe2ae2fb6b.tar.gz
rockbox-5e5ddce270ce8fb87baff7ce898173fe2ae2fb6b.tar.bz2
rockbox-5e5ddce270ce8fb87baff7ce898173fe2ae2fb6b.zip
Fix truncation warnings in tree.c, filetree.c
Change-Id: Ic5ae1e5f904a3da4bba07cdef7f4bb003dc091b2
Diffstat (limited to 'apps/tree.c')
-rw-r--r--apps/tree.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/apps/tree.c b/apps/tree.c
index e03a494a54..6b496919b0 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -608,6 +608,7 @@ static int dirbrowse(void)
{
int numentries=0;
char buf[MAX_PATH];
+ int len;
int button;
#ifdef HAVE_LCD_BITMAP
int oldbutton;
@@ -800,8 +801,13 @@ static int dirbrowse(void)
attr = entry->attr;
if (currdir[1]) /* Not in / */
- snprintf(buf, sizeof buf, "%s/%s",
+ {
+ len = snprintf(buf, sizeof buf, "%s/%s",
currdir, entry->name);
+
+ if ((unsigned) len > sizeof(buf))
+ splash(HZ, ID2P(LANG_PLAYLIST_DIRECTORY_ACCESS_ERROR));
+ }
else /* In / */
snprintf(buf, sizeof buf, "/%s", entry->name);
}