chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
util_delete_path(): use util_strscpy()
[elogind.git]
/
libudev
/
libudev-util-private.c
diff --git
a/libudev/libudev-util-private.c
b/libudev/libudev-util-private.c
index 84dee559c40cafdb4c345786c8d6d61dee88a4fc..5b5ecb1f503c788550b423e7722b6af223e4d6b6 100644
(file)
--- a/
libudev/libudev-util-private.c
+++ b/
libudev/libudev-util-private.c
@@
-67,7
+67,7
@@
int util_delete_path(struct udev *udev, const char *path)
char *pos;
int retval;
char *pos;
int retval;
-
strcpy (p
, path);
+
util_strscpy(p, sizeof(p)
, path);
pos = strrchr(p, '/');
if (pos == p || pos == NULL)
return 0;
pos = strrchr(p, '/');
if (pos == p || pos == NULL)
return 0;
@@
-100,24
+100,16
@@
int util_delete_path(struct udev *udev, const char *path)
*/
int util_unlink_secure(struct udev *udev, const char *filename)
{
*/
int util_unlink_secure(struct udev *udev, const char *filename)
{
- int retval;
-
- retval = chown(filename, 0, 0);
- if (retval)
- err(udev, "chown(%s, 0, 0) failed: %m\n", filename);
-
- retval = chmod(filename, 0000);
- if (retval)
- err(udev, "chmod(%s, 0000) failed: %m\n", filename);
+ int err;
- retval = unlink(filename);
+ chmod(filename, 0000);
+ chown(filename, 0, 0);
+ err = unlink(filename);
if (errno == ENOENT)
if (errno == ENOENT)
- retval = 0;
-
- if (retval)
+ err = 0;
+ if (err)
err(udev, "unlink(%s) failed: %m\n", filename);
err(udev, "unlink(%s) failed: %m\n", filename);
-
- return retval;
+ return err;
}
uid_t util_lookup_user(struct udev *udev, const char *user)
}
uid_t util_lookup_user(struct udev *udev, const char *user)