diff options
author | William Wilgus <me.theuser@yahoo.com> | 2018-07-25 19:28:25 +0200 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2018-07-25 19:33:52 +0200 |
commit | 5e5ddce270ce8fb87baff7ce898173fe2ae2fb6b (patch) | |
tree | a45e6b40c3f1fc2ef59bd416d5f6d54eca026a6a /apps/tree.c | |
parent | 7bec71368b306657323d80585019bb7e2aa0888c (diff) | |
download | rockbox-5e5ddce270ce8fb87baff7ce898173fe2ae2fb6b.tar.gz 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.c | 8 |
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); } |