MINOR: pools: disable redundant poisonning on pool_free()

The poisonning performed on pool_free() used to help a little bit with
use-after-free detection, but usually did more harm than good in that
it was never possible to perform post-mortem analysis on released
objects once poisonning was enabled on allocation. Now that there is
a dedicated DEBUG_POOL_INTEGRITY, let's get rid of this annoyance
which is not even documented in the management manual.
diff --git a/doc/internals/api/pools.txt b/doc/internals/api/pools.txt
index 5675719..b89b0f3 100644
--- a/doc/internals/api/pools.txt
+++ b/doc/internals/api/pools.txt
@@ -380,9 +380,7 @@
         Free an entry allocate from one of the pool_alloc() functions above
         from pool <pool>. The object will be placed into the thread-local cache
         if enabled, or in the shared pool if enabled, or will be released using
-        the operating system's default allocator. When memory poisonning is
-        enabled, the area will be overwritten before being released. This can
-        sometimes help detect use-after-free conditions. When a local cache is
+        the operating system's default allocator. When a local cache is
         enabled, if the local cache size becomes larger than 75% of the maximum
         size configured at build time, some objects will be evicted to the
         shared pool. Such objects are taken first from the same pool, but if
diff --git a/src/pool.c b/src/pool.c
index 60be27d..aca28ef 100644
--- a/src/pool.c
+++ b/src/pool.c
@@ -654,10 +654,6 @@
 	/* we'll get late corruption if we refill to the wrong pool or double-free */
 	POOL_DEBUG_CHECK_MARK(pool, ptr);
 	POOL_DEBUG_RESET_MARK(pool, ptr);
-
-	if (unlikely(mem_poison_byte >= 0))
-		memset(ptr, mem_poison_byte, pool->size);
-
 	pool_put_to_cache(pool, ptr, caller);
 }