X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fmetadata_resource.c;h=206c274ab0fa0a587344b60a530e376e9feeb68f;hb=933e1e95ffed656c1adb46b3e3c2fda524ef552b;hp=ebd3332b9b773a06b7afd92376e1708c33e3feff;hpb=dfd4355cb99cfcbdfd8b120c52c32df674e787f9;p=wimlib diff --git a/src/metadata_resource.c b/src/metadata_resource.c index ebd3332b..206c274a 100644 --- a/src/metadata_resource.c +++ b/src/metadata_resource.c @@ -152,7 +152,7 @@ prepare_metadata_resource(WIMStruct *wim, int image, int ret; u64 subdir_offset; struct wim_dentry *root; - u64 len; + size_t len; struct wim_security_data *sd; struct wim_image_metadata *imd; @@ -193,10 +193,12 @@ prepare_metadata_resource(WIMStruct *wim, int image, 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; }