diff --git a/apps/menus/audiohw_eq_menu.c b/apps/menus/audiohw_eq_menu.c
index 1027d6a..8dfb6e8 100644
--- a/apps/menus/audiohw_eq_menu.c
+++ b/apps/menus/audiohw_eq_menu.c
@@ -41,9 +41,10 @@
 #endif
 };
 
-static char * hw_eq_get_name(int selected_item, void * data, char *buffer)
+static char * hw_eq_get_name(int selected_item, void * data,
+                             char *buffer, size_t buffer_len)
 {
-    snprintf(buffer, MAX_PATH,
+    snprintf(buffer, buffer_len,
              str(hw_eq_setting_lang_ids[HW_EQ_IDX_SETTING(data)]),
              HW_EQ_IDX_BAND(data) + 1);
     return buffer;
diff --git a/apps/menus/radio_menu.c b/apps/menus/radio_menu.c
index fb3d2b7..8871421 100644
--- a/apps/menus/radio_menu.c
+++ b/apps/menus/radio_menu.c
@@ -100,11 +100,12 @@
 
 #ifndef FM_MODE
 extern int radio_mode;
-static char* get_mode_text(int selected_item, void * data, char *buffer)
+static char* get_mode_text(int selected_item, void * data,
+                           char *buffer, size_t buffer_len)
 {
     (void)selected_item;
     (void)data;
-    snprintf(buffer, MAX_PATH, "%s %s", str(LANG_MODE),
+    snprintf(buffer, buffer_len, "%s %s", str(LANG_MODE),
              radio_mode ? str(LANG_PRESET) :
                           str(LANG_RADIO_SCAN_MODE));
     return buffer;
diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c
index ca0ec91..6759549 100644
--- a/apps/menus/settings_menu.c
+++ b/apps/menus/settings_menu.c
@@ -500,14 +500,15 @@
 
 /* A string representation of either whether a sleep timer will be started or
    canceled, and how long it will be or how long is remaining in brackets */
-static char* sleep_timer_getname(int selected_item, void * data, char *buffer)
+static char* sleep_timer_getname(int selected_item, void * data,
+                                 char *buffer, size_t buffer_len)
 {
     (void)selected_item;
     (void)data;
     int sec = get_sleep_timer();
     char timer_buf[10];
-    /* we have no sprintf, so MAX_PATH is a guess */
-    snprintf(buffer, MAX_PATH, "%s (%s)",
+
+    snprintf(buffer, buffer_len, "%s (%s)",
              str(sec ? LANG_SLEEP_TIMER_CANCEL_CURRENT
                  : LANG_SLEEP_TIMER_START_CURRENT),
              sleep_timer_formatter(timer_buf, sizeof(timer_buf),
