| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent ffba321 commit a618dc3
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -32,7 +32,7 @@ | |||
| 32 | 32 | #if defined(USE_MPROTECT) | |
| 33 | 33 | size_t GetPageSize() { | |
| 34 | 34 | int page_size = sysconf(_SC_PAGE_SIZE); | |
| 35 | - EXPECT_GE(page_size, 1); | ||
| 35 | + CHECK_GE(page_size, 1); | ||
| 36 | 36 | return page_size; | |
| 37 | 37 | } | |
| 38 | 38 | #elif defined(USE_VIRTUALPROTECT) | |
@@ -49,32 +49,32 @@ class OverrunGuardedBuffer { | |||
| 49 | 49 | OverrunGuardedBuffer() { | |
| 50 | 50 | #if defined(USE_MPROTECT) || defined(USE_VIRTUALPROTECT) | |
| 51 | 51 | size_t page = GetPageSize(); | |
| 52 | - EXPECT_GE(page, N); | ||
| 52 | + CHECK_GE(page, N); | ||
| 53 | 53 | #endif | |
| 54 | 54 | #ifdef USE_MPROTECT | |
| 55 | 55 | // Place the packet right before a guard page, which, when accessed, causes | |
| 56 | 56 | // a segmentation fault. | |
| 57 | 57 | alloc_base = static_cast<uint8_t*>(aligned_alloc(page, 2 * page)); | |
| 58 | - EXPECT_NE(alloc_base, nullptr); | ||
| 58 | + CHECK_NOT_NULL(alloc_base); | ||
| 59 | 59 | uint8_t* second_page = alloc_base + page; | |
| 60 | - EXPECT_EQ(mprotect(second_page, page, PROT_NONE), 0); | ||
| 60 | + CHECK_EQ(mprotect(second_page, page, PROT_NONE), 0); | ||
| 61 | 61 | data_base = second_page - N; | |
| 62 | 62 | #elif defined(USE_VIRTUALPROTECT) | |
| 63 | 63 | // On Windows, it works almost the same way. | |
| 64 | 64 | alloc_base = static_cast<uint8_t*>( | |
| 65 | 65 | VirtualAlloc(nullptr, 2 * page, MEM_COMMIT, PAGE_READWRITE)); | |
| 66 | - EXPECT_NE(alloc_base, nullptr); | ||
| 66 | + CHECK_NOT_NULL(alloc_base); | ||
| 67 | 67 | uint8_t* second_page = alloc_base + page; | |
| 68 | 68 | DWORD old_prot; | |
| 69 | - EXPECT_NE(VirtualProtect(second_page, page, PAGE_NOACCESS, &old_prot), 0); | ||
| 70 | - EXPECT_EQ(old_prot, PAGE_READWRITE); | ||
| 69 | + CHECK_NE(VirtualProtect(second_page, page, PAGE_NOACCESS, &old_prot), 0); | ||
| 70 | + CHECK_EQ(old_prot, PAGE_READWRITE); | ||
| 71 | 71 | data_base = second_page - N; | |
| 72 | 72 | #else | |
| 73 | 73 | // Place the packet in a regular allocated buffer. The bug causes undefined | |
| 74 | 74 | // behavior, which might crash the process, and when it does not, address | |
| 75 | 75 | // sanitizers and valgrind will catch it. | |
| 76 | 76 | alloc_base = static_cast<uint8_t*>(malloc(N)); | |
| 77 | - EXPECT_NE(alloc_base, nullptr); | ||
| 77 | + CHECK_NOT_NULL(alloc_base); | ||
| 78 | 78 | data_base = alloc_base; | |
| 79 | 79 | #endif | |
| 80 | 80 | } | |
@@ -92,7 +92,7 @@ class OverrunGuardedBuffer { | |||
| 92 | 92 | #ifdef USE_MPROTECT | |
| 93 | 93 | // Revert page protection such that the memory can be free()'d. | |
| 94 | 94 | uint8_t* second_page = alloc_base + page; | |
| 95 | - EXPECT_EQ(mprotect(second_page, page, PROT_READ | PROT_WRITE), 0); | ||
| 95 | + CHECK_EQ(mprotect(second_page, page, PROT_READ | PROT_WRITE), 0); | ||
| 96 | 96 | #endif | |
| 97 | 97 | free(alloc_base); | |
| 98 | 98 | #endif | |
| Back | FazBrowse Home | New Git URL |
0 commit comments