summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/debug_menu.c4
-rw-r--r--apps/playlist_viewer.c9
-rw-r--r--apps/screens.c10
3 files changed, 18 insertions, 5 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c
index 87a41920b9..0b0bc8fc2b 100644
--- a/apps/debug_menu.c
+++ b/apps/debug_menu.c
@@ -1627,7 +1627,9 @@ static int ata_smart_attr_to_string(
1627 if (len >= name_sz) len = name_sz-1; 1627 if (len >= name_sz) len = name_sz-1;
1628 slen += len; 1628 slen += len;
1629 } 1629 }
1630 snprintf(str+slen, size-slen, "%s", buf); 1630
1631 if (!memccpy (str+slen, buf, '\0', size-slen))
1632 (str+slen)[size-slen - 1] = '\0';
1631 } 1633 }
1632 1634
1633 return 1; /* ok */ 1635 return 1; /* ok */
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
516{ 516{
517 char selected_track[MAX_PATH]; 517 char selected_track[MAX_PATH];
518 close_playlist_viewer(); 518 close_playlist_viewer();
519 snprintf(selected_track, sizeof(selected_track), "%s", current_track->name); 519
520 if (!memccpy (selected_track, current_track->name, '\0', sizeof(selected_track)))
521 selected_track[sizeof(selected_track) - 1] = '\0';
522
520 523
521 return (filetype_list_viewers(selected_track) == 524 return (filetype_list_viewers(selected_track) ==
522 PLUGIN_USB_CONNECTED ? PV_ONPLAY_USB_CLOSED : PV_ONPLAY_CLOSED); 525 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
528{ 531{
529 char selected_track[MAX_PATH]; 532 char selected_track[MAX_PATH];
530 close_playlist_viewer(); 533 close_playlist_viewer();
531 snprintf(selected_track, sizeof(selected_track), "%s", current_track->name); 534
535 if (!memccpy (selected_track, current_track->name, '\0', sizeof(selected_track)))
536 selected_track[sizeof(selected_track) - 1] = '\0';
532 537
533 return (filetype_load_plugin((void *)"pictureflow", selected_track) == 538 return (filetype_load_plugin((void *)"pictureflow", selected_track) ==
534 PLUGIN_USB_CONNECTED ? PV_ONPLAY_USB_CLOSED : PV_ONPLAY_CLOSED); 539 PLUGIN_USB_CONNECTED ? PV_ONPLAY_USB_CLOSED : PV_ONPLAY_CLOSED);
diff --git a/apps/screens.c b/apps/screens.c
index 70374a1f08..9191922c31 100644
--- a/apps/screens.c
+++ b/apps/screens.c
@@ -561,7 +561,10 @@ static const char * id3_get_or_speak_info(int selected_item, void* data,
561 case LANG_ID3_COMMENT: 561 case LANG_ID3_COMMENT:
562 if (!id3->comment) 562 if (!id3->comment)
563 return NULL; 563 return NULL;
564 snprintf(buffer, buffer_len, "%s", id3->comment); 564
565 if (!memccpy (buffer, id3->comment, '\0', buffer_len))
566 buffer[buffer_len - 1] = '\0';
567
565 val=buffer; 568 val=buffer;
566 if(say_it && val) 569 if(say_it && val)
567 talk_spell(val, true); 570 talk_spell(val, true);
@@ -608,7 +611,10 @@ static const char * id3_get_or_speak_info(int selected_item, void* data,
608 case LANG_FORMAT: 611 case LANG_FORMAT:
609 if (id3->codectype >= AFMT_NUM_CODECS) 612 if (id3->codectype >= AFMT_NUM_CODECS)
610 return NULL; 613 return NULL;
611 snprintf(buffer, buffer_len, "%s", audio_formats[id3->codectype].label); 614
615 if (!memccpy (buffer, audio_formats[id3->codectype].label, '\0', buffer_len))
616 buffer[buffer_len - 1] = '\0';
617
612 val=buffer; 618 val=buffer;
613 if(say_it) 619 if(say_it)
614 talk_spell(val, true); 620 talk_spell(val, true);