20#define RED_ZONE_SIZE 16
21#define RED_ZONE_BYTE 0x5a
41 unsigned char *userptr;
47 p = (
unsigned char *) hdr +
sizeof(
alloc_hdr);
54 fprintf(stderr,
"RED ZONE CORRUPTED BEFORE ALLOC: hdr=%p ptr=%p size=%ld\n",
55 (
void *) hdr, (
void *) userptr, (
long) size);
67 fprintf(stderr,
"RED ZONE CORRUPTED AFTER ALLOC: hdr=%p ptr=%p size=%ld\n",
68 (
void *) hdr, (
void *) userptr, (
long) size);
99 unsigned char *p, *old_p;
111 old_size = ((
alloc_hdr *) (
void *) old_p)->u.sz;
116 free((
void *) old_p);
129 if (size > old_size) {
131 memset((
void *) (p + old_size),
INIT_BYTE, size - old_size);
140 free((
void *) old_p);
177 old_size = ((
alloc_hdr *) (
void *) p)->u.sz;
void * duk_realloc_torture(void *udata, void *ptr, duk_size_t size)
void duk_free_torture(void *udata, void *ptr)
static void check_red_zone(alloc_hdr *hdr)
void * duk_alloc_torture(void *udata, duk_size_t size)