mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 03:29:43 +00:00
dmg: warn when opening dmg images containing blocks of unknown type
Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Claudio Fontana <cfontana@suse.de> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220929093035.4231-5-cfontana@suse.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
c551fb0b53
commit
971974f0a9
19
block/dmg.c
19
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;
|
||||
|
Loading…
Reference in New Issue
Block a user