From eb179c500cd7e490a14a8b55d9e2c57dec2e4921 Mon Sep 17 00:00:00 2001 From: Sebastian Wick Date: Tue, 30 Jun 2026 22:39:25 +0200 Subject: [PATCH] dir: Fix NULL dereference in replace_contents_compressed g_file_replace can return NULL on failure (e.g. disk full). The result was passed to g_converter_output_stream_new before the NULL check. Move the check before use. --- common/flatpak-dir.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c index 49283070f..5a844eae5 100644 --- a/common/flatpak-dir.c +++ b/common/flatpak-dir.c @@ -5741,10 +5741,11 @@ replace_contents_compressed (GFile *dest, compressor = g_zlib_compressor_new (G_ZLIB_COMPRESSOR_FORMAT_GZIP, -1); out = g_file_replace (dest, NULL, FALSE, G_FILE_CREATE_REPLACE_DESTINATION, NULL, error); - out2 = g_converter_output_stream_new (G_OUTPUT_STREAM (out), G_CONVERTER (compressor)); if (out == NULL) return FALSE; + out2 = g_converter_output_stream_new (G_OUTPUT_STREAM (out), G_CONVERTER (compressor)); + if (!g_output_stream_write_all (out2, g_bytes_get_data (contents, NULL), g_bytes_get_size (contents),