From f1ac700248f231b7bdac2aafe8c35650efddb89f Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Tue, 29 Oct 2013 16:20:22 +0100 Subject: [PATCH] udev: link-config - use safe_atou instead of strtoul --- src/udev/net/link-config.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c index 985fc7d47..a86c74d5f 100644 --- a/src/udev/net/link-config.c +++ b/src/udev/net/link-config.c @@ -322,12 +322,15 @@ static bool enable_name_policy(void) { static bool mac_is_random(struct udev_device *device) { const char *s; - int type; + unsigned type; + int r; s = udev_device_get_sysattr_value(device, "addr_assign_type"); if (!s) - return -EINVAL; - type = strtoul(s, NULL, 0); + return false; /* if we don't know, assume it is not random */ + r = safe_atou(s, &type); + if (r < 0) + return false; /* check for NET_ADDR_RANDOM */ return type == 1; @@ -335,12 +338,15 @@ static bool mac_is_random(struct udev_device *device) { static bool mac_is_permanent(struct udev_device *device) { const char *s; - int type; + unsigned type; + int r; s = udev_device_get_sysattr_value(device, "addr_assign_type"); if (!s) - return -EINVAL; - type = strtoul(s, NULL, 0); + return true; /* if we don't know, assume it is permanent */ + r = safe_atou(s, &type); + if (r < 0) + return true; /* check for NET_ADDR_PERM */ return type == 0; -- 2.30.2