mirror of
https://github.com/GrapheneOS/hardened_malloc.git
synced 2025-11-04 17:56:33 +01:00
Compare commits
2 commits
e73d483d6c
...
1d1c4ce83d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d1c4ce83d | ||
|
|
849055d0b7 |
4 changed files with 27 additions and 27 deletions
2
.github/workflows/build-and-test.yml
vendored
2
.github/workflows/build-and-test.yml
vendored
|
|
@ -52,4 +52,4 @@ jobs:
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libgcc-s1-arm64-cross cpp-aarch64-linux-gnu
|
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libgcc-s1-arm64-cross cpp-aarch64-linux-gnu
|
||||||
- name: Build
|
- name: Build
|
||||||
run: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-gcc++ make CONFIG_NATIVE=false test
|
run: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-gcc++ make CONFIG_NATIVE=false
|
||||||
|
|
|
||||||
|
|
@ -276,7 +276,7 @@ The following boolean configuration options are available:
|
||||||
hardware, which may become drastically lower in the future. Whether or not
|
hardware, which may become drastically lower in the future. Whether or not
|
||||||
this feature is enabled, the metadata is all contained within an isolated
|
this feature is enabled, the metadata is all contained within an isolated
|
||||||
memory region with high entropy random guard regions around it.
|
memory region with high entropy random guard regions around it.
|
||||||
* `CONFIG_BLOCK_OPS_CHECK_SIZE`: `true` (default) or `false` to ensure length
|
* `CONFIG_BLOCK_OPS_CHECK_SIZE`: `true` or `false` (default) to ensure length
|
||||||
parameter of the memcpy/memmove/memset block operations are within
|
parameter of the memcpy/memmove/memset block operations are within
|
||||||
approximate bounds to minimize buffer overflows. Note, memset override is
|
approximate bounds to minimize buffer overflows. Note, memset override is
|
||||||
currently disabled due to improper behavior.
|
currently disabled due to improper behavior.
|
||||||
|
|
|
||||||
|
|
@ -21,4 +21,4 @@ CONFIG_CLASS_REGION_SIZE := 34359738368 # 32GiB
|
||||||
CONFIG_N_ARENA := 4
|
CONFIG_N_ARENA := 4
|
||||||
CONFIG_STATS := false
|
CONFIG_STATS := false
|
||||||
CONFIG_SELF_INIT := true
|
CONFIG_SELF_INIT := true
|
||||||
CONFIG_BLOCK_OPS_CHECK_SIZE := true
|
CONFIG_BLOCK_OPS_CHECK_SIZE := false
|
||||||
|
|
|
||||||
|
|
@ -238,38 +238,38 @@ class TestSimpleMemoryCorruption(unittest.TestCase):
|
||||||
"realloc_init")
|
"realloc_init")
|
||||||
self.assertEqual(returncode, 0)
|
self.assertEqual(returncode, 0)
|
||||||
|
|
||||||
def test_memcpy_buffer_overflow(self):
|
#def test_memcpy_buffer_overflow(self):
|
||||||
_stdout, stderr, returncode = self.run_test(
|
# _stdout, stderr, returncode = self.run_test(
|
||||||
"memcpy_buffer_overflow")
|
# "memcpy_buffer_overflow")
|
||||||
self.assertEqual(returncode, -6)
|
# self.assertEqual(returncode, -6)
|
||||||
self.assertEqual(stderr.decode(
|
# self.assertEqual(stderr.decode(
|
||||||
"utf-8"), "fatal allocator error: memcpy buffer overflow\n")
|
# "utf-8"), "fatal allocator error: memcpy buffer overflow\n")
|
||||||
|
|
||||||
def test_memcpy_read_overflow(self):
|
#def test_memcpy_read_overflow(self):
|
||||||
_stdout, stderr, returncode = self.run_test(
|
# _stdout, stderr, returncode = self.run_test(
|
||||||
"memcpy_read_overflow")
|
# "memcpy_read_overflow")
|
||||||
self.assertEqual(returncode, -6)
|
# self.assertEqual(returncode, -6)
|
||||||
self.assertEqual(stderr.decode(
|
# self.assertEqual(stderr.decode(
|
||||||
"utf-8"), "fatal allocator error: memcpy read overflow\n")
|
# "utf-8"), "fatal allocator error: memcpy read overflow\n")
|
||||||
|
|
||||||
def test_memcpy_valid(self):
|
def test_memcpy_valid(self):
|
||||||
_stdout, _stderr, returncode = self.run_test(
|
_stdout, _stderr, returncode = self.run_test(
|
||||||
"memcpy_valid")
|
"memcpy_valid")
|
||||||
self.assertEqual(returncode, 0)
|
self.assertEqual(returncode, 0)
|
||||||
|
|
||||||
def test_memmove_buffer_overflow(self):
|
#def test_memmove_buffer_overflow(self):
|
||||||
_stdout, stderr, returncode = self.run_test(
|
# _stdout, stderr, returncode = self.run_test(
|
||||||
"memmove_buffer_overflow")
|
# "memmove_buffer_overflow")
|
||||||
self.assertEqual(returncode, -6)
|
# self.assertEqual(returncode, -6)
|
||||||
self.assertEqual(stderr.decode(
|
# self.assertEqual(stderr.decode(
|
||||||
"utf-8"), "fatal allocator error: memmove buffer overflow\n")
|
# "utf-8"), "fatal allocator error: memmove buffer overflow\n")
|
||||||
|
|
||||||
def test_memmove_read_overflow(self):
|
#def test_memmove_read_overflow(self):
|
||||||
_stdout, stderr, returncode = self.run_test(
|
# _stdout, stderr, returncode = self.run_test(
|
||||||
"memmove_read_overflow")
|
# "memmove_read_overflow")
|
||||||
self.assertEqual(returncode, -6)
|
# self.assertEqual(returncode, -6)
|
||||||
self.assertEqual(stderr.decode(
|
# self.assertEqual(stderr.decode(
|
||||||
"utf-8"), "fatal allocator error: memmove read overflow\n")
|
# "utf-8"), "fatal allocator error: memmove read overflow\n")
|
||||||
|
|
||||||
def test_memmove_valid(self):
|
def test_memmove_valid(self):
|
||||||
_stdout, _stderr, returncode = self.run_test(
|
_stdout, _stderr, returncode = self.run_test(
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue