diff options
Diffstat (limited to 'community/exim/CVE-2017-16943.patch')
-rw-r--r-- | community/exim/CVE-2017-16943.patch | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/community/exim/CVE-2017-16943.patch b/community/exim/CVE-2017-16943.patch deleted file mode 100644 index ca784484d4..0000000000 --- a/community/exim/CVE-2017-16943.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Jeremy Harris <jgh146exb@wizmail.org> -Date: Fri, 24 Nov 2017 20:22:33 +0000 (+0000) -Subject: Avoid release of store if there have been later allocations. Bug 2199 -X-Git-Url: https://git.exim.org/exim.git/commitdiff_plain/4e6ae6235c68de243b1c2419027472d7659aa2b4 - -Avoid release of store if there have been later allocations. Bug 2199 ---- - -diff --git a/src/src/receive.c b/src/src/receive.c -index e7e518a..d9b5001 100644 ---- a/src/receive.c -+++ b/src/receive.c -@@ -1810,8 +1810,8 @@ for (;;) - (and sometimes lunatic messages can have ones that are 100s of K long) we - call store_release() for strings that have been copied - if the string is at - the start of a block (and therefore the only thing in it, because we aren't -- doing any other gets), the block gets freed. We can only do this because we -- know there are no other calls to store_get() going on. */ -+ doing any other gets), the block gets freed. We can only do this release if -+ there were no allocations since the once that we want to free. */ - - if (ptr >= header_size - 4) - { -@@ -1820,9 +1820,10 @@ for (;;) - header_size *= 2; - if (!store_extend(next->text, oldsize, header_size)) - { -+ BOOL release_ok = store_last_get[store_pool] == next->text; - uschar *newtext = store_get(header_size); - memcpy(newtext, next->text, ptr); -- store_release(next->text); -+ if (release_ok) store_release(next->text); - next->text = newtext; - } - } |