mirror of
https://github.com/termux/termux-packages.git
synced 2025-05-11 10:55:36 +00:00
26 lines
897 B
Diff
26 lines
897 B
Diff
diff --git a/base/file_utils.cc b/base/file_utils.cc
|
|
index e4f37228..14ae277a 100644
|
|
--- a/base/file_utils.cc
|
|
+++ b/base/file_utils.cc
|
|
@@ -10,6 +10,7 @@
|
|
#include <fcntl.h>
|
|
#include <unistd.h>
|
|
#include <string.h>
|
|
+#include <cstdlib>
|
|
|
|
//----------------------------------------------------------------
|
|
|
|
@@ -150,9 +151,9 @@ file_utils::zero_superblock(std::string const &path)
|
|
unsigned const SUPERBLOCK_SIZE = 4096;
|
|
file_descriptor fd = open_block_file(path, SUPERBLOCK_SIZE, true, true);
|
|
|
|
- buffer = reinterpret_cast<char *>(aligned_alloc(SUPERBLOCK_SIZE, SUPERBLOCK_SIZE));
|
|
- if (!buffer)
|
|
- throw runtime_error("out of memory");
|
|
+ if (posix_memalign(reinterpret_cast<void**>(&buffer), SUPERBLOCK_SIZE, SUPERBLOCK_SIZE) != 0) {
|
|
+ throw runtime_error("out of memory");
|
|
+ }
|
|
|
|
memset(buffer, 0, SUPERBLOCK_SIZE);
|
|
if (::write(fd.fd_, buffer, SUPERBLOCK_SIZE) != SUPERBLOCK_SIZE)
|