diff options
Diffstat (limited to 'apps/playlist_viewer.c')
-rw-r--r-- | apps/playlist_viewer.c | 9 |
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); |