summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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) {