int ret;
u64 subdir_offset;
struct wim_dentry *root;
- u64 len;
+ size_t len;
struct wim_security_data *sd;
struct wim_image_metadata *imd;
if (!root) {
/* Empty image; create a dummy root. */
- ret = new_filler_directory(T(""), &root);
+ ret = new_filler_directory(&root);
if (ret)
return ret;
imd->root_dentry = root;
len = subdir_offset;
/* Allocate a buffer to contain the uncompressed metadata resource. */
- buf = MALLOC(len);
+ buf = NULL;
+ if (likely(len == subdir_offset))
+ buf = MALLOC(len);
if (!buf) {
ERROR("Failed to allocate %"PRIu64" bytes for "
- "metadata resource", len);
+ "metadata resource", subdir_offset);
return WIMLIB_ERR_NOMEM;
}