Re: [PATCH] checkpatch: Fix unescaped left brace

From: Joe Perches
Date: Sun Nov 15 2020 - 22:43:43 EST


On Mon, 2020-11-16 at 01:59 +0530, Dwaipayan Ray wrote:
> There is an unescaped left brace in a regex in OPEN_BRACE
> check. This throws a runtime error when checkpatch is run
> with --fix flag and the OPEN_BRACE check is executed.
>
> Fix it by escaping the left brace.
>
> Fixes: 8d1824780f2f ("checkpatch: add --fix option for a couple OPEN_BRACE misuses")
> Signed-off-by: Dwaipayan Ray <dwaipayanray1@xxxxxxxxx>

Thanks Dwaipayan.

Obviously that code path hasn't been tested in awhile.

I think the notice to require an escape for a { was added back in
perl 5.16 or so.

Acked-by: Joe Perches <joe@xxxxxxxxxxx>

> ---
>  scripts/checkpatch.pl | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 2749f32dffe9..0da6422cd0fd 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -4505,7 +4505,7 @@ sub process {
>   $fix) {
>   fix_delete_line($fixlinenr, $rawline);
>   my $fixed_line = $rawline;
> - $fixed_line =~ /(^..*$Type\s*$Ident\(.*\)\s*){(.*)$/;
> + $fixed_line =~ /(^..*$Type\s*$Ident\(.*\)\s*)\{(.*)$/;
>   my $line1 = $1;
>   my $line2 = $2;
>   fix_insert_line($fixlinenr, ltrim($line1));