]> wimlib.net Git - wimlib/blobdiff - src/metadata_resource.c
A few comment fixes
[wimlib] / src / metadata_resource.c
index b80ee710bca6f81db4ac6b0c7bece9ef5f0bf344..206c274ab0fa0a587344b60a530e376e9feeb68f 100644 (file)
@@ -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;
 
@@ -169,7 +169,7 @@ prepare_metadata_resource(WIMStruct *wim, int image,
 
        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;
@@ -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;
        }