diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2017-01-20 17:06:15 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2017-01-20 17:06:15 +0100 |
commit | 5fc90cb84eec5f5493a8ea2136f9e36b68357e96 (patch) | |
tree | b546285ddd9e7ad644cc98a97ccc3c7e7d20b5b1 /src/qmi-firmware-update | |
parent | ea4b06c9f3b114d90a193e4cbc64cc08ba57a27f (diff) | |
download | external_libqmi-5fc90cb84eec5f5493a8ea2136f9e36b68357e96.zip external_libqmi-5fc90cb84eec5f5493a8ea2136f9e36b68357e96.tar.gz external_libqmi-5fc90cb84eec5f5493a8ea2136f9e36b68357e96.tar.bz2 |
qmi-firware-update: image size 0 is invalid
Diffstat (limited to 'src/qmi-firmware-update')
-rw-r--r-- | src/qmi-firmware-update/qfu-image-cwe.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/qmi-firmware-update/qfu-image-cwe.c b/src/qmi-firmware-update/qfu-image-cwe.c index a0631de..f76afda 100644 --- a/src/qmi-firmware-update/qfu-image-cwe.c +++ b/src/qmi-firmware-update/qfu-image-cwe.c @@ -421,6 +421,12 @@ load_image_info (QfuImageCwe *self, return FALSE; } + /* No image size reported */ + if (!info.hdr.imgsize) { + g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "invalid image size"); + return FALSE; + } + /* Check limits of the current image */ image_end_offset = image_start_offset + GUINT32_FROM_BE (info.hdr.imgsize) + sizeof (QfuCweFileHeader); if (parent_image_end_offset > 0 && parent_image_end_offset < image_end_offset) { |