mirror of
https://github.com/GrapheneOS/hardened_malloc.git
synced 2025-05-23 08:21:24 -04:00
perform size checks on various operations
Signed-off-by: Tavi <tavi@divested.dev> Co-authored-by: =?UTF-8?q?Christian=20G=C3=B6ttsche?= <cgzones@googlemail.com>
This commit is contained in:
parent
7481c8857f
commit
2f06cddeb7
46 changed files with 1166 additions and 13 deletions
155
test/test_smc.py
155
test/test_smc.py
|
@ -238,5 +238,160 @@ class TestSimpleMemoryCorruption(unittest.TestCase):
|
|||
"realloc_init")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
#def test_memcpy_buffer_overflow(self):
|
||||
# _stdout, stderr, returncode = self.run_test(
|
||||
# "memcpy_buffer_overflow")
|
||||
# self.assertEqual(returncode, -6)
|
||||
# self.assertEqual(stderr.decode(
|
||||
# "utf-8"), "fatal allocator error: memcpy buffer overflow\n")
|
||||
|
||||
#def test_memcpy_read_overflow(self):
|
||||
# _stdout, stderr, returncode = self.run_test(
|
||||
# "memcpy_read_overflow")
|
||||
# self.assertEqual(returncode, -6)
|
||||
# self.assertEqual(stderr.decode(
|
||||
# "utf-8"), "fatal allocator error: memcpy read overflow\n")
|
||||
|
||||
def test_memcpy_valid_same(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"memcpy_valid_same")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
def test_memcpy_valid_mismatched(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"memcpy_valid_mismatched")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
#def test_memccpy_buffer_overflow(self):
|
||||
# _stdout, stderr, returncode = self.run_test(
|
||||
# "memccpy_buffer_overflow")
|
||||
# self.assertEqual(returncode, -6)
|
||||
# self.assertEqual(stderr.decode(
|
||||
# "utf-8"), "fatal allocator error: memccpy buffer overflow\n")
|
||||
|
||||
#def test_memccpy_read_overflow(self):
|
||||
# _stdout, stderr, returncode = self.run_test(
|
||||
# "memccpy_read_overflow")
|
||||
# self.assertEqual(returncode, -6)
|
||||
# self.assertEqual(stderr.decode(
|
||||
# "utf-8"), "fatal allocator error: memccpy read overflow\n")
|
||||
|
||||
def test_memccpy_valid_same(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"memccpy_valid_same")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
def test_memccpy_valid_mismatched(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"memccpy_valid_mismatched")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
|
||||
#def test_memmove_buffer_overflow(self):
|
||||
# _stdout, stderr, returncode = self.run_test(
|
||||
# "memmove_buffer_overflow")
|
||||
# self.assertEqual(returncode, -6)
|
||||
# self.assertEqual(stderr.decode(
|
||||
# "utf-8"), "fatal allocator error: memmove buffer overflow\n")
|
||||
|
||||
#def test_memmove_read_overflow(self):
|
||||
# _stdout, stderr, returncode = self.run_test(
|
||||
# "memmove_read_overflow")
|
||||
# self.assertEqual(returncode, -6)
|
||||
# self.assertEqual(stderr.decode(
|
||||
# "utf-8"), "fatal allocator error: memmove read overflow\n")
|
||||
|
||||
def test_memmove_valid_same(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"memmove_valid_same")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
def test_memmove_valid_mismatched(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"memmove_valid_mismatched")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
#def test_memset_buffer_overflow(self):
|
||||
# _stdout, stderr, returncode = self.run_test(
|
||||
# "memset_buffer_overflow")
|
||||
# self.assertEqual(returncode, -6)
|
||||
# self.assertEqual(stderr.decode(
|
||||
# "utf-8"), "fatal allocator error: memset buffer overflow\n")
|
||||
|
||||
#def test_wmemcpy_buffer_overflow(self):
|
||||
# _stdout, stderr, returncode = self.run_test(
|
||||
# "wmemcpy_buffer_overflow")
|
||||
# self.assertEqual(returncode, -6)
|
||||
# self.assertEqual(stderr.decode(
|
||||
# "utf-8"), "fatal allocator error: wmemcpy buffer overflow\n")
|
||||
|
||||
#def test_wmemcpy_read_overflow(self):
|
||||
# _stdout, stderr, returncode = self.run_test(
|
||||
# "wmemcpy_read_overflow")
|
||||
# self.assertEqual(returncode, -6)
|
||||
# self.assertEqual(stderr.decode(
|
||||
# "utf-8"), "fatal allocator error: wmemcpy read overflow\n")
|
||||
|
||||
def test_wmemcpy_valid_same(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"wmemcpy_valid_same")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
def test_wmemcpy_valid_mismatched(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"wmemcpy_valid_mismatched")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
#def test_wmemmove_buffer_overflow(self):
|
||||
# _stdout, stderr, returncode = self.run_test(
|
||||
# "wmemmove_buffer_overflow")
|
||||
# self.assertEqual(returncode, -6)
|
||||
# self.assertEqual(stderr.decode(
|
||||
# "utf-8"), "fatal allocator error: wmemmove buffer overflow\n")
|
||||
|
||||
#def test_wmemmove_read_overflow(self):
|
||||
# _stdout, stderr, returncode = self.run_test(
|
||||
# "wmemmove_read_overflow")
|
||||
# self.assertEqual(returncode, -6)
|
||||
# self.assertEqual(stderr.decode(
|
||||
# "utf-8"), "fatal allocator error: wmemmove read overflow\n")
|
||||
|
||||
def test_wmemmove_valid_same(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"wmemmove_valid_same")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
def test_wmemmove_valid_mismatched(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"wmemmove_valid_mismatched")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
#def test_wmemset_buffer_overflow(self):
|
||||
# _stdout, stderr, returncode = self.run_test(
|
||||
# "wmemset_buffer_overflow")
|
||||
# self.assertEqual(returncode, -6)
|
||||
# self.assertEqual(stderr.decode(
|
||||
# "utf-8"), "fatal allocator error: wmemset buffer overflow\n")
|
||||
|
||||
def test_wmemset_valid_same(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"wmemset_valid_same")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
def test_wmemset_valid_mismatched(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"wmemset_valid_mismatched")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
def test_memset_valid_same(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"memset_valid_same")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
def test_memset_valid_mismatched(self):
|
||||
_stdout, _stderr, returncode = self.run_test(
|
||||
"memset_valid_mismatched")
|
||||
self.assertEqual(returncode, 0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue