From 2667e4bdc165a00aeeec59e79fae0ff265343ef6 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Wed, 10 Mar 2021 20:15:00 +0000 Subject: [PATCH] synaptics-rmi: Never create a zero-sized v10 container --- plugins/synaptics-rmi/fu-synaptics-rmi-firmware.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/synaptics-rmi/fu-synaptics-rmi-firmware.c b/plugins/synaptics-rmi/fu-synaptics-rmi-firmware.c index bdcf43cd6..32261c3c1 100644 --- a/plugins/synaptics-rmi/fu-synaptics-rmi-firmware.c +++ b/plugins/synaptics-rmi/fu-synaptics-rmi-firmware.c @@ -558,7 +558,7 @@ static GBytes * fu_synaptics_rmi_firmware_write_v10 (FuFirmware *firmware, GError **error) { FuSynapticsRmiFirmware *self = FU_SYNAPTICS_RMI_FIRMWARE (firmware); - gsize bufsz = 0; + gsize bufsz; guint32 csum; g_autoptr(FuFirmware) img = NULL; g_autoptr(GByteArray) buf = g_byte_array_new (); @@ -574,7 +574,7 @@ fu_synaptics_rmi_firmware_write_v10 (FuFirmware *firmware, GError **error) guint32 offset_table[] = { RMI_IMG_FW_OFFSET + 0x24 }; /* offset to first RmiFirmwareContainerDescriptor */ RmiFirmwareContainerDescriptor desc = { .container_id = GUINT16_TO_LE(RMI_FIRMWARE_CONTAINER_ID_FLASH_CONFIG), - .content_length = GUINT32_TO_LE(bufsz), + .content_length = 0x0, .content_address = GUINT32_TO_LE(RMI_IMG_FW_OFFSET + 0x44), }; @@ -586,6 +586,7 @@ fu_synaptics_rmi_firmware_write_v10 (FuFirmware *firmware, GError **error) if (buf_blob == NULL) return NULL; bufsz = g_bytes_get_size (buf_blob); + desc.content_length = GUINT32_TO_LE(bufsz); /* create empty block */ fu_byte_array_set_size (buf, RMI_IMG_FW_OFFSET + 0x48);