summaryrefslogtreecommitdiffstats
path: root/apps/playlist_viewer.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playlist_viewer.c')
-rw-r--r--apps/playlist_viewer.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c
index d2774e67b0..f1f8954113 100644
--- a/apps/playlist_viewer.c
+++ b/apps/playlist_viewer.c
@@ -516,7 +516,10 @@ static enum pv_onplay_result open_with(const struct playlist_entry *current_trac
{
char selected_track[MAX_PATH];
close_playlist_viewer();
- snprintf(selected_track, sizeof(selected_track), "%s", current_track->name);
+
+ if (!memccpy (selected_track, current_track->name, '\0', sizeof(selected_track)))
+ selected_track[sizeof(selected_track) - 1] = '\0';
+
return (filetype_list_viewers(selected_track) ==
PLUGIN_USB_CONNECTED ? PV_ONPLAY_USB_CLOSED : PV_ONPLAY_CLOSED);
@@ -528,7 +531,9 @@ static enum pv_onplay_result open_pictureflow(const struct playlist_entry *curre
{
char selected_track[MAX_PATH];
close_playlist_viewer();
- snprintf(selected_track, sizeof(selected_track), "%s", current_track->name);
+
+ if (!memccpy (selected_track, current_track->name, '\0', sizeof(selected_track)))
+ selected_track[sizeof(selected_track) - 1] = '\0';
return (filetype_load_plugin((void *)"pictureflow", selected_track) ==
PLUGIN_USB_CONNECTED ? PV_ONPLAY_USB_CLOSED : PV_ONPLAY_CLOSED);