summaryrefslogtreecommitdiff
path: root/apps/plugins/rockboy/menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/rockboy/menu.c')
-rw-r--r--apps/plugins/rockboy/menu.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/apps/plugins/rockboy/menu.c b/apps/plugins/rockboy/menu.c
index 9821ce9ba2..76de224294 100644
--- a/apps/plugins/rockboy/menu.c
+++ b/apps/plugins/rockboy/menu.c
@@ -162,11 +162,10 @@ static void munge_name(char *buf, const size_t bufsiz) {
162 * checksum or something like that? 162 * checksum or something like that?
163 */ 163 */
164static void build_slot_path(char *buf, size_t bufsiz, size_t slot_id) { 164static void build_slot_path(char *buf, size_t bufsiz, size_t slot_id) {
165 char name_buf[40]; 165 char name_buf[17];
166 166
167 /* munge state file name */ 167 /* munge state file name */
168 strncpy(name_buf, rom.name, 40); 168 strlcpy(name_buf, rom.name, sizeof(name_buf));
169 name_buf[16] = '\0';
170 munge_name(name_buf, strlen(name_buf)); 169 munge_name(name_buf, strlen(name_buf));
171 170
172 /* glom the whole mess together */ 171 /* glom the whole mess together */
@@ -211,7 +210,7 @@ static bool do_file(char *path, char *desc, bool is_load) {
211 /* build description buffer */ 210 /* build description buffer */
212 memset(desc_buf, 0, 20); 211 memset(desc_buf, 0, 20);
213 if (desc) 212 if (desc)
214 strncpy(desc_buf, desc, 20); 213 strlcpy(desc_buf, desc, 20);
215 214
216 /* save state */ 215 /* save state */
217 write(fd, desc_buf, 20); 216 write(fd, desc_buf, 20);
@@ -241,8 +240,7 @@ static bool do_slot(size_t slot_id, bool is_load) {
241 if (!is_load) 240 if (!is_load)
242 if (rb->kbd_input(desc_buf, 20) || !strlen(desc_buf)) 241 if (rb->kbd_input(desc_buf, 20) || !strlen(desc_buf))
243 { 242 {
244 memset(desc_buf, 0, 20); 243 strlcpy(desc_buf, "Untitled", 20);
245 strncpy(desc_buf, "Untitled", 20);
246 } 244 }
247 245
248 /* load/save file */ 246 /* load/save file */