Re: [BUG] checkpatch: false positive for commits with quote characters

From: Joe Perches
Date: Thu Dec 03 2015 - 19:36:36 EST


On Thu, 2015-12-03 at 16:29 -0800, Joe Perches wrote:
> On Thu, 2015-12-03 at 16:13 -0800, Brian Norris wrote:
> > Ping? I've hit some different false positives today on the same rule.
> > I'll stop bothering to report them if no one cares.
>
> Perhaps this:

(minus the debugging this time...)
---
 scripts/checkpatch.pl | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index d4960f7..b23dff8 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2397,20 +2397,20 @@ sub process {
  $long = 1 if ($line =~ /\bcommit\s+[0-9a-f]{41,}/i);
  $space = 0 if ($line =~ /\bcommit [0-9a-f]/i);
  $case = 0 if ($line =~ /\b[Cc]ommit\s+[0-9a-f]{5,40}[^A-F]/);
- if ($line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("([^"]+)"\)/i) {
+ if ($line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("(.*)"\)/i) {
  $orig_desc = $1;
  $hasparens = 1;
  } elsif ($line =~ /\bcommit\s+[0-9a-f]{5,}\s*$/i &&
   defined $rawlines[$linenr] &&
-  $rawlines[$linenr] =~ /^\s*\("([^"]+)"\)/) {
+  $rawlines[$linenr] =~ /^\s*\("(.*)"\)/) {
  $orig_desc = $1;
  $hasparens = 1;
  } elsif ($line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("[^"]+$/i &&
   defined $rawlines[$linenr] &&
-  $rawlines[$linenr] =~ /^\s*[^"]+"\)/) {
+  $rawlines[$linenr] =~ /^\s*.*"\)/) {
  $line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("([^"]+)$/i;
  $orig_desc = $1;
- $rawlines[$linenr] =~ /^\s*([^"]+)"\)/;
+ $rawlines[$linenr] =~ /^\s*(.*)"\)/;
  $orig_desc .= " " . $1;
  $hasparens = 1;
  }
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/