MINOR: pools: Cast to volatile int * instead of int *.

When using DEBUG_MEMORY_POOLS, when we want to crash, instead of using
*(int *)0 = 0, use *(volatile int *)0 = 0, or clang will just translate it
to a nop, instead of dereferencing 0.
This commit is contained in:
Olivier Houchard 2018-12-16 00:58:28 +01:00 committed by Willy Tarreau
parent efef323783
commit 51e474136b

View File

@ -475,7 +475,7 @@ static inline void pool_free(struct pool_head *pool, void *ptr)
#ifdef DEBUG_MEMORY_POOLS
/* we'll get late corruption if we refill to the wrong pool or double-free */
if (*POOL_LINK(pool, ptr) != (void *)pool)
*(int *)0 = 0;
*(volatile int *)0 = 0;
#endif
#ifndef DEBUG_UAF /* normal pool behaviour */