Package: libwww-perl Version: 5.813-1 Severity: normal Tags: patch
Here is how to reproduce : #!/usr/bin/perl -w use strict; use LWP::UserAgent; use Switch; my $browser = LWP::UserAgent->new(); sub called_once { my $url = "http://www.lighttpd.net/" . "/"x2**16; print STDERR "1\n"; my $res = $browser->get($url); print STDERR "2\n"; } my $arg = "bug"; switch($arg) { case "bug" { &called_once; } } Here is how it is corrected in squeeze's libwww-perl : --- http-lenny.pm 2010-08-03 12:08:02.562469636 +0200 +++ http-as-in-squeeze.pm 2010-08-03 12:11:56.218409712 +0200 @@ -203,15 +203,16 @@ #print "------\n$req_buf\n------\n"; if (!$has_content || $write_wait || $has_content > 8*1024) { - do { + WRITE: + { # Since this just writes out the header block it should almost # always succeed to send the whole buffer in a single write call. my $n = $socket->syswrite($req_buf, length($req_buf)); unless (defined $n) { - redo if $!{EINTR}; + redo WRITE if $!{EINTR}; if ($!{EAGAIN}) { select(undef, undef, undef, 0.1); - redo; + redo WRITE; } die "write failed: $!"; } @@ -221,8 +222,8 @@ else { select(undef, undef, undef, 0.5); } + redo WRITE if length $req_buf; } - while (length $req_buf); } my($code, $mess, @junk); -- System Information: Debian Release: 5.0.4 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.32.15-grsec-vs (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages libwww-perl depends on: ii libhtml-parser-perl 3.56-1+lenny1 A collection of modules that parse ii libhtml-tagset-perl 3.20-2 Data tables pertaining to HTML ii libhtml-tree-perl 3.23-1 represent and create HTML syntax t ii liburi-perl 1.35.dfsg.1-1 Manipulates and accesses URI strin ii netbase 4.34 Basic TCP/IP networking system ii perl [libdigest-md5-perl 5.10.0-19lenny2 Larry Wall's Practical Extraction Versions of packages libwww-perl recommends: ii libcompress-zlib-perl 2.012-1 Perl module for creation and manip ii libhtml-format-perl 2.04-2 format HTML syntax trees into text ii libmailtools-perl 2.03-1 Manipulate email in perl programs Versions of packages libwww-perl suggests: ii libio-socket-ssl-perl 1.16-1+lenny1 Perl module implementing object or -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org