Blame view

RIOT/dist/tools/coccinelle/force/badzero.cocci 497 Bytes
a752c7ab   elopes   add first test an...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  // A pointer should not be compared to zero
  //
  // Confidence: High
  // Copyright: (C) Gilles Muller, Julia Lawall, EMN, INRIA, DIKU.  GPLv2.
  // URL: http://coccinelle.lip6.fr/rules/badzero.html
  // Options:
  
  @ disable is_zero,isnt_zero @
  expression *E;
  expression E1,f;
  @@
  
  E = f(...)
  <...
  (
  - E == 0
  + !E
  |
  - E != 0
  + E
  |
  - 0 == E
  + !E
  |
  - 0 != E
  + E
  )
  ...>
  ?E = E1
  
  @ disable is_zero,isnt_zero @
  expression *E;
  @@
  
  (
    E ==
  - 0
  + NULL
  |
    E !=
  - 0
  + NULL
  |
  - 0
  + NULL
    == E
  |
  - 0
  + NULL
    != E
  )