diff --git a/plugins/synaptics-prometheus/fu-synaprom-firmware.c b/plugins/synaptics-prometheus/fu-synaprom-firmware.c index c24864439..6df8c6fac 100644 --- a/plugins/synaptics-prometheus/fu-synaprom-firmware.c +++ b/plugins/synaptics-prometheus/fu-synaprom-firmware.c @@ -100,6 +100,14 @@ fu_synaprom_firmware_parse (FuFirmware *firmware, return FALSE; } hdrsz = GUINT32_FROM_LE(header.bufsz); + if (hdrsz == 0) { + g_set_error (error, + G_IO_ERROR, + G_IO_ERROR_INVALID_DATA, + "empty header for tag 0x%04x", + tag); + return FALSE; + } offset += sizeof(header) + hdrsz; if (offset > bufsz) { g_set_error (error,