Bug#681085: libnet-cups-perl: Segfaults in Net::CUPS::PPD method getNextOption when enumerating options

Dylan Smith dyls at alioth.net
Tue Jul 10 14:03:58 UTC 2012


Package: libnet-cups-perl
Version: 0.60-1
Severity: important
Tags: upstream

The following Perl script will crash with a segmentation fault. The expected
behaviour of getNextOption when there are no options left is to return undef.

#!/usr/bin/perl
use Net::CUPS;
use Net::CUPS::Destination;
use Net::CUPS::PPD;
use Data::Dumper;
use strict;

my $cups=Net::CUPS->new();

my $printer=$cups->getDestination("someprinter");
my $name=$printer->getName();

print("Printer name: $name\n");

my @options=$printer->getOptions();
foreach my $line (@options) {
   my $opt=$printer->getOptionValue($line);
   print("option: $line = $opt\n");
}

print("\n--- PPD options\n");

my $ppd=$cups->getPPD("tardisjet");
while(my $opt=$ppd->getNextOption()) {
   print("Option:\n");
   print Dumper $opt;
}



-- System Information:
Debian Release: 6.0.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=es_ES.utf8, LC_CTYPE=es_ES.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libnet-cups-perl depends on:
ii  libc6               2.11.3-3             Embedded GNU C Library: Shared lib
ii  libcups2            1.4.4-7+squeeze1     Common UNIX Printing System(tm) - 
ii  libgnutls26         2.8.6-1+squeeze2     the GNU TLS library - runtime libr
ii  libgssapi-krb5-2    1.8.3+dfsg-4squeeze5 MIT Kerberos runtime libraries - k
ii  perl                5.10.1-17squeeze3    Larry Wall's Practical Extraction 
ii  perl-base [perlapi- 5.10.1-17squeeze3    minimal Perl system
ii  zlib1g              1:1.2.3.4.dfsg-3     compression library - runtime

libnet-cups-perl recommends no packages.

Versions of packages libnet-cups-perl suggests:
ii  cups-common             1.4.4-7+squeeze1 Common UNIX Printing System(tm) - 

-- no debconf information





More information about the pkg-perl-maintainers mailing list