Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong warning in hash slices with qw"" #7219

Closed
p5pRT opened this issue Apr 8, 2004 · 18 comments
Closed

Wrong warning in hash slices with qw"" #7219

p5pRT opened this issue Apr 8, 2004 · 18 comments

Comments

@p5pRT
Copy link

p5pRT commented Apr 8, 2004

Migrated from rt.perl.org#28380 (status was 'resolved')

Searchable as RT28380$

@p5pRT
Copy link
Author

p5pRT commented Apr 8, 2004

From 1@c07.de

This is a bug report for perl from 1@​c07.de,
generated with the help of perlbug 1.34 running under perl v5.8.0.

  perl -we 'my %h; @​h{qw"a b c"}= 1..3; print for keys %h'

prints

  Scalar value @​h{qw"a b c"} better written as $h{qw"a b c"} at -e line 1.

Similar with other uncommon delimiters for qw​:
"'", "$", "-" and alphanumeric (maybe more).


Flags​:
  category=core
  severity=low


Site configuration information for perl v5.8.0​:

Configured by root at Sun Jul 27 08​:17​:01 CEST 2003.

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration​:
  Platform​:
  osname=linux, osvers=2.4.20-gentoo-r2, archname=i686-linux
  uname='linux local 2.4.20-gentoo-r2 #2 wed mar 26 00​:29​:00 cet 2003 i686
amd duron(tm) processor authenticamd gnulinux '
  config_args='-des -Darchname=i686-linux -Dcc=gcc -Dprefix=/usr
-Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth= -Doptimize=-pipe
-march=athlon-tbird -O2 -frename-registers -fomit-frame-pointer -Duselargefiles
-Dd_dosuid -Dd_semctl_semun -Dscriptdir=/usr/bin -Dman3ext=3pm -Dcf_by=Gentoo
-Ud_csh -Di_gdbm -Di_db -Di_ndbm'
  hint=recommended, useposix=true, d_sigaction=define
  usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
  useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
  use64bitint=undef use64bitall=undef uselongdouble=undef
  usemymalloc=n, bincompat5005=undef
  Compiler​:
  cc='gcc', ccflags ='-DPERL5 -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
  optimize='-pipe -march=athlon-tbird -O2 -frename-registers
-fomit-frame-pointer',
  cppflags='-DPERL5 -DPERL5 -fno-strict-aliasing'
  ccversion='', gccversion='3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1,
propolice)', gccosandvers=''
  intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
  ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
  alignbytes=4, prototype=define
  Linker and Libraries​:
  ld='gcc', ldflags =' -L/usr/local/lib'
  libpth=/usr/local/lib /lib /usr/lib
  libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lc -lcrypt -lutil
  perllibs=-lpthread -lnsl -ldl -lm -lc -lcrypt -lutil
  libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.3.2'
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
  cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'

Locally applied patches​:


@​INC for perl v5.8.0​:
  /etc/perl
  /usr/lib/perl5/site_perl/5.8.0/i686-linux
  /usr/lib/perl5/site_perl/5.8.0
  /usr/lib/perl5/site_perl
  /usr/lib/perl5/vendor_perl/5.8.0/i686-linux
  /usr/lib/perl5/vendor_perl/5.8.0
  /usr/lib/perl5/vendor_perl
  /usr/lib/perl5/5.8.0/i686-linux
  /usr/lib/perl5/5.8.0
  /usr/local/lib/site_perl
  .


Environment for perl v5.8.0​:
  HOME=/home/cl
  LANG=C
  LANGUAGE (unset)
  LD_LIBRARY_PATH (unset)
  LOGDIR (unset)

PATH=.​:/bin​:/usr/bin​:/usr/local/bin​:/opt/bin​:/usr/i686-pc-linux-gnu/gcc-bin/3.3​:/opt/Acrobat5​:/usr/X11R6/bin​:/opt/sun-jdk-1.4.2.01/bin​:/opt/sun-jdk-1.4.2.01/jre/bin​:/opt/sun-jdk-1.4.2.01/jre/javaws​:/usr/qt/3/bin​:/usr/kde/3.1/bin
  PERL_BADLANG (unset)
  SHELL=/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Apr 11, 2004

From @mhx

On 2004-04-08, at 19​:47​:49 -0000, Andreas Schneider (via RT) wrote​:

# New Ticket Created by Andreas Schneider
# Please include the string​: [perl #28380]
# in the subject line of all future correspondence about this issue.
# <URL​: http​://rt.perl.org​:80/rt3/Ticket/Display.html?id=28380 >

This is a bug report for perl from 1@​c07.de,
generated with the help of perlbug 1.34 running under perl v5.8.0.

perl -we 'my %h; @​h{qw"a b c"}= 1..3; print for keys %h'

prints

Scalar value @​h{qw"a b c"} better written as $h{qw"a b c"} at -e line 1.

Similar with other uncommon delimiters for qw​:
"'", "$", "-" and alphanumeric (maybe more).

And this doesn't warn, even though it should​:

  perl -we 'my %h; @​h{"a,b,c"}= 1..3'

I've looked at the code that triggers the warning, and it's
not more than a simple heuristic. It works quite well in the
most common cases, but fails in the above cases.

Marcus

---
Flags​:
category=core
severity=low
---
Site configuration information for perl v5.8.0​:

Configured by root at Sun Jul 27 08​:17​:01 CEST 2003.

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration​:
Platform​:
osname=linux, osvers=2.4.20-gentoo-r2, archname=i686-linux
uname='linux local 2.4.20-gentoo-r2 #2 wed mar 26 00​:29​:00 cet 2003 i686
amd duron(tm) processor authenticamd gnulinux '
config_args='-des -Darchname=i686-linux -Dcc=gcc -Dprefix=/usr
-Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth= -Doptimize=-pipe
-march=athlon-tbird -O2 -frename-registers -fomit-frame-pointer -Duselargefiles
-Dd_dosuid -Dd_semctl_semun -Dscriptdir=/usr/bin -Dman3ext=3pm -Dcf_by=Gentoo
-Ud_csh -Di_gdbm -Di_db -Di_ndbm'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler​:
cc='gcc', ccflags ='-DPERL5 -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
optimize='-pipe -march=athlon-tbird -O2 -frename-registers
-fomit-frame-pointer',
cppflags='-DPERL5 -DPERL5 -fno-strict-aliasing'
ccversion='', gccversion='3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1,
propolice)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries​:
ld='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lc -lcrypt -lutil
perllibs=-lpthread -lnsl -ldl -lm -lc -lcrypt -lutil
libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.3.2'
Dynamic Linking​:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'

Locally applied patches​:

---
@​INC for perl v5.8.0​:
/etc/perl
/usr/lib/perl5/site_perl/5.8.0/i686-linux
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.0/i686-linux
/usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.0/i686-linux
/usr/lib/perl5/5.8.0
/usr/local/lib/site_perl
.

---
Environment for perl v5.8.0​:
HOME=/home/cl
LANG=C
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)

PATH=.​:/bin​:/usr/bin​:/usr/local/bin​:/opt/bin​:/usr/i686-pc-linux-gnu/gcc-bin/3.3​:/opt/Acrobat5​:/usr/X11R6/bin​:/opt/sun-jdk-1.4.2.01/bin​:/opt/sun-jdk-1.4.2.01/jre/bin​:/opt/sun-jdk-1.4.2.01/jre/javaws​:/usr/qt/3/bin​:/usr/kde/3.1/bin
PERL_BADLANG (unset)
SHELL=/bin/bash

--
Lackland's Laws​:
  (1) Never be first.
  (2) Never be last.
  (3) Never volunteer for anything

@p5pRT
Copy link
Author

p5pRT commented Apr 11, 2004

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Apr 29, 2010

From @davidnicol

Bogus warning with strawberry 5.8.9, when making a list using
qw'...'or qw"..." (but not any other characters) Also in a freshly
compiled
5.8.9. And in cygwin's 5.10.1.

Whatever identifies scalar values and generates the warning is simply
mistaken here, possibly not prepared for qw changing the meaning of
$quot; and '.

C​:\thing>perl -wce "eval {@​X{qw(abc def ghi)} = @​{[1..99]}[37,22,1]}"
Name "main​::X" used only once​: possible typo at -e line 1.
-e syntax OK

C​:\thing>perl -wce "eval {@​X{qw'abc def ghi'} = @​{[1..99]}[37,22,1]}"
Scalar value @​X{qw'abc def ghi'} better written as $X{qw'abc def ghi'}
at -e line 1.
Name "main​::X" used only once​: possible typo at -e line 1.
-e syntax OK

C​:\thing>perl -wle "eval {@​X{qw'abc def ghi'} = @​{[1..99]}[37,22,1]};
print join 'X', keys %X"
Scalar value @​X{qw'abc def ghi'} better written as $X{qw'abc def ghi'}
at -e line 1.
defXabcXghi

@p5pRT
Copy link
Author

p5pRT commented Jun 7, 2010

From @tonycoz

On Thu, Apr 29, 2010 at 01​:20​:13PM -0700, David Nicol wrote​:

# New Ticket Created by David Nicol
# Please include the string​: [perl #74782]
# in the subject line of all future correspondence about this issue.
# <URL​: http​://rt.perl.org/rt3/Ticket/Display.html?id=74782 >

Bogus warning with strawberry 5.8.9, when making a list using
qw'...'or qw"..." (but not any other characters) Also in a freshly
compiled
5.8.9. And in cygwin's 5.10.1.

Whatever identifies scalar values and generates the warning is simply
mistaken here, possibly not prepared for qw changing the meaning of
$quot; and '.

The problem isn't qw specifically, other constructions can cause the
same warning​:

perl -wce 'sub foo() { qw/abc def ghi/ } @​X{+foo} = ( 1 .. 3 );'
Scalar value @​X{+foo} better written as $X{+foo} at -e line 1.
Name "main​::X" used only once​: possible typo at -e line 1.

perl -we '$_ = "abc"; @​X{split ""} = ( 1 .. 3 );'
Scalar value @​X{split ""} better written as $X{split ""} at -e line 1.

And other characters can be used with qw​:

perl -we '@​X{qw$abc def ghi$} = ( 1 .. 3 )'
Scalar value @​X{qw$abc def ghi$} better written as $X{qw$abc def ghi$} at -e line 1.

The code that produces the warning uses a fairly simple heuristic to
try and detect incorrect usage of @​foo[...] or @​foo{...} - it scans
for the closing ] or }, skipping alphanumeric characters and a few
others.

I don't really see a way to fix this without moving it up to checking
the generated ops.

Tony

@p5pRT
Copy link
Author

p5pRT commented Jun 7, 2010

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Apr 26, 2011

From doabackflip@gmail.com

Created by doabackflip@gmail.com

I'm trying to use hash slices, but I get a warning saying Scalar value @​foo{qw#a b#} better written as $foo{qw#a b#} at -e line 1. - this seems incorrect

This works OK​:

geedorah​:/home/wstest# perl -E '$foo{a}=1; $foo{b}=2; say join",", @​foo{qw#a b#}'
1,2

But with warnings​:

geedorah​:/home/wstest# perl -wE '$foo{a}=1; $foo{b}=2; say join",", @​foo{qw#a b#}'
Scalar value @​foo{qw#a b#} better written as $foo{qw#a b#} at -e line 1.
1,2

But if I take perl's advice, it (unsurprisingly) doesn't work​:

geedorah​:/home/wstest# perl -wE '$foo{a}=1; $foo{b}=2; say join",", $foo{qw#a b#}'
Use of uninitialized value within %foo in join or string at -e line 1.

Not using "qw" seems OK​:

geedorah​:/home/wstest# perl -wE '$foo{a}=1; $foo{b}=2; say join",", @​foo{"a","b"}'
1,2

From http​://www.perlmonks.org/?node_id=901368

I also confirmed the warning message (I'm on v5.12.2).
But, it only seems to happen with the # delimiters. If I use other delimiters, I get no warnings​:

$ perl -wE '$foo{a}=1; $foo{b}=2; say join",", @​foo{qw{a b}}'
1,2
$ perl -wE '$foo{a}=1; $foo{b}=2; say join",", @​foo{qw/a b/}'
1,2
$ perl -wE '$foo{a}=1; $foo{b}=2; say join",", @​foo{qw(a b)}'
1,2
$ perl -wE '$foo{a}=1; $foo{b}=2; say join",", @​foo{qw#a b#}'
Scalar value @​foo{qw#a b#} better written as $foo{qw#a b#} at -e line 1.
1,2
$

Perl Info

Flags:
    category=core
    severity=low

Site configuration information for perl 5.10.1:

Configured by Debian Project at Fri Jan  7 13:21:10 UTC 2011.

Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
   
  Platform:
    osname=linux, osvers=2.6.32.27-dsa-ia32, archname=i486-linux-gnu-thread-multi
    uname='linux murphy 2.6.32.27-dsa-ia32 #1 smp mon dec 13 11:15:55 cet 2010 i686 gnulinux '
    config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.1 -Dsitearch=/usr/local/lib/perl/5.10.1 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.1 -Dd_dosuid -des'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -g',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.4.5', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /usr/lib64
    libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
    perllibs=-ldl -lm -lpthread -lc -lcrypt
    libc=/lib/libc-2.11.2.so, so=so, useshrplib=true, libperl=libperl.so.5.10.1
    gnulibc_version='2.11.2'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector'

Locally applied patches:
    DEBPKG:debian/arm_thread_stress_timeout - http://bugs.debian.org/501970 Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts
    DEBPKG:debian/cpan_config_path - Set location of CPAN::Config to /etc/perl as /usr may not be writable.
    DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
    DEBPKG:debian/db_file_ver - http://bugs.debian.org/340047 Remove overly restrictive DB_File version check.
    DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.
    DEBPKG:debian/enc2xs_inc - http://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories.
    DEBPKG:debian/errno_ver - http://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes.
    DEBPKG:debian/extutils_hacks - Various debian-specific ExtUtils changes
    DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.
    DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor.
    DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.
    DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
    DEBPKG:debian/m68k_thread_stress - http://bugs.debian.org/495826 Disable some threads tests on m68k for now due to missing TLS.
    DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian
    DEBPKG:debian/module_build_man_extensions - http://bugs.debian.org/479460 Adjust Module::Build manual page extensions for the Debian Perl policy
    DEBPKG:debian/perl_synopsis - http://bugs.debian.org/278323 Rearrange perl.pod
    DEBPKG:debian/prune_libs - http://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need.
    DEBPKG:debian/use_gdbm - Explicitly link against -lgdbm_compat in ODBM_File/NDBM_File. 
    DEBPKG:fixes/assorted_docs - http://bugs.debian.org/443733 [384f06a] Math::BigInt::CalcEmu documentation grammar fix
    DEBPKG:fixes/net_smtp_docs - http://bugs.debian.org/100195 [rt.cpan.org #36038] Document the Net::SMTP 'Port' option
    DEBPKG:fixes/processPL - http://bugs.debian.org/357264 [rt.cpan.org #17224] Always use PERLRUNINST when building perl modules.
    DEBPKG:debian/perlivp - http://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local
    DEBPKG:fixes/pod2man-index-backslash - http://bugs.debian.org/521256 Escape backslashes in .IX entries
    DEBPKG:debian/disable-zlib-bundling - Disable zlib bundling in Compress::Raw::Zlib
    DEBPKG:fixes/kfreebsd_cppsymbols - http://bugs.debian.org/533098 [3b910a0] Add gcc predefined macros to $Config{cppsymbols} on GNU/kFreeBSD.
    DEBPKG:debian/cpanplus_definstalldirs - http://bugs.debian.org/533707 Configure CPANPLUS to use the site directories by default.
    DEBPKG:debian/cpanplus_config_path - Save local versions of CPANPLUS::Config::System into /etc/perl.
    DEBPKG:fixes/kfreebsd-filecopy-pipes - http://bugs.debian.org/537555 [16f708c] Fix File::Copy::copy with pipes on GNU/kFreeBSD
    DEBPKG:fixes/anon-tmpfile-dir - http://bugs.debian.org/528544 [perl #66452] Honor TMPDIR when open()ing an anonymous temporary file
    DEBPKG:fixes/abstract-sockets - http://bugs.debian.org/329291 [89904c0] Add support for Abstract namespace sockets.
    DEBPKG:fixes/hurd_cppsymbols - http://bugs.debian.org/544307 [eeb92b7] Add gcc predefined macros to $Config{cppsymbols} on GNU/Hurd.
    DEBPKG:fixes/autodie-flock - http://bugs.debian.org/543731 Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc
    DEBPKG:fixes/archive-tar-instance-error - http://bugs.debian.org/539355 [rt.cpan.org #48879] Separate Archive::Tar instance error strings from each other
    DEBPKG:fixes/positive-gpos - http://bugs.debian.org/545234 [perl #69056] [c584a96] Fix \\G crash on first match
    DEBPKG:debian/devel-ppport-ia64-optim - http://bugs.debian.org/548943 Work around an ICE on ia64
    DEBPKG:fixes/trie-logic-match - http://bugs.debian.org/552291 [perl #69973] [0abd0d7] Fix a DoS in Unicode processing [CVE-2009-3626]
    DEBPKG:fixes/hppa-thread-eagain - http://bugs.debian.org/554218 make the threads-shared test suite more robust, fixing failures on hppa
    DEBPKG:fixes/crash-on-undefined-destroy - http://bugs.debian.org/564074 [perl #71952] [1f15e67] Fix a NULL pointer dereference when looking for a DESTROY method
    DEBPKG:fixes/tainted-errno - http://bugs.debian.org/574129 [perl #61976] [be1cf43] fix an errno stringification bug in taint mode
    DEBPKG:fixes/safe-upgrade - http://bugs.debian.org/582978 Upgrade Safe.pm to 2.25, fixing CVE-2010-1974
    DEBPKG:fixes/tell-crash - http://bugs.debian.org/578577 [f4817f3] Fix a tell() crash on bad arguments.
    DEBPKG:fixes/format-write-crash - http://bugs.debian.org/579537 [perl #22977] [421f30e] Fix a crash in format/write
    DEBPKG:fixes/arm-alignment - http://bugs.debian.org/289884 [f1c7503] Prevent gcc from optimizing the alignment test away on armel
    DEBPKG:fixes/fcgi-test - Fix a failure in CGI/t/fast.t when FCGI is installed
    DEBPKG:fixes/hurd-ccflags - http://bugs.debian.org/587901 Make hints/gnu.sh append to $ccflags rather than overriding them
    DEBPKG:debian/squelch-locale-warnings - http://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts
    DEBPKG:fixes/lc-numeric-docs - http://bugs.debian.org/379329 [perl #78452] [903eb63] LC_NUMERIC documentation fixes
    DEBPKG:fixes/lc-numeric-sprintf - http://bugs.debian.org/601549 [perl #78632] [b3fd614] Fix sprintf not to ignore LC_NUMERIC with constants
    DEBPKG:fixes/concat-stack-corruption - http://bugs.debian.org/596105 [perl #78674] [e3393f5] Fix stack pointer corruption in pp_concat() with 'use encoding'
    DEBPKG:fixes/cgi-multiline-header - http://bugs.debian.org/606995 [CVE-2010-2761 CVE-2010-4410 CVE-2010-4411] CGI.pm MIME boundary and multiline header vulnerabilities
    DEBPKG:patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.10.1-17 in patchlevel.h


@INC for perl 5.10.1:
    /etc/perl
    /usr/local/lib/perl/5.10.1
    /usr/local/share/perl/5.10.1
    /usr/lib/perl5
    /usr/share/perl5
    /usr/lib/perl/5.10
    /usr/share/perl/5.10
    /usr/local/lib/site_perl
    /usr/local/lib/perl/5.10.0
    /usr/local/share/perl/5.10.0
    .


Environment for perl 5.10.1:
    HOME=/root
    LANG=en_GB.UTF-8
    LANGUAGE=
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    PERL_BADLANG (unset)
    SHELL=/bin/bash


@p5pRT
Copy link
Author

p5pRT commented Apr 26, 2011

From @ikegami

Created by @ikegami

$ perl -c -we'my %f; my @​a = @​f{qw( a b )}'
-e syntax OK

$ perl -c -we'my %f; my @​a = @​f{qw! a b !}'
-e syntax OK

$ perl -c -we'my %f; my @​a = @​f{qw# a b #}'
Scalar value @​f{qw# a b #} better written as $f{qw# a b #} at -e line 1.
-e syntax OK

$ perl -c -we'my %f; my @​a = @​f{qw$ a b $}'
Scalar value @​f{qw$ a b $} better written as $f{qw$ a b $} at -e line 1.
-e syntax OK

Bug present in all versions tested​: v5.8.9, v5.10.1, v5.12.2, v5.13.10.

Perl Info

Flags:
    category=core
    severity=low

Site configuration information for perl 5.12.2:

Configured by eric at Wed Sep  8 16:01:41 EDT 2010.

Summary of my perl5 (revision 5 version 12 subversion 2) configuration:

  Platform:
    osname=linux, osvers=2.6.26-2-686, archname=i686-linux
    uname='linux fmdev10 2.6.26-2-686 #1 smp tue mar 9 17:35:51 utc
2010 i686 gnulinux '
    config_args='-de -Dprefix=/home/eric/usr/perlbrew/perls/perl-5.12.2'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2',
    cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.3.2', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -ldl -lm -lcrypt -lutil -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.7.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.7'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib
-fstack-protector'

Locally applied patches:



@INC for perl 5.12.2:
    /home/eric/usr/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/i686-linux
    /home/eric/usr/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2
    /home/eric/usr/perlbrew/perls/perl-5.12.2/lib/5.12.2/i686-linux
    /home/eric/usr/perlbrew/perls/perl-5.12.2/lib/5.12.2
    .


Environment for perl 5.12.2:
    HOME=/home/eric
    LANG=en_US.UTF-8
    LANGUAGE=
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/eric/usr/perlbrew/bin:/home/eric/usr/perlbrew/perls/current/bin:.:/home/eric/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
    PERLBREW_ROOT=/home/eric/usr/perlbrew
    PERL_BADLANG (unset)
    SHELL=/bin/bash

@p5pRT
Copy link
Author

p5pRT commented May 1, 2011

From alex-perlbug@earth.li

There's all manner of fun one can have here, this warns on the perfectly
valid, but why-would-you fragments below​:

the perldev/perl% ./miniperl -w -e 'my %f; my @​s = @​f{"}", "a"}'
Scalar value @​f{"} better written as $f{"} at -e line 1.

the perldev/perl% ./miniperl -w -e 'my %f; my @​s = @​f{"]", "a"}'
Scalar value @​f{"] better written as $f{"] at -e line 1.

I've attached a patch for a failing test as I can't solve this quickly.

The offensive code is from toke.c which just looks to the first closing
} or ] in a vague way for a sort-of-scalar or a sort-of-list within the
braces​:

  /* Warn about @​ where they meant $. */
  if (*s == '[' || *s == '{') {
  if (ckWARN(WARN_SYNTAX)) {
  const char *t = s + 1;
  while (*t && (isALNUM_lazy_if(t,UTF) || strchr("
\t$#+-'\"", *t)))
  t++;
  if (*t == '}' || *t == ']') {
  t++;
  PL_bufptr = PEEKSPACE(PL_bufptr); /* XXX can
realloc */
  Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
  "Scalar value %.*s better written as $%.*s",
  (int)(t-PL_bufptr), PL_bufptr,
  (int)(t-PL_bufptr-1), PL_bufptr+1);
  }
  }
  }

@p5pRT
Copy link
Author

p5pRT commented May 1, 2011

From alex-perlbug@earth.li

diff --git a/t/lib/warnings/toke b/t/lib/warnings/toke
index 9c33e71..622441a 100644
--- a/t/lib/warnings/toke
+++ b/t/lib/warnings/toke
@​@​ -972,3 +972,15 @​@​ Regexp modifiers "/l" and "/a" are mutually exclusive at - line 4, near "= "
Regexp modifier "/l" may not appear twice at - line 5, near "= "
Regexp modifier "/a" may appear a maximum of twice at - line 7, near "= "
BEGIN not safe after errors--compilation aborted at - line 8.
+########
+# toke.c
+use warnings;
+my %f;
+my @​a = @​f{qw(a b)};
+@​a = @​f{qw$a b$};
+@​a = @​f{"}", "a"};
+print "done\n";
+my $a = @​f{q'a'};
+EXPECT
+Scalar value @​f{q'a'} better written as $f{q'a'} at - line 8.
+done

@p5pRT
Copy link
Author

p5pRT commented May 1, 2011

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented May 1, 2011

From alex-perlbug@earth.li

Except, of course, I meant to send you this test patch. Sorry.

Alex

On Sat Apr 30 22​:52​:59 2011, quidity wrote​:

There's all manner of fun one can have here, this warns on the
perfectly
valid, but why-would-you fragments below​:

the perldev/perl% ./miniperl -w -e 'my %f; my @​s = @​f{"}", "a"}'
Scalar value @​f{"} better written as $f{"} at -e line 1.

the perldev/perl% ./miniperl -w -e 'my %f; my @​s = @​f{"]", "a"}'
Scalar value @​f{"] better written as $f{"] at -e line 1.

I've attached a patch for a failing test as I can't solve this
quickly.

The offensive code is from toke.c which just looks to the first
closing
} or ] in a vague way for a sort-of-scalar or a sort-of-list within
the
braces​:

        /\* Warn about @&#8203; where they meant $\. \*/
        if \(\*s == '\[' || \*s == '\{'\) \{
            if \(ckWARN\(WARN\_SYNTAX\)\) \{
                const char \*t = s \+ 1;
                while \(\*t && \(isALNUM\_lazy\_if\(t\,UTF\) || strchr\(" 

\t$#+-'\"", *t)))
t++;
if (*t == '}' || *t == ']') {
t++;
PL_bufptr = PEEKSPACE(PL_bufptr); /* XXX can
realloc */
Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
"Scalar value %.*s better written as
$%.*s",
(int)(t-PL_bufptr), PL_bufptr,
(int)(t-PL_bufptr-1), PL_bufptr+1);
}
}
}

@p5pRT
Copy link
Author

p5pRT commented May 1, 2011

From alex-perlbug@earth.li

diff --git a/t/lib/warnings/toke b/t/lib/warnings/toke
index 9c33e71..6cdff28 100644
--- a/t/lib/warnings/toke
+++ b/t/lib/warnings/toke
@​@​ -972,3 +972,15 @​@​ Regexp modifiers "/l" and "/a" are mutually exclusive at - line 4, near "= "
Regexp modifier "/l" may not appear twice at - line 5, near "= "
Regexp modifier "/a" may appear a maximum of twice at - line 7, near "= "
BEGIN not safe after errors--compilation aborted at - line 8.
+########
+# toke.c
+use warnings;
+my %f;
+my @​a = @​f{qw(a b)};
+@​a = @​f{qw$a b$};
+@​a = @​f{"}", "a"};
+print "done\n";
+my $a = @​f{q'a'};
+EXPECT
+done
+Scalar value @​f{q'a'} better written as $f{q'a'} at - line 8.

@p5pRT
Copy link
Author

p5pRT commented May 1, 2011

From alex-perlbug@earth.li

No, I didn't. Warnings first, done last. As you were. The first patch
is the correct one.

On Sat Apr 30 22​:57​:59 2011, quidity wrote​:

Except, of course, I meant to send you this test patch. Sorry.

Alex

On Sat Apr 30 22​:52​:59 2011, quidity wrote​:

There's all manner of fun one can have here, this warns on the
perfectly
valid, but why-would-you fragments below​:

the perldev/perl% ./miniperl -w -e 'my %f; my @​s = @​f{"}", "a"}'
Scalar value @​f{"} better written as $f{"} at -e line 1.

the perldev/perl% ./miniperl -w -e 'my %f; my @​s = @​f{"]", "a"}'
Scalar value @​f{"] better written as $f{"] at -e line 1.

I've attached a patch for a failing test as I can't solve this
quickly.

The offensive code is from toke.c which just looks to the first
closing
} or ] in a vague way for a sort-of-scalar or a sort-of-list within
the
braces​:

        /\* Warn about @&#8203; where they meant $\. \*/
        if \(\*s == '\[' || \*s == '\{'\) \{
            if \(ckWARN\(WARN\_SYNTAX\)\) \{
                const char \*t = s \+ 1;
                while \(\*t && \(isALNUM\_lazy\_if\(t\,UTF\) || strchr\(" 

\t$#+-'\"", *t)))
t++;
if (*t == '}' || *t == ']') {
t++;
PL_bufptr = PEEKSPACE(PL_bufptr); /* XXX can
realloc */
Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
"Scalar value %.*s better written as
$%.*s",
(int)(t-PL_bufptr), PL_bufptr,
(int)(t-PL_bufptr-1), PL_bufptr+1);
}
}
}

@p5pRT
Copy link
Author

p5pRT commented May 4, 2012

From ailin@flupps.net

Created by ailin@flupps.net

The following code

  perl -Mwarnings -E"@​x{qw'y z'}"

elicits the warning

  Scalar value @​x{qw'y z'} better written as $x{qw'y z'} at -e line 1.

which is clearly bogus and following the recommendation would break
code logic. This does not happen with @​x{(qw'y z')} or another
delimiter for qq.

The issue has been confirmed on freenode #perl channel.

Perl Info

Flags:
    category=library
    severity=low
    module=warnings

Site configuration information for perl 5.10.1:

Configured by Debian Project at Thu Jun 30 19:24:11 UTC 2011.

Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
  Commit id: 
  Platform:
    osname=linux, osvers=2.6.32-5-686, archname=i486-linux-gnu-thread-multi
    uname='linux callisto 2.6.32-5-686 #1 smp mon jun 13 04:13:06 utc 2011 i686 gnulinux '
    config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.1 -Dsitearch=/usr/local/lib/perl/5.10.1 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.1 -Dd_dosuid -des'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -g',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.4.5', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /usr/lib64
    libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
    perllibs=-ldl -lm -lpthread -lc -lcrypt
    libc=/lib/libc-2.11.2.so, so=so, useshrplib=true, libperl=libperl.so.5.10.1
    gnulibc_version='2.11.2'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector'

Locally applied patches:
    DEBPKG:debian/arm_thread_stress_timeout - http://bugs.debian.org/501970 Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts
    DEBPKG:debian/cpan_config_path - Set location of CPAN::Config to /etc/perl as /usr may not be writable.
    DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
    DEBPKG:debian/db_file_ver - http://bugs.debian.org/340047 Remove overly restrictive DB_File version check.
    DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.
    DEBPKG:debian/enc2xs_inc - http://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories.
    DEBPKG:debian/errno_ver - http://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes.
    DEBPKG:debian/extutils_hacks - Various debian-specific ExtUtils changes
    DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.
    DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor.
    DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.
    DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
    DEBPKG:debian/m68k_thread_stress - http://bugs.debian.org/495826 Disable some threads tests on m68k for now due to missing TLS.
    DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian
    DEBPKG:debian/module_build_man_extensions - http://bugs.debian.org/479460 Adjust Module::Build manual page extensions for the Debian Perl policy
    DEBPKG:debian/perl_synopsis - http://bugs.debian.org/278323 Rearrange perl.pod
    DEBPKG:debian/prune_libs - http://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need.
    DEBPKG:debian/use_gdbm - Explicitly link against -lgdbm_compat in ODBM_File/NDBM_File. 
    DEBPKG:fixes/assorted_docs - http://bugs.debian.org/443733 [384f06a] Math::BigInt::CalcEmu documentation grammar fix
    DEBPKG:fixes/net_smtp_docs - http://bugs.debian.org/100195 [rt.cpan.org #36038] Document the Net::SMTP 'Port' option
    DEBPKG:fixes/processPL - http://bugs.debian.org/357264 [rt.cpan.org #17224] Always use PERLRUNINST when building perl modules.
    DEBPKG:debian/perlivp - http://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local
    DEBPKG:fixes/pod2man-index-backslash - http://bugs.debian.org/521256 Escape backslashes in .IX entries
    DEBPKG:debian/disable-zlib-bundling - Disable zlib bundling in Compress::Raw::Zlib
    DEBPKG:fixes/kfreebsd_cppsymbols - http://bugs.debian.org/533098 [3b910a0] Add gcc predefined macros to $Config{cppsymbols} on GNU/kFreeBSD.
    DEBPKG:debian/cpanplus_definstalldirs - http://bugs.debian.org/533707 Configure CPANPLUS to use the site directories by default.
    DEBPKG:debian/cpanplus_config_path - Save local versions of CPANPLUS::Config::System into /etc/perl.
    DEBPKG:fixes/kfreebsd-filecopy-pipes - http://bugs.debian.org/537555 [16f708c] Fix File::Copy::copy with pipes on GNU/kFreeBSD
    DEBPKG:fixes/anon-tmpfile-dir - http://bugs.debian.org/528544 [perl #66452] Honor TMPDIR when open()ing an anonymous temporary file
    DEBPKG:fixes/abstract-sockets - http://bugs.debian.org/329291 [89904c0] Add support for Abstract namespace sockets.
    DEBPKG:fixes/hurd_cppsymbols - http://bugs.debian.org/544307 [eeb92b7] Add gcc predefined macros to $Config{cppsymbols} on GNU/Hurd.
    DEBPKG:fixes/autodie-flock - http://bugs.debian.org/543731 Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc
    DEBPKG:fixes/archive-tar-instance-error - http://bugs.debian.org/539355 [rt.cpan.org #48879] Separate Archive::Tar instance error strings from each other
    DEBPKG:fixes/positive-gpos - http://bugs.debian.org/545234 [perl #69056] [c584a96] Fix \\G crash on first match
    DEBPKG:debian/devel-ppport-ia64-optim - http://bugs.debian.org/548943 Work around an ICE on ia64
    DEBPKG:fixes/trie-logic-match - http://bugs.debian.org/552291 [perl #69973] [0abd0d7] Fix a DoS in Unicode processing [CVE-2009-3626]
    DEBPKG:fixes/hppa-thread-eagain - http://bugs.debian.org/554218 make the threads-shared test suite more robust, fixing failures on hppa
    DEBPKG:fixes/crash-on-undefined-destroy - http://bugs.debian.org/564074 [perl #71952] [1f15e67] Fix a NULL pointer dereference when looking for a DESTROY method
    DEBPKG:fixes/tainted-errno - http://bugs.debian.org/574129 [perl #61976] [be1cf43] fix an errno stringification bug in taint mode
    DEBPKG:fixes/safe-upgrade - http://bugs.debian.org/582978 Upgrade Safe.pm to 2.25, fixing CVE-2010-1974
    DEBPKG:fixes/tell-crash - http://bugs.debian.org/578577 [f4817f3] Fix a tell() crash on bad arguments.
    DEBPKG:fixes/format-write-crash - http://bugs.debian.org/579537 [perl #22977] [421f30e] Fix a crash in format/write
    DEBPKG:fixes/arm-alignment - http://bugs.debian.org/289884 [f1c7503] Prevent gcc from optimizing the alignment test away on armel
    DEBPKG:fixes/fcgi-test - Fix a failure in CGI/t/fast.t when FCGI is installed
    DEBPKG:fixes/hurd-ccflags - http://bugs.debian.org/587901 Make hints/gnu.sh append to $ccflags rather than overriding them
    DEBPKG:debian/squelch-locale-warnings - http://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts
    DEBPKG:fixes/lc-numeric-docs - http://bugs.debian.org/379329 [perl #78452] [903eb63] LC_NUMERIC documentation fixes
    DEBPKG:fixes/lc-numeric-sprintf - http://bugs.debian.org/601549 [perl #78632] [b3fd614] Fix sprintf not to ignore LC_NUMERIC with constants
    DEBPKG:fixes/concat-stack-corruption - http://bugs.debian.org/596105 [perl #78674] [e3393f5] Fix stack pointer corruption in pp_concat() with 'use encoding'
    DEBPKG:fixes/cgi-multiline-header - http://bugs.debian.org/606995 [CVE-2010-2761 CVE-2010-4410 CVE-2010-4411] CGI.pm MIME boundary and multiline header vulnerabilities
    DEBPKG:fixes/casing-taint-cve-2011-1487 - http://bugs.debian.org/622817 [perl #87336] fix unwanted taint laundering in lc(), uc() et al.
    DEBPKG:fixes/safe-reval-rdo-cve-2010-1447 - [PATCH] Wrap by default coderefs returned by rdo and reval
    DEBPKG:patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.10.1-17squeeze2 in patchlevel.h


@INC for perl 5.10.1:
    /home/ailin/myperl/lib/i486-linux-gnu-thread-multi
    /home/ailin/myperl/lib
    /home/ailin/myperl/lib/perl/5.10.0
    /home/ailin/myperl/share/perl/5.10.0
    /home/ailin/myperl/lib/perl5/i486-linux-gnu-thread-multi
    /home/ailin/myperl/lib/perl5
    /home/ailin/myperl/share/perl5
    /home/ailin/myperl/lib/perl/5.10
    /home/ailin/myperl/share/perl/5.10
    /etc/perl
    /usr/local/lib/perl/5.10.1
    /usr/local/share/perl/5.10.1
    /usr/lib/perl5
    /usr/share/perl5
    /usr/lib/perl/5.10
    /usr/share/perl/5.10
    /usr/local/lib/site_perl
    .


Environment for perl 5.10.1:
    HOME=/home/ailin
    LANG=en_GB.UTF-8
    LANGUAGE=en_GB.utf-8
    LC_ADDRESS=de_DE.UTF-8
    LC_ALL=en_GB.utf-8
    LC_MEASUREMENT=de_DE.UTF-8
    LC_MONETARY=de_DE.UTF-8
    LC_NAME=de_DE.UTF-8
    LC_NUMERIC=de_DE.UTF-8
    LC_PAPER=de_DE.UTF-8
    LC_TELEPHONE=de_DE.UTF-8
    LC_TIME=de_DE.UTF-8
    LD_LIBRARY_PATH=/home/ailin/tmux_n/libevt
    LOGDIR (unset)
    PATH=/home/ailin/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
    PERL5LIB=/home/ailin/myperl/lib:/home/ailin/myperl/lib/perl/5.10.0:/home/ailin/myperl/share/perl/5.10.0:/home/ailin/myperl/lib/perl5:/home/ailin/myperl/share/perl5:/home/ailin/myperl/lib/perl/5.10:/home/ailin/myperl/share/perl/5.10
    PERL_BADLANG (unset)
    SHELL=/usr/bin/zsh

@p5pRT
Copy link
Author

p5pRT commented Sep 15, 2013

From @cpansprout

Fixed in 429a255.

--

Father Chrysostomos

@p5pRT
Copy link
Author

p5pRT commented Sep 15, 2013

From [Unknown Contact. See original ticket]

Fixed in 429a255.

--

Father Chrysostomos

@p5pRT
Copy link
Author

p5pRT commented Sep 15, 2013

@cpansprout - Status changed from 'open' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant