diff options
author | kay.sievers@vrfy.org <kay.sievers@vrfy.org> | 2004-02-26 19:37:47 -0800 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 21:32:30 -0700 |
commit | c472e3c89b9aaad90ad6398c0d2ff5dcf5a9d238 (patch) | |
tree | df5bf5be11d19b5b29b6507055964a6d0a688a1a /namedev.c | |
parent | 167a27e70f4010fdce561cff2ea1a07730aae28a (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.c')
-rw-r--r-- | namedev.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -157,7 +157,7 @@ static mode_t get_default_mode(void) static char *get_default_owner(void) { if (strlen(default_owner_str) == 0) - strncpy(default_owner_str, "root", OWNER_SIZE); + strfieldcpy(default_owner_str, "root"); return default_owner_str; } @@ -165,7 +165,7 @@ static char *get_default_owner(void) static char *get_default_group(void) { if (strlen(default_group_str) == 0) - strncpy(default_group_str, "root", GROUP_SIZE); + strfieldcpy(default_group_str, "root"); return default_group_str; } @@ -276,7 +276,7 @@ static void apply_format(struct udevice *udev, unsigned char *string, struct sys if (attr != NULL) i = atoi(attr); if (i > 0) { - strncpy(temp1, udev->program_result, sizeof(temp1)); + strfieldcpy(temp1, udev->program_result); pos2 = temp1; while (i) { i--; @@ -837,8 +837,8 @@ done: } else { /* no matching perms found :( */ udev->mode = get_default_mode(); - strncpy(udev->owner, get_default_owner(), OWNER_SIZE); - strncpy(udev->group, get_default_group(), GROUP_SIZE); + strfieldcpy(udev->owner, get_default_owner()); + strfieldcpy(udev->group, get_default_group()); } dbg("name, '%s' is going to have owner='%s', group='%s', mode = %#o", udev->name, udev->owner, udev->group, udev->mode); |