when PERL_USE_SAFE_PUTENV is defined environ will not
Doug MacEachern [Sat, 10 Nov 2001 00:34:50 +0000 (00:34 +0000)]
have been copied so it shouldn't be freed in perl_destruct()

p4raw-id: //depot/perl@12920

perl.c

diff --git a/perl.c b/perl.c
index 2c16f91..1d91940 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -469,8 +469,10 @@ perl_destruct(pTHXx)
     }
 
     /* jettison our possibly duplicated environment */
-
-#ifdef USE_ENVIRON_ARRAY
+    /* if PERL_USE_SAFE_PUTENV is defined environ will not have been copied
+     * so we certainly shouldn't free it here
+     */
+#if defined(USE_ENVIRON_ARRAY) && !defined(PERL_USE_SAFE_PUTENV)
     if (environ != PL_origenviron) {
        I32 i;