diff options
Diffstat (limited to 'src/libsystemd/sd-bus/bus-kernel.c')
-rw-r--r-- | src/libsystemd/sd-bus/bus-kernel.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c index 505f335e07..b3cc996b1e 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; |