From 90341c71c19c82ba8b1cbf4d1693940b8bb8f70b Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Wed, 8 Feb 2017 01:19:39 +0000 Subject: Memory management: drop variables identified as going out-of-scope Fixes crash in transport re-using bad $sender_ip_address from callout --- doc/doc-txt/ChangeLog | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'doc') diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 6cd472434..c23f9fe2d 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -81,6 +81,14 @@ PP/04 Bug 2018: Also handle Proxy Protocol v2 safely. PP/05 FreeBSD compat: handle that Ports no longer create /usr/bin/perl +JH/16 Drop variables when they go out of scope. Memory management drops a whole + region in one operation, for speed, and this leaves assigned pointers + dangling. Add checks run only under the testsuite which checks all + variables at a store-reset and panics on a dangling pointer; add code + explicitly nulling out all the variables discovered. Fixes one known + bug: a transport crash, where a dangling pointer for $sending_ip_address + originally assigned in a verify callout, is re-used. + Exim version 4.88 ----------------- -- cgit v1.2.3