doubletest.cocci 795 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /// Find &&/|| operations that include the same argument more than once
  2. //# A common source of false positives is when the argument performs a side
  3. //# effect.
  4. ///
  5. // Confidence: Moderate
  6. // Copyright: (C) 2010 Nicolas Palix, DIKU. GPLv2.
  7. // Copyright: (C) 2010 Julia Lawall, DIKU. GPLv2.
  8. // Copyright: (C) 2010 Gilles Muller, INRIA/LiP6. GPLv2.
  9. // URL: http://coccinelle.lip6.fr/
  10. // Comments:
  11. // Options: --no-includes --include-headers
  12. virtual context
  13. virtual org
  14. virtual report
  15. @r expression@
  16. expression E;
  17. position p;
  18. @@
  19. (
  20. * E@p
  21. || ... || E
  22. |
  23. * E@p
  24. && ... && E
  25. )
  26. @script:python depends on org@
  27. p << r.p;
  28. @@
  29. cocci.print_main("duplicated argument to && or ||",p)
  30. @script:python depends on report@
  31. p << r.p;
  32. @@
  33. coccilib.report.print_report(p[0],"duplicated argument to && or ||")