Skip Menu |

This queue is for tickets about the Config-Tiny CPAN distribution.

Report information
The Basics
Id: 107754
Status: resolved
Worked: 1 hour (60 min)
Priority: 0/
Queue: Config-Tiny

People
Owner: Nobody in particular
Requestors: gragory.mail [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Bug with filename '0'
Date: Tue, 13 Oct 2015 18:07:39 +0300
To: bug-Config-Tiny [...] rt.cpan.org
From: Григорий Кудренко <gragory.mail [...] gmail.com>
Hello! I found a small bug in Config::Tiny module version 2.22. When you try to do read() or write() methods with filename'0' you will get an error 'No file name provided'. It happened because shift returns undef when array contains undef, empty or zero value. I would like to suggest you the patch in attachment to fix this bug. PS: Sorry for bad English =) Information about system: gragory@w1407539 /tmp/config-tiny $ perl -MConfig::Tiny -E 'say $Config::Tiny::VERSION;' 2.22 gragory@w1407539 /tmp/config-tiny $ uname -a Linux w1407539 4.0.5-gentoo #3 SMP Thu Aug 6 09:48:39 MSK 2015 x86_64 Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz GenuineIntel GNU/Linux gragory@w1407539 /tmp/config-tiny $ perl -V Summary of my perl5 (revision 5 version 20 subversion 2) configuration: Platform: osname=linux, osvers=3.18.9-gentoo, archname=x86_64-linux uname='linux w1407539 3.18.9-gentoo #1 smp mon mar 23 14:40:00 msk 2015 x86_64 intel(r) core(tm) i7-4770k cpu @ 3.50ghz genuineintel gnulinux ' config_args='-des -Duseshrplib -Darchname=x86_64-linux -Dcc=x86_64-pc-linux-gnu-gcc -Doptimize=-march=core-avx2 -O2 -pipe -Dldflags=-Wl,-O1 -Wl,--as-needed -Dprefix=/usr -Dinstallprefix=/usr -Dsiteprefix=/usr/local -Dvendorprefix=/usr -Dscriptdir=/usr/bin -Dprivlib=/usr/lib64/perl5/5.20.2 -Darchlib=/usr/lib64/perl5/5.20.2/x86_64-linux -Dsitelib=/usr/local/lib64/perl5/5.20.2 -Dsitearch=/usr/local/lib64/perl5/5.20.2/x86_64-linux -Dvendorlib=/usr/lib64/perl5/vendor_perl/5.20.2 -Dvendorarch=/usr/lib64/perl5/vendor_perl/5.20.2/x86_64-linux -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dvendorman1dir=/usr/share/man/man1 -Dvendorman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm -Dlibperl=libperl.so.5.20.2 -Dlocincpth=/usr/include -Dglibpth=/lib64 /usr/lib64 -Duselargefiles -Dd_semctl_semun -Dcf_by=Gentoo -Dmyhostname=localhost -Dperladmin=root@localhost -Dinstallusrbinperl=n -Ud_csh -Uusenm -Di_ndbm -Di_gdbm -Di_db -DDEBUGGING=none -Dinc_version_list=5.20.0/x86_64-linux 5.20.0 5.20.1/x86_64-linux 5.20.1 -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dnoextensions=ODBM_File' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='x86_64-pc-linux-gnu-gcc', ccflags ='-fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-march=core-avx2 -O2 -pipe', cppflags='-fwrapv -fno-strict-aliasing -pipe' ccversion='', gccversion='4.8.3', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='x86_64-pc-linux-gnu-gcc', ldflags ='-Wl,-O1 -Wl,--as-needed' libpth=/usr/local/lib64 /lib64 /usr/lib64 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include-fixed /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc libc=libc-2.20.so, so=so, useshrplib=true, libperl=libperl.so.5.20.2 gnulibc_version='2.20' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -march=core-avx2 -O2 -pipe -Wl,-O1 -Wl,--as-needed' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF Locally applied patches: gentoo/hints_hpux - Fix hpux hints gentoo/aix_soname - aix gcc detection and shared library soname support gentoo/EUMM-RUNPATH - https://bugs.gentoo.org/105054 cpan/ExtUtils-MakeMaker: drop $PORTAGE_TMPDIR from LD_RUN_PATH gentoo/config_over - Remove -rpath and append LDFLAGS to lddlflags gentoo/opensolaris_headers - [PATCH] Add headers for opensolaris gentoo/patchlevel - List packaged patches for perl-5.20.2(#1) in patchlevel.h gentoo/cpanplus_definstalldirs - Configure CPANPLUS to use the site directories by default. gentoo/cleanup-paths - [PATCH] Cleanup PATH and shrpenv gentoo/enc2xs - Tweak enc2xs to follow symlinks and ignore missing @INC directories. gentoo/enc2xs_checksums - gentoo/darwin-cc-ld - https://bugs.gentoo.org/297751 [PATCH] darwin: Use $CC to link gentoo/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN. gentoo/interix - [PATCH] Fix interix hints gentoo/create_libperl_soname - https://bugs.gentoo.org/286840 [PATCH] Set libperl soname gentoo/mod_paths - Add /etc/perl to @INC gentoo/EUMM_delete_packlist - gentoo/drop_fstack_protector - https://bugs.gentoo.org/348557 [PATCH] Don't force -fstack-protector on everyone gentoo/usr_local - [PATCH] Remove /usr/local paths gentoo/D-SHA-CFLAGS - https://bugs.gentoo.org/506818 [PATCH] Do not set custom CFLAGS in cpan/Digest-SHA gentoo/io_socket_ip_tests - debian/cpan-missing-site-dirs - Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable debian/regcomp-mips-optim - Downgrade the optimization of regcomp.c on mips and mipsel due to a gcc-4.9 bug debian/perldoc-less-R - Tell the 'less' pager to allow terminal escape sequences debian/makemaker-pasthru - Pass LD settings through to subdirectories fixes/net_smtp_docs - [rt.cpan.org #36038] Document the Net::SMTP 'Port' option fixes/memoize_storable_nstore - [rt.cpan.org #77790] Memoize::Storable: respect 'nstore' option not respected fixes/document_makemaker_ccflags - [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags} Built under linux Compiled at Apr 6 2015 12:30:46 @INC: /etc/perl /usr/local/lib64/perl5/5.20.2/x86_64-linux /usr/local/lib64/perl5/5.20.2 /usr/lib64/perl5/vendor_perl/5.20.2/x86_64-linux /usr/lib64/perl5/vendor_perl/5.20.2 /usr/local/lib64/perl5/5.20.1/x86_64-linux /usr/local/lib64/perl5/5.20.1 /usr/local/lib64/perl5 /usr/lib64/perl5/vendor_perl/5.20.1/x86_64-linux /usr/lib64/perl5/vendor_perl/5.20.1 /usr/lib64/perl5/vendor_perl /usr/lib64/perl5/5.20.2/x86_64-linux /usr/lib64/perl5/5.20.2 . -- Best wishes, Gragory Koudrenko e-mail: gragory.mail@gmail.com

Message body is not shown because sender requested not to inline it.

Thanx for the report. The fix is in V 2.23, which is now on CPAN. Please see Changes for details.