summaryrefslogtreecommitdiff
path: root/namedev_parse.c
diff options
context:
space:
mode:
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>2004-02-26 19:37:47 -0800
committerGreg KH <gregkh@suse.de>2005-04-26 21:32:30 -0700
commitc472e3c89b9aaad90ad6398c0d2ff5dcf5a9d238 (patch)
treedf5bf5be11d19b5b29b6507055964a6d0a688a1a /namedev_parse.c
parent167a27e70f4010fdce561cff2ea1a07730aae28a (diff)
[PATCH] udev - safer string handling all over the place
On Tue, Feb 24, 2004 at 11:50:52PM +0100, Kay Sievers wrote: > Here is the first step towards a safer string handling. > More will follow, but for now only the easy ones :) > > Thanks to all who pointed this out. strncat() isn't a nice function. We > all should remember that the destination string is not terminated if the > given lenght is shorter than the strlen of the source string. > > And shame on the various implementers of strfieldcat() I found in the > unapplied patches on this list, it's not really better than strncpy() > and hides the real problem. Hmm, bk didn't checked in one file, maybe I edited it again as root. Nevermind, here is the more complete version.
Diffstat (limited to 'namedev_parse.c')
-rw-r--r--namedev_parse.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/namedev_parse.c b/namedev_parse.c
index 013878c679..d300b0907d 100644
--- a/namedev_parse.c
+++ b/namedev_parse.c
@@ -319,21 +319,21 @@ static int namedev_parse_permissions(char *filename)
dbg("cannot parse line '%s'", line);
continue;
}
- strncpy(dev.name, temp2, sizeof(dev.name));
+ strfieldcpy(dev.name, temp2);
temp2 = strsep(&temp, ":");
if (!temp2) {
dbg("cannot parse line '%s'", line);
continue;
}
- strncpy(dev.owner, temp2, sizeof(dev.owner));
+ strfieldcpy(dev.owner, temp2);
temp2 = strsep(&temp, ":");
if (!temp2) {
dbg("cannot parse line '%s'", line);
continue;
}
- strncpy(dev.group, temp2, sizeof(dev.group));
+ strfieldcpy(dev.group, temp2);
if (!temp) {
dbg("cannot parse line: %s", line);
@@ -422,7 +422,7 @@ static int call_foreach_file(int parser (char *f) , char *filename, char *extens
/* parse every file in the list */
list_for_each_entry_safe(loop_file, tmp_file, &file_list, list) {
strfieldcpy(file, filename);
- strcat(file, loop_file->name);
+ strfieldcat(file, loop_file->name);
parser(file);
list_del(&loop_file->list);
free(loop_file);