Re: [PATCH 4/4] leaking_addresses: add scan_once array

From: Tobin C. Harding
Date: Sun Feb 25 2018 - 21:01:44 EST


On Sun, Feb 25, 2018 at 06:09:53PM -0700, Tycho Andersen wrote:
> Hi Tobin,
>
> On Mon, Feb 19, 2018 at 01:50:49PM +1100, Tobin C. Harding wrote:
> > +sub already_scanned
> > +{
> > + my ($filename) = @_;
> > + state %seen;
> > +
> > + foreach (@once_only) {
> > + if (/^$filename$/) {
> > + if ($seen{$_} == 1) {
>
> This should be something like,
>
> if (($seen{$_} //= 0) == 1) {
>
> otherwise I get a bunch of uninitialized warnings,
>
> Use of uninitialized value in pattern match (m//) at /usr/share/perl/5.26/Math/BigInt.pm line 1199.
> Math::BigInt::bcmp(Math::BigInt=HASH(0x55dc2f7e4580), undef) called at /usr/share/perl/5.26/Math/BigInt.pm line 1257
> Math::BigInt::beq(Math::BigInt=HASH(0x55dc2f7e4580), undef) called at /usr/share/perl/5.26/Math/BigInt.pm line 105
> Math::BigInt::__ANON__(Math::BigInt=HASH(0x55dc2f7e4580), undef, 1) called at ./leaking_addresses.pl line 422
> main::already_scanned("smaps") called at ./leaking_addresses.pl line 448
> main::skip("/proc/1/smaps") called at ./leaking_addresses.pl line 509
> main::walk("/proc", "/sys") called at ./leaking_addresses.pl line 159
>
> Tycho

Cool, thanks. Will fix and re-spin.


Tobin