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 /udev-remove.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 'udev-remove.c')
-rw-r--r-- | udev-remove.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/udev-remove.c b/udev-remove.c index c20c651dc5..8794429635 100644 --- a/udev-remove.c +++ b/udev-remove.c @@ -72,8 +72,8 @@ static int delete_node(struct udevice *dev) int retval; int i; - strncpy(filename, udev_root, sizeof(filename)); - strncat(filename, dev->name, sizeof(filename)); + strfieldcpy(filename, udev_root); + strfieldcat(filename, dev->name); info("removing device node '%s'", filename); retval = unlink(filename); @@ -103,8 +103,8 @@ static int delete_node(struct udevice *dev) if (linkname == NULL) break; - strncpy(filename, udev_root, sizeof(filename)); - strncat(filename, linkname, sizeof(filename)); + strfieldcpy(filename, udev_root); + strfieldcat(filename, linkname); dbg("unlinking symlink '%s'", filename); retval = unlink(filename); @@ -141,7 +141,7 @@ int udev_remove_device(char *path, char *subsystem) temp = strrchr(path, '/'); if (temp == NULL) return -ENODEV; - strncpy(dev.name, &temp[1], sizeof(dev.name)); + strfieldcpy(dev.name, &temp[1]); } dbg("name is '%s'", dev.name); |