* Exim - an Internet mail transport agent *
*************************************************/
+/* Copyright (c) The Exim maintainers 2019 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
-/* Copyright (c) The Exim maintainers 2019 - 2021 */
/* See the file NOTICE for conditions of use and distribution. */
/* Exim gets and frees all its store through these functions. In the original
for (b = pp->chainbase; b; b = b->next)
if (is_pointer_in_block(b, p)) return pp;
+#ifndef COMPILE_UTILITY
+stackdump();
+#endif
log_write(0, LOG_MAIN|LOG_PANIC_DIE,
"bad memory reference; pool not found, at %s %d", func, linenumber);
return NULL;
if (size < 0 || size >= INT_MAX/2)
log_write(0, LOG_MAIN|LOG_PANIC_DIE,
- "bad memory allocation requested (%d bytes) at %s %d",
+ "bad memory allocation requested (%d bytes) from %s %d",
size, func, linenumber);
/* Round up the size to a multiple of the alignment. Although this looks a
if (size >= INT_MAX/2)
log_write(0, LOG_MAIN|LOG_PANIC_DIE,
- "bad memory allocation requested (" SIZE_T_FMT " bytes) at %s %d",
- size, func, line);
+ "bad internal_store_malloc request (" SIZE_T_FMT " bytes) from %s %d",
+ size, func, line);
size += sizeof(size_t); /* space to store the size, used under debug */
if (size < 16) size = 16;