This is an automated email from the git hooks/post-receive script. abe pushed a commit to branch master in repository libperl5i-perl.
commit f34a584bda373300efea86d9620ac13b1428d291 Author: Axel Beckert <a...@deuxchevaux.org> Date: Thu Apr 30 03:08:46 2015 +0200 Cherry-pick patch to fix segfaulting of "perl5i -e" Closes: #716296 --- debian/changelog | 5 +- ...ick-d096ee5e-fix-perl5i-dash-e-from-segfaulting | 64 ++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 67 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 0461372..a96cc5e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,5 @@ libperl5i-perl (2.13.1-1) UNRELEASED; urgency=medium - TODO: #716296 still not resolved? Reproducer still causes - a segfault. - * Add debian/upstream/metadata * Imported upstream version 2.13.1 + Drop debian/patches/fix-utf8-in-argv-handling, it was cherry-picked @@ -10,6 +7,8 @@ libperl5i-perl (2.13.1-1) UNRELEASED; urgency=medium + Update libutf8-all-perl (build-)dependency to >= 0.015. * Declare compliance with Debian Policy 3.9.6 (no further changes) * Add "Testsuite: autopkgtest-pkg-perl" header. + * Cherry-pick upstream patch to fix segfaulting of "perl5i -e" + (Closes: #716296 and upstream Github issue #269) -- Axel Beckert <a...@debian.org> Fri, 10 Apr 2015 23:06:24 +0200 diff --git a/debian/patches/cherry-pick-d096ee5e-fix-perl5i-dash-e-from-segfaulting b/debian/patches/cherry-pick-d096ee5e-fix-perl5i-dash-e-from-segfaulting new file mode 100644 index 0000000..c4d77cb --- /dev/null +++ b/debian/patches/cherry-pick-d096ee5e-fix-perl5i-dash-e-from-segfaulting @@ -0,0 +1,64 @@ +Description: Fix "perl5i -e" from segfaulting. +Bug-Debian: https://bugs.debian.org/716296 +Bug: https://github.com/schwern/perl5i/issues/269 +Origin: commit d096ee5e26603630a6bae5ee711000e09a038ab3 +Author: Michael G. Schwern <schw...@pobox.com> +Date: Fri Feb 6 23:26:00 2015 -0800 + +diff --git a/bin/perl5i.c.PL b/bin/perl5i.c.PL +index 560ff07..ad2bcb0 100644 +--- a/bin/perl5i.c.PL ++++ b/bin/perl5i.c.PL +@@ -39,7 +39,7 @@ int main (int argc, char* argv[]) { + const char* perl_cmd = "%s"; + char* perl_args[argc+1]; + char* dash_m = (char *)malloc(sizeof(char) * (strlen(argv[0]) + 20)); +- char* program; ++ char* program = ""; + int saw_dash_e = 0; + + strcpy(dash_m, "-Mperl5i::cmd="); +@@ -56,6 +56,7 @@ int main (int argc, char* argv[]) { + && dash_e > argv[i] + && *(dash_e-1) == '-' + && (strchr(argv[i], '-') == argv[i]) ++ && i+1 < argc + ) + { + saw_dash_e = 1; +@@ -70,8 +71,8 @@ int main (int argc, char* argv[]) { + } + + /* Skip the next argument, its the program */ +- program = argv[i+1]; + i++; ++ program = argv[i]; + continue; + } + +diff --git a/t/command_line_wrapper.t b/t/command_line_wrapper.t +index c7b100f..509cd01 100755 +--- a/t/command_line_wrapper.t ++++ b/t/command_line_wrapper.t +@@ -64,4 +64,21 @@ is capture {system @perl5icmd, '-e', q($fun="yay"; say $fun;)}, "yay\n", 'no str + is capture {system ($^X, '-Ilib', '-Mperl5i::latest', '-e', q|$fun="yay"; say $fun;|)}, + "yay\n", q{no strict vars for perl -Mperl5i::latest -e '...'}; + ++# It acts like Perl when given weird arguments. ++{ ++ # We expect these system calls to return non-zero ++ no autodie "system"; ++ ++ my %tests = ( ++ "-e with no code" => ["-e"], ++ "null byte" => ["\\000", "-e"], ++ ); ++ ++ %tests->each(func($test_name,$args) { ++ is capture {system @perl5icmd, $args}, ++ capture {system $^X, $args}, ++ $test_name; ++ }); ++} ++ + done_testing; diff --git a/debian/patches/series b/debian/patches/series index 82456cd..a97e36d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ fix-test-for-mips +cherry-pick-d096ee5e-fix-perl5i-dash-e-from-segfaulting -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libperl5i-perl.git _______________________________________________ Pkg-perl-cvs-commits mailing list Pkg-perl-cvs-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits