---
 src/libsystemd/sd-bus/bus-kernel.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/libsystemd/sd-bus/bus-kernel.c 
b/src/libsystemd/sd-bus/bus-kernel.c
index 505f335..b3cc996 100644
--- a/src/libsystemd/sd-bus/bus-kernel.c
+++ b/src/libsystemd/sd-bus/bus-kernel.c
@@ -1446,9 +1446,11 @@ int bus_kernel_create_endpoint(const char *bus_name, 
const char *ep_name, char *
         }
 
         if (ep_path) {
-                asprintf(ep_path, "%s/%s", dirname(path), ep_name);
-                if (!*ep_path)
+                int r = asprintf(ep_path, "%s/%s", dirname(path), ep_name);
+                if (r == -1 || !*ep_path) {
+                        safe_close(fd);
                         return -ENOMEM;
+                }
         }
 
         return fd;
-- 
2.1.0

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to