summaryrefslogtreecommitdiff
path: root/namedev.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.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.c')
-rw-r--r--namedev.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/namedev.c b/namedev.c
index 2f9d8f5f67..219cb8a4b8 100644
--- a/namedev.c
+++ b/namedev.c
@@ -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);