bigger initial map when LTO

This commit is contained in:
van Hauser 2020-05-11 10:45:20 +02:00
parent 50a63777ec
commit 41f6aa7940
3 changed files with 20 additions and 17 deletions

View File

@ -233,19 +233,17 @@ static inline u8 *DFL_ck_memdup_str(u8 *mem, u32 size) {
/* User-facing macro to sprintf() to a dynamically allocated buffer. */
#define alloc_printf(_str...) \
({ \
\
\
\
u8 *_tmp; \
s32 _len = snprintf(NULL, 0, _str); \
if (_len < 0) FATAL("Whoa, snprintf() fails?!"); \
_tmp = ck_alloc(_len + 1); \
snprintf((char *)_tmp, _len + 1, _str); \
_tmp;
})
#define alloc_printf(_str...) \
({ \
\
u8 *_tmp; \
s32 _len = snprintf(NULL, 0, _str); \
if (_len < 0) FATAL("Whoa, snprintf() fails?!"); \
_tmp = ck_alloc(_len + 1); \
snprintf((char *)_tmp, _len + 1, _str); \
_tmp; \
\
})
/* Macro to enforce allocation limits as a last-resort defense against
integer overflows. */
@ -263,9 +261,7 @@ static inline u8 *DFL_ck_memdup_str(u8 *mem, u32 size) {
\
if (!(_r)) ABORT("Out of memory: can't allocate %u bytes", (_s)); \
\
}
while (0)
} while (0)
/* Magic tokens used to mark used / freed chunks. */

View File

@ -10,6 +10,8 @@
*/
#include <stdio.h>
// to prevent the function from being removed
unsigned char __afl_lto_mode = 0;
@ -17,6 +19,7 @@ unsigned char __afl_lto_mode = 0;
__attribute__((constructor(0))) void __afl_auto_init_globals(void) {
if (getenv("AFL_DEBUG")) fprintf(stderr, "[__afl_auto_init_globals]\n");
__afl_lto_mode = 1;
}

View File

@ -63,7 +63,11 @@
is used for instrumentation output before __afl_map_shm() has a chance to
run. It will end up as .comm, so it shouldn't be too wasteful. */
u8 __afl_area_initial[MAP_SIZE];
#ifdef AFL_REAL_LD
u8 __afl_area_initial[256000];
#else
u8 __afl_area_initial[MAP_SIZE];
#endif
u8 *__afl_area_ptr = __afl_area_initial;
u8 *__afl_dictionary;