From a194c4212983b44db08349d2ae65389ecf4dd786 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Tue, 18 Jul 2023 11:07:59 -0400 Subject: [PATCH] gdump: Fix leaked io streams This makes Meson unit test fail: https://github.com/mesonbuild/meson/issues/11754 --- gdump.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gdump.c b/gdump.c index 055a8b8c1..449b260a4 100644 --- a/gdump.c +++ b/gdump.c @@ -594,6 +594,7 @@ g_irepository_dump (const char *arg, GError **error) if (output == NULL) { g_input_stream_close (G_INPUT_STREAM (input), NULL, NULL); + g_object_unref (input); return FALSE; } @@ -674,11 +675,12 @@ g_irepository_dump (const char *arg, GError **error) ioerror = NULL; else ioerror = error; - if (!g_input_stream_close (G_INPUT_STREAM (in), NULL, ioerror)) - return FALSE; - if (!g_output_stream_close (G_OUTPUT_STREAM (output), NULL, ioerror)) - return FALSE; + caught_error |= !g_input_stream_close (G_INPUT_STREAM (in), NULL, ioerror); + caught_error |= !g_output_stream_close (G_OUTPUT_STREAM (output), NULL, ioerror); } + g_object_unref (in); + g_object_unref (output); + return !caught_error; }