int ret;
metadata_lte = new_lookup_table_entry();
- if (!metadata_lte)
+ if (metadata_lte == NULL)
return WIMLIB_ERR_NOMEM;
- metadata_lte->resource_entry.flags = WIM_RESHDR_FLAG_METADATA;
+ metadata_lte->flags = WIM_RESHDR_FLAG_METADATA;
metadata_lte->unhashed = 1;
new_imd = new_image_metadata();
- if (!new_imd) {
+ if (new_imd == NULL) {
free_lookup_table_entry(metadata_lte);
return WIMLIB_ERR_NOMEM;
}
}
sd = new_wim_security_data();
- if (!sd) {
+ if (sd == NULL) {
ret = WIMLIB_ERR_NOMEM;
goto out;
}
sources[i].fs_source_path,
sources[i].wim_target_path);
add_cmds[i].op = WIMLIB_UPDATE_OP_ADD;
- add_cmds[i].add.add_flags = add_flags;
+ add_cmds[i].add.add_flags = add_flags & ~WIMLIB_ADD_FLAG_BOOT;
add_cmds[i].add.config = (struct wimlib_capture_config*)config;
add_cmds[i].add.fs_source_path = sources[i].fs_source_path;
add_cmds[i].add.wim_target_path = sources[i].wim_target_path;
DEBUG("Adding image \"%"TS"\" from %zu sources (add_flags=%#x)",
name, num_sources, add_flags);
+ for (size_t i = 0; i < num_sources; i++)
+ if (sources[i].reserved != 0)
+ return WIMLIB_ERR_INVALID_PARAM;
+
/* Add the new image (initially empty) */
ret = wimlib_add_empty_image(wim, name, NULL);
if (ret)
/* Translate the "capture sources" into generic update commands. */
add_cmds = capture_sources_to_add_cmds(sources, num_sources,
add_flags, config);
- if (!add_cmds) {
+ if (add_cmds == NULL) {
ret = WIMLIB_ERR_NOMEM;
goto out_delete_image;
}