Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.95k stars 554 forks source link

Overload returning undef causes segfault #4840

Closed p5pRT closed 20 years ago

p5pRT commented 22 years ago

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

Searchable as RT8247$

p5pRT commented 22 years ago

From dwilson@ns2.sd.intuit.com

Created by Doug_Wilson@intuit.com

Was playing with Hook​::LexWrap\, and this sort of situation came up​:

package MyPackage; use overload q{""} => sub { undef };

package main;

my $return = bless []\, 'MyPackage'; print $return; # Core dump!

Perl Info ``` Flags: category=core severity=high Site configuration information for perl v5.6.1: Configured by dwilson at Mon Jul 2 14:49:35 PDT 2001. Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: Platform: osname=solaris, osvers=2.6, archname=sun4-solaris uname='sunos stan 5.6 generic_105181-26 sun4u sparc sunw,ultra-enterprise ' config_args='-der' hint=previous, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O', cppflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccversion='', gccversion='2.95.2 19991024 (release)', gccosandvers='solaris2.6' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, usemymalloc=y, prototype=define Linker and Libraries: ld='gcc', ldflags =' -L/usr/local/lib ' libpth=/usr/local/lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib' Locally applied patches: @INC for perl v5.6.1: /s007/suppression/perl/perl5/lib/5.6.1/sun4-solaris /s007/suppression/perl/perl5/lib/5.6.1 /s007/suppression/perl/perl5/lib/site_perl/5.6.1/sun4-solaris /s007/suppression/perl/perl5/lib/site_perl/5.6.1 /s007/suppression/perl/perl5/lib/site_perl /s007/suppression/perl/lib . Environment for perl v5.6.1: HOME=/export/home/dwilson LANG (unset) LANGUAGE (unset) LC_COLLATE=en_US LC_CTYPE=en_US LC_MESSAGES=C LC_MONETARY=en_US LC_NUMERIC=en_US LC_TIME=en_US LD_LIBRARY_PATH=/export/home/dwilson/lib:/export/home/dwilson/glib/lib:/usr/local/lib:/u01/app/oracle/product/8.0.5/lib:/usr/openwin/lib:/usr/dt/lib LOGDIR (unset) PATH=/export/home/dwilson/glib/bin:/export/home/dwilson/bin:/s007/suppression/perl/perl5/bin:/usr/xpg4/bin:/opt/PGP:/usr/bin::/etc:/usr/ccs/bin:/usr/local/bin:/u01/app/oracle/product/8.0.5/bin:/u01/app/oracle/product/8.0.5/bin PERL_BADLANG (unset) SHELL=/bin/ksh ```
p5pRT commented 22 years ago

From @schwern

On Tue\, Jan 15\, 2002 at 04​:51​:24PM -0800\, dwilson@​ns2.sd.intuit.com wrote​:

This is a bug report for perl from Doug_Wilson@​intuit.com\, generated with the help of perlbug 1.33 running under perl v5.6.1.

----------------------------------------------------------------- [Please enter your report here]

Was playing with Hook​::LexWrap\, and this sort of situation came up​:

package MyPackage; use overload q{""} => sub { undef };

package main;

my $return = bless []\, 'MyPackage'; print $return; # Core dump!

Thanks for the report. This problem's been fixed in the latest development versions and will appear in 5.8.0 and maybe 5.6.2.

--

Michael G. Schwern \schwern@​pobox\.com http​://www.pobox.com/~schwern/ Perl Quality Assurance \perl\-qa@​perl\.org Kwalitee Is Job One I'll tell you what beats voodoo every time\, a big ass knife.   -- "Overkill" Battlebot driver

p5pRT commented 22 years ago

From @schwern

Real bug in 5.6.1\, fixed in bleadperl.

--

Michael G. Schwern \schwern@​pobox\.com http​://www.pobox.com/~schwern/ Perl Quality Assurance \perl\-qa@​perl\.org Kwalitee Is Job One Fuck with me and I will saw off your legs.   http​://www.unamerican.com/