diff options
Diffstat (limited to 'apps/plugins/shortcuts')
-rw-r--r-- | apps/plugins/shortcuts/shortcuts_common.c | 8 |
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 | ||