From 7b969c79ad9c8cc940eb3d4b7fef18d3100b80ba 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 ed90ff3..046f887 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 @@ -134,6 +137,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 @@ -177,6 +181,7 @@ make test %changelog * Fri Sep 30 2016 Petr Pisar <ppi...@redhat.com> - 3:2.80-7 - 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.80-6 - Add Artistic 2.0 into license tag because of encguess tool -- cgit v0.12 http://pkgs.fedoraproject.org/cgit/perl-Encode.git/commit/?h=f23&id=7b969c79ad9c8cc940eb3d4b7fef18d3100b80ba _______________________________________________ perl-devel mailing list -- perl-devel@lists.fedoraproject.org To unsubscribe send an email to perl-devel-le...@lists.fedoraproject.org