]> wimlib.net Git - wimlib/commitdiff
verify_inode(): Fix verifying already-resolved inodes
authorEric Biggers <ebiggers3@gmail.com>
Tue, 21 May 2013 20:03:27 +0000 (15:03 -0500)
committerEric Biggers <ebiggers3@gmail.com>
Tue, 21 May 2013 20:03:27 +0000 (15:03 -0500)
src/verify.c

index a4be1f8b1ccc7d9105905d483bb3ba3a2546953f..3e709767f2a5a80f98d131ec527a37598d17f449 100644 (file)
@@ -66,11 +66,11 @@ verify_inode(struct wim_inode *inode, const WIMStruct *w)
         * empty stream.
         *
         * This check is skipped on split WIMs. */
-       if (w->hdr.total_parts == 1) {
+       if (w->hdr.total_parts == 1 && !inode->i_resolved) {
                for (unsigned i = 0; i <= inode->i_num_ads; i++) {
                        struct wim_lookup_table_entry *lte;
                        const u8 *hash;
-                       hash = inode_stream_hash_unresolved(inode, i);
+                       hash = inode_stream_hash(inode, i);
                        lte = __lookup_resource(table, hash);
                        if (!lte && !is_zero_hash(hash)) {
                                ERROR("Could not find lookup table entry for stream "
@@ -87,7 +87,7 @@ verify_inode(struct wim_inode *inode, const WIMStruct *w)
        unsigned num_unnamed_streams = 0;
        for (unsigned i = 0; i <= inode->i_num_ads; i++) {
                const u8 *hash;
-               hash = inode_stream_hash_unresolved(inode, i);
+               hash = inode_stream_hash(inode, i);
                if (inode_stream_name_nbytes(inode, i) == 0 && !is_zero_hash(hash))
                        num_unnamed_streams++;
        }