X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Fcommon_allocation.c;h=dfa65d579dc6b74b0e566e44baff2fc5451dcaa1;hb=72c8645af31896829b674b575c5375706f362a30;hp=90af6e0912377a1401b41000f221015ecc7b59eb;hpb=a4b74ef335873379d374d372bcce7c4228095bd5;p=oweals%2Fgnunet.git diff --git a/src/util/common_allocation.c b/src/util/common_allocation.c index 90af6e091..dfa65d579 100644 --- a/src/util/common_allocation.c +++ b/src/util/common_allocation.c @@ -28,6 +28,9 @@ #if HAVE_MALLOC_H #include #endif +#if HAVE_MALLOC_MALLOC_H +#include +#endif #define LOG(kind,...) GNUNET_log_from (kind, "util",__VA_ARGS__) @@ -192,10 +195,12 @@ GNUNET_xrealloc_ (void *ptr, size_t n, const char *filename, int linenumber) #endif #if WINDOWS -#define MSIZE(p) _msize (p) +#define M_SIZE(p) _msize (p) #endif #if HAVE_MALLOC_USABLE_SIZE -#define MSIZE(p) malloc_usable_size (p) +#define M_SIZE(p) malloc_usable_size (p) +#elif HAVE_MALLOC_SIZE +#define M_SIZE(p) malloc_size (p) #endif /** @@ -214,14 +219,17 @@ GNUNET_xfree_ (void *ptr, const char *filename, int linenumber) ptr = &((size_t *) ptr)[-1]; mem_used -= *((size_t *) ptr); #endif -#if defined(MSIZE) +#if defined(M_SIZE) #if ENABLE_POISONING { + const uint64_t baadfood = GNUNET_ntohll (0xBAADF00DBAADF00DLL); + uint64_t *base = ptr; + size_t s = M_SIZE (ptr); size_t i; - char baadfood[5] = BAADFOOD_STR; - size_t s = MSIZE (ptr); - for (i = 0; i < s; i++) - ((char *) ptr)[i] = baadfood[i % 4]; + + for (i=0;i