]> git.ipfire.org Git - thirdparty/curl.git/commit
checksrc: fix regexp for ASSIGNWITHINCONDITION
authorDaniel Gustafsson <daniel@yesql.se>
Thu, 28 Nov 2019 13:16:02 +0000 (14:16 +0100)
committerDaniel Gustafsson <daniel@yesql.se>
Thu, 28 Nov 2019 13:18:16 +0000 (14:18 +0100)
commitba82673dac3e8d00a76aa5e3779a0cb80e7442af
treee3ec5f146e8730255b7645609037a9b946ff40bd
parenta956a8c5b48414c838129df1c082026fc5a275ab
checksrc: fix regexp for ASSIGNWITHINCONDITION

The regexp looking for assignments within conditions was too greedy
and matched a too long string in the case of multiple conditionals
on the same line. This is basically only a problem in single line
macros, and the code which exemplified this was essentially:

  do { if((x) != NULL) { x = NULL; } } while(0)

..where the final parenthesis of while(0) matched the regexp, and
the legal assignment in the block triggered the warning. Fix by
making the regexp less greedy by matching for the tell-tale signs
of the if statement ending.

Also remove the one occurrence where the warning was disabled due
to a construction like the above, where the warning didn't apply
when fixed.

Closes #4647
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
lib/checksrc.pl
lib/vssh/libssh.c