|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
From 4edf33d1e3fb551b1b0cee8e4a2a380c71b00dc7 Mon Sep 17 00:00:00 2001
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
Date: Wed, 17 Sep 2014 18:10:21 -0300
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
Subject: [PATCH] Fix resource leak (coverity CID 1237760)
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
---
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
src/libsystemd/sd-bus/bus-kernel.c | 6 ++++--
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
index 505f335e07..b3cc996b1e 100644
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
--- a/src/libsystemd/sd-bus/bus-kernel.c
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+++ b/src/libsystemd/sd-bus/bus-kernel.c
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
@@ -1446,9 +1446,11 @@ int bus_kernel_create_endpoint(const char *bus_name, const char *ep_name, char *
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
}
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
if (ep_path) {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
- asprintf(ep_path, "%s/%s", dirname(path), ep_name);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
- if (!*ep_path)
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ int r = asprintf(ep_path, "%s/%s", dirname(path), ep_name);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ if (r == -1 || !*ep_path) {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ safe_close(fd);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
return -ENOMEM;
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ }
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
}
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
return fd;
|