rpms/perl/FC-3 perl-5.8.5+23337-environment.patch, NONE, 1.1 perl-5.8.6-findbin-selinux.patch, NONE, 1.1 perl.spec, 1.49, 1.50

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue Jul 19 08:14:02 UTC 2005


Author: prockai

Update of /cvs/dist/rpms/perl/FC-3
In directory cvs.devel.redhat.com:/tmp/cvs-serv16909

Modified Files:
	perl.spec 
Added Files:
	perl-5.8.5+23337-environment.patch 
	perl-5.8.6-findbin-selinux.patch 
Log Message:
 * Thu Jun 16 2005 Petr Rockai <prockai at redhat.com> - 3:5.8.5-13.FC3
 - fix for CAN-2005-0448 - patch by Brendan O'Dea from Debian, backported
   by myself
+- fix for BR127023 using the patch from the report (by Jose Pedro Oliveira)
+- Fix for BR159021, segfault on environment changes, upstream patch
+  23337. Thanks to bert.barbe <at> oracle.com for testcase and diagnostics.


perl-5.8.5+23337-environment.patch:
 perl.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

--- NEW FILE perl-5.8.5+23337-environment.patch ---
--- perl-5.8.5/perl.c.23337-environment	2005-05-31 06:07:30.802041528 -0400
+++ perl-5.8.5/perl.c	2005-05-31 06:15:42.625273032 -0400
@@ -4219,9 +4219,10 @@
 	{
 	    environ[0] = Nullch;
 	}
-	if (env)
+	if (env) {
+	  char **origenv = environ;
 	  for (; *env; env++) {
-	    if (!(s = strchr(*env,'=')))
+	    if (!(s = strchr(*env,'=')) || s == *env)
 		continue;
 #if defined(MSDOS) && !defined(DJGPP)
 	    *s = '\0';
@@ -4232,7 +4233,13 @@
 	    (void)hv_store(hv, *env, s - *env, sv, 0);
 	    if (env != environ)
 	        mg_set(sv);
+	    if (origenv != environ) {
+		/* realloc has shifted us */
+		env = (env - origenv) + environ;
+		origenv = environ;
+	    }
 	  }
+	}
 #endif /* USE_ENVIRON_ARRAY */
 #endif /* !PERL_MICRO */
     }

perl-5.8.6-findbin-selinux.patch:
 FindBin.pm |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletion(-)

--- NEW FILE perl-5.8.6-findbin-selinux.patch ---
diff -ruN perl-5.8.6-orig/lib/FindBin.pm perl-5.8.6/lib/FindBin.pm
--- perl-5.8.6-orig/lib/FindBin.pm	2003-12-27 14:52:04.000000000 +0000
+++ perl-5.8.6/lib/FindBin.pm	2005-05-16 04:15:54.000000000 +0100
@@ -179,7 +179,12 @@
       }
 
      # Get absolute paths to directories
-     $Bin     = abs_path($Bin)     if($Bin);
+     if ($Bin)
+      {
+       my $BinOld = $Bin;
+       $Bin   = abs_path($Bin);
+       defined $Bin or $Bin = File::Spec->canonpath($BinOld);
+      }
      $RealBin = abs_path($RealBin) if($RealBin);
     }
   }


Index: perl.spec
===================================================================
RCS file: /cvs/dist/rpms/perl/FC-3/perl.spec,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- perl.spec	16 Jun 2005 12:13:26 -0000	1.49
+++ perl.spec	19 Jul 2005 08:13:59 -0000	1.50
@@ -92,7 +92,8 @@
 Patch22: perl-5.8.1-lpthread-link.patch
 
 # bugzilla 118877
-Patch23: perl-5.8.3-findbin-selinux.patch
+#Patch23: perl-5.8.3-findbin-selinux.patch
+Patch23: perl-5.8.6-findbin-selinux.patch
 
 # fix empty RPATH security issue
 Patch24: perl-5.8.3-empty-rpath.patch
@@ -111,6 +112,8 @@
 Patch900: perl-5.8.5-libresolv.patch
 Patch901: perl-5.8.5-ignore-netdb_r.patch
 
+Patch23337: perl-5.8.5+23337-environment.patch
+
 # module updatesd
 # Patch202: perl-5.8.0-Safe2.09.patch
 
@@ -233,6 +236,8 @@
 %patch900 -p1 -b .libresolv
 %patch901 -p1 -b .ignore-netdb_r
 
+%patch23337 -p1 -b .23337-environment
+
 find . -name \*.orig -exec rm -fv {} \;
 
 %build
@@ -420,6 +425,9 @@
 * Thu Jun 16 2005 Petr Rockai <prockai at redhat.com> - 3:5.8.5-13.FC3
 - fix for CAN-2005-0448 - patch by Brendan O'Dea from Debian, backported
   by myself
+- fix for BR127023 using the patch from the report (by Jose Pedro Oliveira)
+- Fix for BR159021, segfault on environment changes, upstream patch
+  23337. Thanks to bert.barbe <at> oracle.com for testcase and diagnostics.
 
 * Thu Apr 28 2005 Ville Skyttä <ville.skytta at iki.fi> - 3:5.8.5-12.FC3
 - Apply fix for CAN-2004-0452 (#156128, #146774).




More information about the fedora-cvs-commits mailing list