From: Michael Tremer Date: Wed, 8 Oct 2025 20:39:06 +0000 (+0000) Subject: file: Another attempt to make the static analyzer happy X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=03e2dfe6c574e2bae31e6710b31fcfa2026cd599;p=telemetry.git file: Another attempt to make the static analyzer happy Signed-off-by: Michael Tremer --- diff --git a/src/daemon/file.c b/src/daemon/file.c index b48ddd6..8701750 100644 --- a/src/daemon/file.c +++ b/src/daemon/file.c @@ -18,6 +18,7 @@ # # #############################################################################*/ +#include #include #include #include @@ -64,50 +65,62 @@ static int collecty_file_create(collecty_file** file, collecty_ctx* ctx) { } int collecty_file_open_path(collecty_file** file, collecty_ctx* ctx, const char* path) { + collecty_file* self = NULL; int r; // Create a new object - r = collecty_file_create(file, ctx); + r = collecty_file_create(&self, ctx); if (r < 0) goto ERROR; + // Make the static analyzer happy + assert(self); + // Open the file - (*file)->f = fopen(path, "r"); - if (!(*file)->f) { + self->f = fopen(path, "r"); + if (!self->f) { ERROR(ctx, "Failed to open %s: %m\n", path); r = -errno; goto ERROR; } + // Return the pointer + *file = self; return 0; ERROR: - if (*file) - collecty_file_unref(*file); + if (self) + collecty_file_unref(self); return r; } int collecty_file_open_buffer(collecty_file** file, collecty_ctx* ctx, collecty_buffer* buffer) { + collecty_file* self = NULL; int r; // Create a new object - r = collecty_file_create(file, ctx); + r = collecty_file_create(&self, ctx); if (r < 0) goto ERROR; + // Make the static analyzer happy + assert(self); + // Open the buffer as a file - (*file)->f = collecty_buffer_fopen(buffer, "r"); - if (!(*file)->f) { + self->f = collecty_buffer_fopen(buffer, "r"); + if (!self->f) { r = -errno; goto ERROR; } + // Return the pointer + *file = self; return 0; ERROR: - if (*file) - collecty_file_unref(*file); + if (self) + collecty_file_unref(self); return r; }