|
|
|
@ -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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|