fwtool: do not omit final 16 byte when image does not contain signature
[project/fwtool.git] / src / fwtool.c
index 3adc1e02492ccea546761dd05c033c46c5925a37..89e89514ad35f4539b55cc9eddc9d977871e22cc 100644 (file)
@@ -328,12 +328,14 @@ extract_data(const char *name)
                if (extract_tail(&dbuf, &tr, sizeof(tr)))
                        break;
 
-               data_len = be32_to_cpu(tr.size) - sizeof(tr);
                if (tr.magic != cpu_to_be32(FWIMAGE_MAGIC)) {
                        msg("Data not found\n");
+                       metadata_keep = true;
                        break;
                }
 
+               data_len = be32_to_cpu(tr.size) - sizeof(tr);
+
                if (be32_to_cpu(tr.crc32) != tail_crc32(&dbuf, crc32)) {
                        msg("CRC error\n");
                        break;