diff --git a/src/journal-remote/journal-remote-parse.c b/src/journal-remote/journal-remote-parse.c index d743b217b0..2ef084f502 100644 --- a/src/journal-remote/journal-remote-parse.c +++ b/src/journal-remote/journal-remote-parse.c @@ -6,20 +6,20 @@ #include "parse-util.h" #include "string-util.h" -void source_free(RemoteSource *source) { +RemoteSource* source_free(RemoteSource *source) { if (!source) - return; + return NULL; journal_importer_cleanup(&source->importer); - log_debug("Writer ref count %u", source->writer->n_ref); + log_trace("Writer ref count %u", source->writer->n_ref); writer_unref(source->writer); sd_event_source_unref(source->event); sd_event_source_unref(source->buffer_event); free(source->encoding); - free(source); + return mfree(source); } /** diff --git a/src/journal-remote/journal-remote-parse.h b/src/journal-remote/journal-remote-parse.h index 89d30b8721..afe83dfc0f 100644 --- a/src/journal-remote/journal-remote-parse.h +++ b/src/journal-remote/journal-remote-parse.h @@ -19,5 +19,6 @@ typedef struct RemoteSource { } RemoteSource; RemoteSource* source_new(int fd, bool passive_fd, char *name, Writer *writer); -void source_free(RemoteSource *source); +RemoteSource* source_free(RemoteSource *source); +DEFINE_TRIVIAL_CLEANUP_FUNC(RemoteSource*, source_free); int process_source(RemoteSource *source, JournalFileFlags file_flags);