[systemd-commits] src/libsystemd

Zbigniew Jędrzejewski-Szmek zbyszek at kemper.freedesktop.org
Wed May 20 20:45:11 PDT 2015


 src/libsystemd/sd-device/device-enumerator.c |    6 +++---
 src/libsystemd/sd-device/sd-device.c         |    6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

New commits:
commit 53fae771bcf1623cd28791c48fa60d9d5e5086e4
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Wed May 20 23:34:12 2015 -0400

    sd-device: fix return codes on error
    
    asprintf() does not set errno.

diff --git a/src/libsystemd/sd-device/device-enumerator.c b/src/libsystemd/sd-device/device-enumerator.c
index 4de36d5..ce4862d 100644
--- a/src/libsystemd/sd-device/device-enumerator.c
+++ b/src/libsystemd/sd-device/device-enumerator.c
@@ -764,9 +764,9 @@ static int parent_crawl_children(sd_device_enumerator *enumerator, const char *p
                 if (dent->d_type != DT_DIR)
                         continue;
 
-                k = asprintf(&child, "%s/%s", path, dent->d_name);
-                if (k < 0)
-                        return -errno;
+                child = strjoin(path, "/", dent->d_name, NULL);
+                if (!child)
+                        return -ENOMEM;
 
                 k = parent_add_child(enumerator, child);
                 if (k < 0)
diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
index 691b9c6..97da4a8 100644
--- a/src/libsystemd/sd-device/sd-device.c
+++ b/src/libsystemd/sd-device/sd-device.c
@@ -1193,12 +1193,12 @@ int device_get_id_filename(sd_device *device, const char **ret) {
                                      streq(subsystem, "block") ? 'b' : 'c',
                                      major(devnum), minor(devnum));
                         if (r < 0)
-                                return -errno;
+                                return -ENOMEM;
                 } else if (ifindex > 0) {
                         /* use netdev ifindex -- n3 */
                         r = asprintf(&id, "n%u", ifindex);
                         if (r < 0)
-                                return -errno;
+                                return -ENOMEM;
                 } else {
                         /* use $subsys:$sysname -- pci:0000:00:1f.2
                          * sysname() has '!' translated, get it from devpath
@@ -1211,7 +1211,7 @@ int device_get_id_filename(sd_device *device, const char **ret) {
 
                         r = asprintf(&id, "+%s:%s", subsystem, sysname);
                         if (r < 0)
-                                return -errno;
+                                return -ENOMEM;
                 }
 
                 device->id_filename = id;



More information about the systemd-commits mailing list