summaryrefslogtreecommitdiff
path: root/src/core/service.c
diff options
context:
space:
mode:
authorreverendhomer <mk.43.ecko@gmail.com>2015-10-07 11:55:31 +0300
committerreverendhomer <mk.43.ecko@gmail.com>2015-10-07 11:55:31 +0300
commit17dec0f703bea85d6cbbae2a75d7960a5f6bb666 (patch)
tree025918776757e25fd996f0dc398ad671bbc9a882 /src/core/service.c
parent69b8a8ebaeaae13e82d44b386555921877bc0309 (diff)
service: fix memory leak in service_add_fd_store()
fixes Coverity #1325767
Diffstat (limited to 'src/core/service.c')
-rw-r--r--src/core/service.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/service.c b/src/core/service.c
index 8c339765a4..ce3b81398d 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -363,8 +363,10 @@ static int service_add_fd_store(Service *s, int fd, const char *name) {
fs->fd = fd;
fs->service = s;
fs->fdname = strdup(name ?: "stored");
- if (!fs->fdname)
+ if (!fs->fdname) {
+ free(fs);
return -ENOMEM;
+ }
r = sd_event_add_io(UNIT(s)->manager->event, &fs->event_source, fd, 0, on_fd_store_io, fs);
if (r < 0) {