From: Daan De Meyer <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Tested-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Daan De Meyer <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
---
hw/core/loader.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/hw/core/loader.c b/hw/core/loader.c
index 21204a0cb91..4952443fe5d 100644
--- a/hw/core/loader.c
+++ b/hw/core/loader.c
@@ -898,7 +898,7 @@ ssize_t unpack_efi_zboot_image(uint8_t **buffer, ssize_t
*size)
{
const size_t max_bytes = LOAD_IMAGE_MAX_DECOMPRESSED_BYTES;
const struct linux_efi_zboot_header *header;
- uint8_t *data = NULL;
+ g_autofree uint8_t *data = NULL;
ssize_t ploff, plsize;
ssize_t bytes;
@@ -936,12 +936,11 @@ ssize_t unpack_efi_zboot_image(uint8_t **buffer, ssize_t
*size)
bytes = gunzip(data, max_bytes, *buffer + ploff, plsize);
if (bytes < 0) {
fprintf(stderr, "failed to decompress EFI zboot image\n");
- g_free(data);
return -1;
}
g_free(*buffer);
- *buffer = g_realloc(data, bytes);
+ *buffer = g_realloc(g_steal_pointer(&data), bytes);
*size = bytes;
return bytes;
}
--
2.52.0