git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Logging: add I= element to transport-defer lines. Bug 2675
[exim.git]
/
src
/
src
/
environment.c
diff --git
a/src/src/environment.c
b/src/src/environment.c
index c29cc6c8dd9e6b945854fd5d80f82229117131fb..9cb90c86fcc00e9a20863196548e115a9ab3cd63 100644
(file)
--- a/
src/src/environment.c
+++ b/
src/src/environment.c
@@
-24,6
+24,9
@@
Returns: TRUE if successful
BOOL
cleanup_environment()
{
BOOL
cleanup_environment()
{
+int old_pool = store_pool;
+store_pool = POOL_PERM; /* Need perm memory for any created env vars */
+
if (!keep_environment || *keep_environment == '\0')
{
/* From: https://github.com/dovecot/core/blob/master/src/lib/env-util.c#L55
if (!keep_environment || *keep_environment == '\0')
{
/* From: https://github.com/dovecot/core/blob/master/src/lib/env-util.c#L55
@@
-65,8
+68,16
@@
if (add_environment)
int sep = 0;
const uschar * envlist = add_environment;
int sep = 0;
const uschar * envlist = add_environment;
- while ((p = string_nextinlist(&envlist, &sep, NULL, 0))) putenv(CS p);
+ while ((p = string_nextinlist(&envlist, &sep, NULL, 0)))
+ {
+ DEBUG(D_expand) debug_printf("adding %s\n", p);
+ putenv(CS p);
+ }
}
}
+#ifndef DISABLE_TLS
+tls_clean_env();
+#endif
+store_pool = old_pool;
return TRUE;
}
return TRUE;
}