From ea139bda0e78a17b1d66017f9bcd4ee8d802d7c6 Mon Sep 17 00:00:00 2001 From: Steve Hancock Date: Thu, 1 Jul 2021 06:21:19 -0700 Subject: [PATCH] Fixed use of uninitialized value --- lib/Perl/Tidy/Tokenizer.pm | 3 +++ local-docs/BugLog.pod | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/lib/Perl/Tidy/Tokenizer.pm b/lib/Perl/Tidy/Tokenizer.pm index 2ab93c13..b0e3676d 100644 --- a/lib/Perl/Tidy/Tokenizer.pm +++ b/lib/Perl/Tidy/Tokenizer.pm @@ -7584,10 +7584,13 @@ sub find_next_nonblank_token { peek_ahead_for_nonblank_token( $rtokens, $max_token_index ); } } + my $next_nonblank_token = $rtokens->[ ++$i ]; + return ( " ", $i ) unless defined($next_nonblank_token); if ( $next_nonblank_token =~ /^\s*$/ ) { $next_nonblank_token = $rtokens->[ ++$i ]; + return ( " ", $i ) unless defined($next_nonblank_token); } return ( $next_nonblank_token, $i ); } diff --git a/local-docs/BugLog.pod b/local-docs/BugLog.pod index 35a916e0..8cc0484c 100644 --- a/local-docs/BugLog.pod +++ b/local-docs/BugLog.pod @@ -2,6 +2,16 @@ =over 4 +=item B + +The previous Tokenizer update caused the use of an unitialized value when run on case b1053: + + Use of uninitialized value $next_nonblank_token in pattern match (m//) at /home/steve/bin/Perl/Tidy/Tokenizer.pm line 7589. + Use of uninitialized value $nn_nonblank_token in pattern match (m//) at /home/steve/bin/Perl/Tidy/Tokenizer.pm line 3723. + b1053 converged on iteration 2 + +This update fixes this. + =item B In the following example -- 2.39.5