From: Rich Felker Date: Mon, 6 Jun 2011 22:10:43 +0000 (-0400) Subject: use volatile pointers for intentional-crash code. X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=commitdiff_plain;h=71a80c5767aa4e6b7cbc2b58feef3cfca76e29fe use volatile pointers for intentional-crash code. --- 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; } diff --git a/src/time/__asctime.c b/src/time/__asctime.c index 18535802..d31f6347 100644 --- a/src/time/__asctime.c +++ b/src/time/__asctime.c @@ -21,7 +21,7 @@ char *__asctime(const struct tm *tm, char *buf) * application developers that they may not be so lucky * on other implementations (e.g. stack smashing..). */ - *(int*)0 = 0; + *(volatile int*)0 = 0; } return buf; }