From 940af669b3a703145185c947e31d1d3374bc66da Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 9 Mar 2009 19:10:18 +0100 Subject: poison: added valgrind support If the header valgrind/memcheck.h is available, add VALGRIND_MAKE_MEM_NOACCESS() and VALGRIND_MAKE_MEM_UNDEFINED() support, which enables nice warnings in the valgrind memory checker. --- src/poison.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/poison.h') diff --git a/src/poison.h b/src/poison.h index d37ff233..fa924a31 100644 --- a/src/poison.h +++ b/src/poison.h @@ -20,6 +20,12 @@ #define MPD_POISON_H #ifndef NDEBUG +#include "config.h" + +#ifdef HAVE_VALGRIND_MEMCHECK_H +#include +#endif + #include #endif @@ -37,6 +43,10 @@ poison_noaccess(void *p, size_t length) (void)length; #else memset(p, 0x01, length); + +#ifdef HAVE_VALGRIND_MEMCHECK_H + VALGRIND_MAKE_MEM_NOACCESS(p, length); +#endif #endif } @@ -54,6 +64,10 @@ poison_undefined(void *p, size_t length) (void)length; #else memset(p, 0x02, length); + +#ifdef HAVE_VALGRIND_MEMCHECK_H + VALGRIND_MAKE_MEM_UNDEFINED(p, length); +#endif #endif } -- cgit v1.2.3