For files that lack trailing newlines and match a leaking address (e.g.
wchan[1]), the leaking_addresses.pl report would run together with the
next line, making things look corrupted.
Unconditionally remove the newline on input, and write it back out on
output.
[1] https://lore.kernel.org/all/20210103142726.GC30643@xsang-OptiPlex-9020/
Cc: "Tobin C. Harding" <[email protected]>
Cc: Tycho Andersen <[email protected]>
Cc: [email protected]
Signed-off-by: Kees Cook <[email protected]>
---
scripts/leaking_addresses.pl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/leaking_addresses.pl b/scripts/leaking_addresses.pl
index b2d8b8aa2d99..8f636a23bc3f 100755
--- a/scripts/leaking_addresses.pl
+++ b/scripts/leaking_addresses.pl
@@ -455,8 +455,9 @@ sub parse_file
open my $fh, "<", $file or return;
while ( <$fh> ) {
+ chomp;
if (may_leak_address($_)) {
- print $file . ': ' . $_;
+ printf("$file: $_\n");
}
}
close $fh;
--
2.30.2
On Wed, Sep 29, 2021 at 03:02:18PM -0700, Kees Cook wrote:
> For files that lack trailing newlines and match a leaking address (e.g.
> wchan[1]), the leaking_addresses.pl report would run together with the
> next line, making things look corrupted.
>
> Unconditionally remove the newline on input, and write it back out on
> output.
>
> [1] https://lore.kernel.org/all/20210103142726.GC30643@xsang-OptiPlex-9020/
>
> Cc: "Tobin C. Harding" <[email protected]>
> Cc: Tycho Andersen <[email protected]>
Acked-by: Tycho Andersen <[email protected]>
Thanks!
> Cc: [email protected]
> Signed-off-by: Kees Cook <[email protected]>
> ---
> scripts/leaking_addresses.pl | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/leaking_addresses.pl b/scripts/leaking_addresses.pl
> index b2d8b8aa2d99..8f636a23bc3f 100755
> --- a/scripts/leaking_addresses.pl
> +++ b/scripts/leaking_addresses.pl
> @@ -455,8 +455,9 @@ sub parse_file
>
> open my $fh, "<", $file or return;
> while ( <$fh> ) {
> + chomp;
> if (may_leak_address($_)) {
> - print $file . ': ' . $_;
> + printf("$file: $_\n");
> }
> }
> close $fh;
> --
> 2.30.2
>