From 6fd7a62efe11ebbd96270eb44c3721b30b110a02 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Tue, 30 Aug 2022 16:39:39 +0100 Subject: [PATCH] uf2: Fix a small memory leak when parsing files Fixes https://oss-fuzz.com/testcase-detail/4617823934087168 --- plugins/uf2/fu-uf2-firmware.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/uf2/fu-uf2-firmware.c b/plugins/uf2/fu-uf2-firmware.c index 1b6444407..f8e73caca 100644 --- a/plugins/uf2/fu-uf2-firmware.c +++ b/plugins/uf2/fu-uf2-firmware.c @@ -239,6 +239,7 @@ fu_uf2_firmware_parse(FuFirmware *firmware, { FuUf2Firmware *self = FU_UF2_FIRMWARE(firmware); g_autoptr(GByteArray) tmp = g_byte_array_new(); + g_autoptr(GBytes) blob = NULL; g_autoptr(GPtrArray) chunks = NULL; /* read in fixed sized chunks */ @@ -250,7 +251,8 @@ fu_uf2_firmware_parse(FuFirmware *firmware, } /* success */ - fu_firmware_set_bytes(firmware, g_byte_array_free_to_bytes(g_steal_pointer(&tmp))); + blob = g_byte_array_free_to_bytes(g_steal_pointer(&tmp)); + fu_firmware_set_bytes(firmware, blob); return TRUE; }