On 9/28/22 05:29, Claudio Fontana wrote:
From: Kevin Wolf <kw...@redhat.com>
Signed-off-by: Claudio Fontana <cfont...@suse.de>
---
block/dmg.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
If it's from Kevin, it should have his s-o-b as well. With that,
Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
r~
diff --git a/block/dmg.c b/block/dmg.c
index 837f18aa20..96f8c2d14f 100644
--- a/block/dmg.c
+++ b/block/dmg.c
@@ -254,6 +254,25 @@ static int dmg_read_mish_block(BDRVDMGState *s,
DmgHeaderState *ds,
for (i = s->n_chunks; i < s->n_chunks + chunk_count; i++) {
s->types[i] = buff_read_uint32(buffer, offset);
if (!dmg_is_known_block_type(s->types[i])) {
+ switch (s->types[i]) {
+ case UDBZ:
+ warn_report_once("dmg-bzip2 module is missing, accessing bzip2
"
+ "compressed blocks will result in I/O
errors");
+ break;
+ case ULFO:
+ warn_report_once("dmg-lzfse module is missing, accessing lzfse
"
+ "compressed blocks will result in I/O
errors");
+ break;
+ case UDCM:
+ case UDLE:
+ /* Comments and last entry can be ignored without problems */
+ break;
+ default:
+ warn_report_once("Image contains chunks of unknown type %x, "
+ "accessing them will result in I/O errors",
+ s->types[i]);
+ break;
+ }
chunk_count--;
i--;
offset += 40;