From 3bacfb5825195b30637b84b54f4d54dad6a4919f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppi...@redhat.com>
Date: Fri, 30 Sep 2016 11:03:18 +0200
Subject: Fix panic when encoding undefined scalars

---
 ....86-Fix-panic-when-encoding-undef-scalars.patch | 47 ++++++++++++++++++++++
 perl-Encode.spec                                   |  5 +++
 2 files changed, 52 insertions(+)
 create mode 100644 Encode-2.86-Fix-panic-when-encoding-undef-scalars.patch

diff --git a/Encode-2.86-Fix-panic-when-encoding-undef-scalars.patch 
b/Encode-2.86-Fix-panic-when-encoding-undef-scalars.patch
new file mode 100644
index 0000000..4e522c2
--- /dev/null
+++ b/Encode-2.86-Fix-panic-when-encoding-undef-scalars.patch
@@ -0,0 +1,47 @@
+From 519fb7e761447245fed9bb2de02e894b71ccae2f Mon Sep 17 00:00:00 2001
+From: Vincent van Dam <vvan...@sandvine.com>
+Date: Thu, 22 Sep 2016 14:48:05 +0200
+Subject: [PATCH] Fix panic when encoding undef scalars
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Petr Písař <ppi...@redhat.com>
+---
+ lib/Encode/Encoder.pm | 4 +++-
+ t/undef.t             | 8 ++++++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+ create mode 100644 t/undef.t
+
+diff --git a/lib/Encode/Encoder.pm b/lib/Encode/Encoder.pm
+index 23e0349..fef4e9b 100644
+--- a/lib/Encode/Encoder.pm
++++ b/lib/Encode/Encoder.pm
+@@ -85,7 +85,9 @@ sub AUTOLOAD {
+         from_to( $self->{data}, $self->{encoding}, $obj->name, 1 );
+     }
+     else {
+-        $self->{data} = $obj->encode( $self->{data}, 1 );
++        if ( defined($self->{data}) ) {
++            $self->{data} = $obj->encode( $self->{data}, 1 );
++        }
+     }
+     $self->{encoding} = $obj->name;
+     return $self;
+diff --git a/t/undef.t b/t/undef.t
+new file mode 100644
+index 0000000..ad8bcd6
+--- /dev/null
++++ b/t/undef.t
+@@ -0,0 +1,8 @@
++use Encode::Encoder qw(encoder);
++
++use Test::More;
++plan tests => 1;
++
++my $emptyutf8;
++eval { $c = encoder($emptyutf8)->utf8; };
++ok(!$@,"crashed encoding undef variable ($@)");
+-- 
+2.7.4
+
diff --git a/perl-Encode.spec b/perl-Encode.spec
index feca9d2..2366d1f 100644
--- a/perl-Encode.spec
+++ b/perl-Encode.spec
@@ -22,6 +22,9 @@ Patch0:         
Encode-2.84-CVE-2016-1238-avoid-loading-optional-modules-from.pa
 # Fix Encode::encode_utf8(undef) to return undef, CPAN RT#116904,
 # in upstream after 2.86
 Patch1:         Encode-2.86-Fix-return-value-of-Encode-encode_utf8-undef.patch
+# Fix panic when encoding undefined scalars,
+# <https://github.com/dankogai/p5-encode/pull/66>, in upstream after 2.86
+Patch2:         Encode-2.86-Fix-panic-when-encoding-undef-scalars.patch
 BuildRequires:  coreutils
 BuildRequires:  findutils
 BuildRequires:  make
@@ -135,6 +138,7 @@ your own encoding to perl. No knowledge of XS is necessary.
 %setup -q -n Encode-%{cpan_version}
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 # Additional scripts can be installed by appending MORE_SCRIPTS, UCM files by
@@ -178,6 +182,7 @@ make test
 %changelog
 * Fri Sep 30 2016 Petr Pisar <ppi...@redhat.com> - 3:2.84-11
 - Fix Encode::encode_utf8(undef) to return undef (CPAN RT#116904)
+- Fix panic when encoding undefined scalars
 
 * Fri Sep 16 2016 Petr Pisar <ppi...@redhat.com> - 3:2.84-10
 - Add Artistic 2.0 into license tag because of encguess tool
-- 
cgit v0.12


        
http://pkgs.fedoraproject.org/cgit/perl-Encode.git/commit/?h=f24&id=3bacfb5825195b30637b84b54f4d54dad6a4919f
_______________________________________________
perl-devel mailing list -- perl-devel@lists.fedoraproject.org
To unsubscribe send an email to perl-devel-le...@lists.fedoraproject.org

Reply via email to