diff --git a/libfwupdplugin/fu-ihex-firmware.c b/libfwupdplugin/fu-ihex-firmware.c index 6f939e380..2f37d414a 100644 --- a/libfwupdplugin/fu-ihex-firmware.c +++ b/libfwupdplugin/fu-ihex-firmware.c @@ -237,6 +237,13 @@ fu_ihex_firmware_parse (FuFirmware *firmware, "cannot process data after EOF"); return FALSE; } + if (rcd->data->len == 0) { + g_set_error_literal (error, + FWUPD_ERROR, + FWUPD_ERROR_INVALID_FILE, + "cannot parse invalid data"); + return FALSE; + } /* base address for element */ if (img_addr == G_MAXUINT32)