&((const struct wim_lookup_table_entry_disk*)buf)[i];
struct wim_reshdr reshdr;
u16 part_number;
- struct wim_lookup_table_entry *duplicate_entry;
/* Get the resource header */
get_wim_reshdr(&disk_entry->reshdr, &reshdr);
/* Lookup table entry for a non-metadata stream. */
/* Ignore this stream if it's a duplicate. */
- duplicate_entry = lookup_stream(table, cur_entry->hash);
- if (duplicate_entry) {
+ if (lookup_stream(table, cur_entry->hash)) {
num_duplicate_entries++;
goto free_cur_entry_and_continue;
}
cur_entry->offset_in_res = 0;
cur_entry->size = reshdr.uncompressed_size;
cur_entry->flags = reshdr.flags;
+ ret = validate_resource(cur_rspec);
cur_rspec = NULL;
+ if (ret)
+ goto out;
}
continue;