On 11/10/25 10:15, Daan De Meyer wrote:
Signed-off-by: Daan De Meyer <[email protected]>
---
  hw/core/loader.c | 30 +++++++++++++++++++++---------
  1 file changed, 21 insertions(+), 9 deletions(-)


@@ -899,7 +896,22 @@ ssize_t unpack_efi_zboot_image(uint8_t **buffer, ssize_t 
*size)
      }
data = g_malloc(LOAD_IMAGE_MAX_DECOMPRESSED_BYTES);
-    bytes = gunzip(data, LOAD_IMAGE_MAX_DECOMPRESSED_BYTES, *buffer + ploff, 
plsize);
+
+    if (strcmp(header->compression_type, "gzip") == 0) {
+        bytes = gunzip(data, LOAD_IMAGE_MAX_DECOMPRESSED_BYTES, *buffer + 
ploff, plsize);
+#ifdef CONFIG_ZSTD
+    } else if (strcmp(header->compression_type, "zstd") == 0) {
+        size_t ret = ZSTD_decompress(data, LOAD_IMAGE_MAX_DECOMPRESSED_BYTES, 
*buffer + ploff, plsize);

(here I'd re-use a shorter local variable instead of this def)

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>


Reply via email to