summaryrefslogtreecommitdiff
path: root/apps/plugins/shortcuts/shortcuts_common.c
diff options
context:
space:
mode:
authorNils Wallménius <nils@rockbox.org>2009-07-14 13:57:45 +0000
committerNils Wallménius <nils@rockbox.org>2009-07-14 13:57:45 +0000
commit3d4701a6e41616cf581a297bab1451cf2db70249 (patch)
treef845837c96ffbed7d59ddf8308f3b3e7c40cb8c9 /apps/plugins/shortcuts/shortcuts_common.c
parentc2900a1bacd5d98b57a0d15ea2add1bc08764057 (diff)
downloadrockbox-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.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