]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
journal-remote: fix memory leak on initialization error 25779/head
authorLuca Boccassi <bluca@debian.org>
Sun, 18 Dec 2022 10:58:37 +0000 (10:58 +0000)
committerLuca Boccassi <bluca@debian.org>
Sun, 18 Dec 2022 10:58:47 +0000 (10:58 +0000)
Follow-up for f12b399dd6362a03379cb769954ebfb9972236ed from
https://github.com/systemd/systemd/pull/25076

CID#1501550

src/journal-remote/journal-remote-write.c

index 2e58c6d91ee95f4fa6446bcfc034d26d170f4f36..f6c3d83732b7f8272e10cb2490519bf4fb960102 100644 (file)
@@ -22,7 +22,7 @@ static int do_rotate(ManagedJournalFile **f, MMapCache *m, JournalFileFlags file
 }
 
 Writer* writer_new(RemoteServer *server) {
-        Writer *w;
+        _cleanup_(writer_unrefp) Writer *w = NULL;
         int r;
 
         w = new0(Writer, 1);
@@ -33,7 +33,7 @@ Writer* writer_new(RemoteServer *server) {
 
         w->mmap = mmap_cache_new();
         if (!w->mmap)
-                return mfree(w);
+                return NULL;
 
         w->n_ref = 1;
         w->server = server;
@@ -50,7 +50,7 @@ Writer* writer_new(RemoteServer *server) {
                 }
         }
 
-        return w;
+        return TAKE_PTR(w);
 }
 
 static Writer* writer_free(Writer *w) {