Bug#747363: IO::Uncompress::Gunzip: Can no longer gunzip to in-memory file handle

Christoph Biedl debian.axhn at manchmal.in-ulm.de
Wed May 7 20:28:55 UTC 2014


Package: perl-modules
Version: 5.18.2-2
Severity: critical
Justification: Breaks unreleated software

Dear Maintainer,

IO-Compress 2.060 as bundled with Perl 5.18.2 introduces a regression
over 2.033 (as in Debian wheezy) and older versions like 2.020 in
squeeze: When uncompressing to a filehandle that is connected to an
in-memory string with

    open $fh, '>', \$buf

the syswrite() in IO::Uncompress::Base::_rd2 (line 759) fails
with $! set to "Bad file descriptor". In previous versions, print
was used instead which did not have this problem.

This breaks unrelated software, severity set accordingly.

Full reproducer is attached below.

The problem is not limited to gunzip decompression. FWIW, *gzip* to such a
handle still works, also gzip and gunzip *from* a in-memory handle.

    Christoph

-------------------------------------------------------------------
#!/usr/bin/perl
use IO::Uncompress::Gunzip qw(gunzip $GunzipError);
my $buf_out = '';
open my $fh_out, '>', \$buf_out or die $!;
gunzip (
    '/usr/share/doc/perl-modules/changelog.Debian.gz',
    $fh_out
) or die "Failed: $GunzipError, $!";
print $buf_out;
-------------------------------------------------------------------


-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.10.39 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages perl-modules depends on:
ii  perl  5.18.2-2+b1

Versions of packages perl-modules recommends:
pn  libarchive-extract-perl   <none>
ii  libmodule-pluggable-perl  5.1-1
pn  libpod-latex-perl         <none>
pn  libterm-ui-perl           <none>
pn  libtext-soundex-perl      <none>

Versions of packages perl-modules suggests:
pn  libb-lint-perl               <none>
pn  libcpanplus-dist-build-perl  <none>
pn  libcpanplus-perl             <none>
pn  libfile-checktree-perl       <none>
pn  liblog-message-perl          <none>
pn  liblog-message-simple-perl   <none>
pn  libobject-accessor-perl      <none>

-- no debconf information

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/perl-maintainers/attachments/20140507/8675a74a/attachment.sig>


More information about the Perl-maintainers mailing list