summaryrefslogtreecommitdiff
path: root/apps/plugins/shortcuts/shortcuts_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/shortcuts/shortcuts_common.c')
-rw-r--r--apps/plugins/shortcuts/shortcuts_common.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/apps/plugins/shortcuts/shortcuts_common.c b/apps/plugins/shortcuts/shortcuts_common.c
index a06abd3f7f..1a781b23eb 100644
--- a/apps/plugins/shortcuts/shortcuts_common.c
+++ b/apps/plugins/shortcuts/shortcuts_common.c
@@ -213,8 +213,7 @@ bool parse_entry_content(char *line, sc_entry_t *entry, int last_segm)
213 DEBUGF("Bad entry: pathlen=%d, displen=%d\n", path_len, disp_len); 213 DEBUGF("Bad entry: pathlen=%d, displen=%d\n", path_len, disp_len);
214 return false; 214 return false;
215 } 215 }
216 rb->strncpy(entry->path, path, path_len); 216 rb->strlcpy(entry->path, path, path_len + 1);
217 entry->path[path_len] = '\0';
218 rb->strcpy(entry->disp, disp); /* Safe since we've checked the length */ 217 rb->strcpy(entry->disp, disp); /* Safe since we've checked the length */
219 entry->explicit_disp = expl; 218 entry->explicit_disp = expl;
220 return true; 219 return true;
@@ -295,15 +294,14 @@ bool parse_name_value(char *line, char *name, int namesize,
295 /* Too long name */ 294 /* Too long name */
296 return false; 295 return false;
297 } 296 }
298 rb->strncpy(name, line, name_len); 297 rb->strlcpy(name, line, name_len + 1);
299 name[name_len] = '\0';
300 298
301 val_len = rb->strlen(line) - name_len - NAME_VALUE_SEPARATOR_LEN; 299 val_len = rb->strlen(line) - name_len - NAME_VALUE_SEPARATOR_LEN;
302 if (val_len >= valuesize) { 300 if (val_len >= valuesize) {
303 /* Too long value */ 301 /* Too long value */
304 return false; 302 return false;
305 } 303 }
306 rb->strncpy(value, sep+NAME_VALUE_SEPARATOR_LEN, val_len+1); 304 rb->strlcpy(value, sep+NAME_VALUE_SEPARATOR_LEN, val_len+1);
307 return true; 305 return true;
308} 306}
309 307