]> git.ipfire.org Git - pakfire.git/commitdiff
log buffer: Free all held lines when freeing the buffer
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 22 Feb 2025 15:44:12 +0000 (15:44 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 22 Feb 2025 15:44:12 +0000 (15:44 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/log_buffer.c

index 49f8e7dc95e17e7b9c2a692f180a9c8dc02c1869..3ef66368f3d5a9e4cdc9c4716bcffa444743252d 100644 (file)
@@ -52,6 +52,16 @@ static void pakfire_log_line_free(struct pakfire_log_line* line) {
 }
 
 static void pakfire_log_buffer_free(struct pakfire_log_buffer* buffer) {
+       struct pakfire_log_line* line = NULL;
+
+       // Free all entries
+       while (!STAILQ_EMPTY(&buffer->lines)) {
+               line = STAILQ_FIRST(&buffer->lines);
+               STAILQ_REMOVE_HEAD(&buffer->lines, nodes);
+
+               pakfire_log_line_free(line);
+       }
+
        if (buffer->ctx)
                pakfire_ctx_unref(buffer->ctx);