diff options
author | reverendhomer <mk.43.ecko@gmail.com> | 2015-10-07 11:55:31 +0300 |
---|---|---|
committer | reverendhomer <mk.43.ecko@gmail.com> | 2015-10-07 11:55:31 +0300 |
commit | 17dec0f703bea85d6cbbae2a75d7960a5f6bb666 (patch) | |
tree | 025918776757e25fd996f0dc398ad671bbc9a882 /src/core/service.c | |
parent | 69b8a8ebaeaae13e82d44b386555921877bc0309 (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.c | 4 |
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) { |