|
|
|
@ -2323,8 +2323,8 @@ int iso_src_check_sb_tree(IsoDataSource *src, uint32_t start_lba, int flag)
|
|
|
|
|
/* Relocated Superblock: restart checking at real session start */ |
|
|
|
|
if (next_tag < 32) { |
|
|
|
|
/* Non plausible session_start address */ |
|
|
|
|
iso_msg_submit(-1, ret, 0, NULL); |
|
|
|
|
ret = ISO_SB_TREE_CORRUPTED; |
|
|
|
|
iso_msg_submit(-1, ret, 0, NULL); |
|
|
|
|
goto ex; |
|
|
|
|
} |
|
|
|
|
/* Check real session */ |
|
|
|
@ -2422,13 +2422,15 @@ int iso_image_filesystem_new(IsoDataSource *src, struct iso_read_opts *opts,
|
|
|
|
|
#ifdef Libisofs_with_checksumS |
|
|
|
|
|
|
|
|
|
if (data->md5_load) { |
|
|
|
|
|
|
|
|
|
/* From opts->block on : check for superblock and tree tags */; |
|
|
|
|
ret = iso_src_check_sb_tree(src, opts->block, 0); |
|
|
|
|
if (ret <= 0) { |
|
|
|
|
|
|
|
|
|
/* >>> refuse to load, hint towards loading without MD5 check */; |
|
|
|
|
|
|
|
|
|
if (ret < 0) { |
|
|
|
|
iso_msgs_submit(0, |
|
|
|
|
"Image loading aborted due to MD5 mismatch of image tree data", |
|
|
|
|
0, "FAILURE", 0); |
|
|
|
|
iso_msgs_submit(0, |
|
|
|
|
"You may override this refusal by disabling MD5 checking", |
|
|
|
|
0, "HINT", 0); |
|
|
|
|
goto fs_cleanup; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|