]> wimlib.net Git - wimlib/blobdiff - src/resource.c
header cleanups
[wimlib] / src / resource.c
index 20e27e1776b55b9825fe80b110c31da181ddfa33..d5c26b40c00ace2b4392e8821879b22276fb7284 100644 (file)
 #  include "config.h"
 #endif
 
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "wimlib/alloca.h"
 #include "wimlib/assert.h"
 #include "wimlib/bitops.h"
 #include "wimlib/endianness.h"
 #  include "wimlib/ntfs_3g.h"
 #endif
 
-#ifdef HAVE_ALLOCA_H
-#  include <alloca.h>
-#endif
-#include <errno.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
 
 /*
  *                         Compressed WIM resources
@@ -137,7 +135,6 @@ read_compressed_wim_resource(const struct wim_resource_spec * const rspec,
        int errno_save;
 
        u64 *chunk_offsets = NULL;
-       u8 *_ubuf = NULL;
        u8 *ubuf = NULL;
        void *cbuf = NULL;
        bool chunk_offsets_malloced = false;
@@ -368,14 +365,13 @@ read_compressed_wim_resource(const struct wim_resource_spec * const rspec,
 
        /* Allocate buffer for holding the uncompressed data of each chunk.  */
        if (chunk_size <= STACK_MAX) {
-               _ubuf = alloca(chunk_size + 15);
+               ubuf = alloca(chunk_size);
        } else {
-               _ubuf = MALLOC(chunk_size + 15);
-               if (_ubuf == NULL)
+               ubuf = MALLOC(chunk_size);
+               if (ubuf == NULL)
                        goto oom;
                ubuf_malloced = true;
        }
-       ubuf = (u8 *)(((uintptr_t)_ubuf + 15) & ~15);
 
        /* Allocate a temporary buffer for reading compressed chunks, each of
         * which can be at most @chunk_size - 1 bytes.  This excludes compressed
@@ -549,7 +545,7 @@ out_free_memory:
        if (chunk_offsets_malloced)
                FREE(chunk_offsets);
        if (ubuf_malloced)
-               FREE(_ubuf);
+               FREE(ubuf);
        if (cbuf_malloced)
                FREE(cbuf);
        errno = errno_save;