lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 18 Dec 2017 07:12:50 -0800
From:   Joe Perches <joe@...ches.com>
To:     Jeremy Sowden <jeremy@...zel.net>, linux-kernel@...r.kernel.org,
        apw@...onical.com
Subject: Re: [PATCH] checkpatch: fix for stripping brackets from macros.

On Mon, 2017-12-18 at 14:17 +0000, Jeremy Sowden wrote:
> When checking macros, checkpatch.pl strips parentheses, square brackets
> and braces.  However, the search-and-replace expression was not correct,
> and instead of replacing the brackets and their contents with just the
> contents, it was replacing them with literal 1's.

Jeremy:

What is the effect on the rest of the block that
uses this substituted
$dstat?  Why should this be
done?

Andy:

I believe this is intentional as it simplifies
the macro analysis and has no other effect on the
rest of the block.  Correct?

> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -4874,9 +4874,9 @@ sub process {
>  			$dstat =~ s/\s*$//s;
>  
>  			# Flatten any parentheses and braces
> -			while ($dstat =~ s/\([^\(\)]*\)/1/ ||
> -			       $dstat =~ s/\{[^\{\}]*\}/1/ ||
> -			       $dstat =~ s/.\[[^\[\]]*\]/1/)
> +			while ($dstat =~ s/\(([^\(\)]*)\)/$1/ ||
> +			       $dstat =~ s/\{([^\{\}]*)\}/$1/ ||
> +			       $dstat =~ s/.\[([^\[\]]*)\]/$1/)
>  			{
>  			}


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ