X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fverify.c;h=f85446a7db2bf3e85a6b21c10d75ec6c4829cc33;hp=3e709767f2a5a80f98d131ec527a37598d17f449;hb=0fcd5cc81145bc736e815aee321fd736277c0846;hpb=037dc6208a1e57910a46e05f5de2788d8adfa207;ds=sidebyside diff --git a/src/verify.c b/src/verify.c index 3e709767..f85446a7 100644 --- a/src/verify.c +++ b/src/verify.c @@ -45,20 +45,13 @@ verify_inode(struct wim_inode *inode, const WIMStruct *w) /* Check the security ID. -1 is valid and means "no security * descriptor". Anything else has to be a valid index into the WIM * image's security descriptors table. */ - if (inode->i_security_id < -1) { - ERROR("Dentry `%"TS"' has an invalid security ID (%d)", - dentry_full_path(first_dentry), inode->i_security_id); - return WIMLIB_ERR_INVALID_DENTRY; - } - - if (inode->i_security_id >= 0 && - inode->i_security_id >= sd->num_entries) + if (inode->i_security_id < -1 || + (inode->i_security_id >= 0 && + inode->i_security_id >= sd->num_entries)) { - ERROR("Dentry `%"TS"' has an invalid security ID (%d) " - "(there are only %u entries in the security table)", - dentry_full_path(first_dentry), inode->i_security_id, - sd->num_entries); - return WIMLIB_ERR_INVALID_DENTRY; + WARNING("\"%"TS"\" has an invalid security ID (%d)", + dentry_full_path(first_dentry), inode->i_security_id); + inode->i_security_id = -1; } /* Check that lookup table entries for all the inode's stream exist,