diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-06-06 18:10:43 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-06-06 18:10:43 -0400 |
commit | 71a80c5767aa4e6b7cbc2b58feef3cfca76e29fe (patch) | |
tree | 5234adea31714c54849ecfad2c223c6b5d1ee510 /src/malloc | |
parent | da88b16a221c9d327e1bfa61dd6f4f08dacce57a (diff) | |
download | musl-71a80c5767aa4e6b7cbc2b58feef3cfca76e29fe.tar.gz musl-71a80c5767aa4e6b7cbc2b58feef3cfca76e29fe.tar.bz2 musl-71a80c5767aa4e6b7cbc2b58feef3cfca76e29fe.tar.xz musl-71a80c5767aa4e6b7cbc2b58feef3cfca76e29fe.zip |
use volatile pointers for intentional-crash code.
Diffstat (limited to 'src/malloc')
-rw-r--r-- | src/malloc/malloc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/malloc/malloc.c b/src/malloc/malloc.c index bc8382e4..1a1a51f4 100644 --- a/src/malloc/malloc.c +++ b/src/malloc/malloc.c @@ -395,7 +395,7 @@ void *realloc(void *p, size_t n) size_t oldlen = n0 + extra; size_t newlen = n + extra; /* Crash on realloc of freed chunk */ - if ((uintptr_t)base < mal.brk) *(char *)0=0; + if ((uintptr_t)base < mal.brk) *(volatile char *)0=0; if (newlen < PAGE_SIZE && (new = malloc(n))) { memcpy(new, p, n-OVERHEAD); free(p); @@ -458,7 +458,7 @@ void free(void *p) char *base = (char *)self - extra; size_t len = CHUNK_SIZE(self) + extra; /* Crash on double free */ - if ((uintptr_t)base < mal.brk) *(char *)0=0; + if ((uintptr_t)base < mal.brk) *(volatile char *)0=0; __munmap(base, len); return; } |