diff options
author | Nils Wallménius <nils@rockbox.org> | 2009-07-14 13:57:45 +0000 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2009-07-14 13:57:45 +0000 |
commit | 3d4701a6e41616cf581a297bab1451cf2db70249 (patch) | |
tree | f845837c96ffbed7d59ddf8308f3b3e7c40cb8c9 /apps/plugins/shortcuts/shortcuts_common.c | |
parent | c2900a1bacd5d98b57a0d15ea2add1bc08764057 (diff) | |
download | rockbox-3d4701a6e41616cf581a297bab1451cf2db70249.tar.gz rockbox-3d4701a6e41616cf581a297bab1451cf2db70249.zip |
FS#10080
* Move strncpy() from core to the pluginlib
* Introduce strlcpy() and use that instead in most places (use memcpy in a few) in core and some plugins
* Drop strncpy() from the codec api as no codec used it
* Bump codec and plugin api versions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21863 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/shortcuts/shortcuts_common.c')
-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 | ||