File: CVE-2016-1238.patch

package info (click to toggle)
libintl-perl 1.23-1%2Bdeb8u1
  • links: PTS
  • area: main
  • in suites: jessie
  • size: 5,760 kB
  • ctags: 491
  • sloc: perl: 156,045; makefile: 137
file content (37 lines) | stat: -rw-r--r-- 1,050 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
--- a/lib/Locale/Messages.pm	2013-01-24 15:55:01.000000000 +0000
+++ b/lib/Locale/Messages.pm	2016-07-24 22:20:25.503713886 +0100
@@ -31,6 +31,8 @@
 # Try to load the C version first.
 $package = 'gettext_xs';
 my $can_xs = 1;
+local @INC = @INC;
+pop @INC if $INC[-1] eq '.';
 eval <<'EOF';
 require Locale::gettext_xs; 
 my $version = Locale::gettext_xs::__gettext_xs_version();
@@ -39,6 +41,8 @@
 if ($@) {
     $package = 'gettext_pp';
 	undef $can_xs;
+    local @INC = @INC;
+    pop @INC if $INC[-1] eq '.';
     require Locale::gettext_pp;
 }
 		
@@ -187,9 +191,15 @@
         my $filename = "Locale::$pkg";
         $filename =~ s{::|\'}{/};
 	$filename .= '.pm';
-        eval { require $filename };
+        eval {
+            local @INC = @INC;
+            pop @INC if $INC[-1] eq '.';
+            require $filename
+        };
 	$package = $pkg unless $@;   
     } else {
+        local @INC = @INC;
+        pop @INC if $INC[-1] eq '.';
         eval "require Locale::gettext_xs";
         $package = 'gettext_xs' unless $@;
     }