- "# 72 0x48 Incompatible features bitfield (6 bytes)" -> the field is 8 bytes / uint64_t. The code is correct.
- The QcowInspector should check the reserved bits as well. The specs state: "An implementation must fail to open an image if an unknown bit is set."
- The VMDKInspector has an incomplete check. In addition to the header at the beginning, there can be a footer at the end of the file. "The footer takes precedence on the header when it exists. The footer should be the last block of the disk and immediately followed by the end-of-stream marker so that they together occupy the last two sectors of the disk."
I took a quick look at the latest patch:
- "# 72 0x48 Incompatible features bitfield (6 bytes)" -> the field is 8 bytes / uint64_t. The code is correct.
- The QcowInspector should check the reserved bits as well. The specs state: "An implementation must fail to open an image if an unknown bit is set."
- The VMDKInspector has an incomplete check. In addition to the header at the beginning, there can be a footer at the end of the file. "The footer takes precedence on the header when it exists. The footer should be the last block of the disk and immediately followed by the end-of-stream marker so that they together occupy the last two sectors of the disk."