X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fstore.c;h=9e4536eaedf56b741ac5619a1cd8742a54924a18;hb=4f7a93c27e3d43b44c42d3fc503f03b9b42ca622;hp=ffc1ca8e66d4594a66bbbcc790483979047a13c6;hpb=5800e3234f2594639d82e5063d9c522c6a881d25;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/store.c b/src/src/store.c index ffc1ca8e6..9e4536eae 100644 --- a/src/src/store.c +++ b/src/src/store.c @@ -2,9 +2,10 @@ * 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. */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* Exim gets and frees all its store through these functions. In the original implementation there was a lot of mallocing and freeing of small bits of store. @@ -274,6 +275,9 @@ for (pp = paired_pools; pp < paired_pools + N_PAIRED_POOLS; pp++) 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; @@ -380,7 +384,7 @@ allocated store. */ 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 @@ -1150,8 +1154,8 @@ a negative int, to the (unsigned, wider) size_t */ 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;