From 3bacfb5825195b30637b84b54f4d54dad6a4919f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar(a)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 <vvandam(a)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ř <ppisar(a)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 <ppisar(a)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 <ppisar(a)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=3...