File: null.expect

package info (click to toggle)
splint 1%3A3.1.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 21,012 kB
  • ctags: 23,302
  • sloc: ansic: 150,869; yacc: 3,465; sh: 3,034; makefile: 2,160; lex: 412
file content (189 lines) | stat: -rw-r--r-- 8,563 bytes parent folder | download | duplicates (8)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189

null1.c: (in function ptrpred)
null1.c:7:22: Out storage x not defined before return
null1.c: (in function f)
null1.c:19:20: Implicitly temp storage x returned as only: x
null1.c:19:20: Possibly null storage x returned as non-null: x
   null1.c:10:35: Storage x may become null
null1.c:19:22: Fresh storage y not released before return
   null1.c:12:41: Fresh storage y created
null1.c:31:4: Dereference of possibly null pointer y: *y
   null1.c:12:12: Storage y may become null
null1.c:34:5: Possibly null storage z passed as non-null param: g (z)
   null1.c:25:7: Storage z may become null
null1.c:34:5: Passed storage z not completely defined (*z is undefined): g (z)
   null1.c:25:3: Storage *z allocated
null1.c:39:14: Dereference of null pointer z: *z
   null1.c:25:7: Storage z becomes null
null1.c:43:22: Dereference of possibly null pointer z4: *z4
   null1.c:42:8: Storage z4 may become null
null1.c:46:25: Dereference of possibly null pointer z2: *z2
   null1.c:26:8: Storage z2 may become null
null1.c:49:11: Dereference of possibly null pointer z3: *z3
   null1.c:27:8: Storage z3 may become null
null1.c:55:4: Dereference of possibly null pointer z2: *z2
   null1.c:51:8: Storage z2 may become null
null1.c:59:23: Dereference of possibly null pointer z5: *z5
   null1.c:57:8: Storage z5 may become null
null1.c:67:10: Possibly null storage z returned as non-null: z
   null1.c:25:7: Storage z may become null
null1.c:67:12: Fresh storage z3 not released before return
   null1.c:27:3: Fresh storage z3 created

Finished checking --- 15 code warnings, as expected

null1.c: (in function f)
null1.c:19:20: Implicitly temp storage x returned as only: x
null1.c:19:22: Fresh storage y not released before return
   null1.c:12:41: Fresh storage y created
null1.c:34:5: Passed storage z not completely defined (*z is undefined): g (z)
   null1.c:25:3: Storage *z allocated
null1.c:67:12: Fresh storage z3 not released before return
   null1.c:27:3: Fresh storage z3 created

Finished checking --- 4 code warnings, as expected

null2.c: (in function ptrpred)
null2.c:7:22: Out storage x not defined before return
null2.c: (in function f)
null2.c:15:10: Left operand of && is non-boolean (int *): x1 && (*x1 == 3)
null2.c:16:19: Dereference of possibly null pointer x2: *x2
   null2.c:10:55: Storage x2 may become null
null2.c:17:18: Dereference of possibly null pointer x3: *x3
   null2.c:11:21: Storage x3 may become null
null2.c:17:10: Left operand of || is non-boolean (int *): x3 || (*x3 == 3)
null2.c:20:27: Dereference of possibly null pointer x1: *x1
   null2.c:10:35: Storage x1 may become null
null2.c:23:7: Left operand of && is non-boolean (int *): x4 && (*x4 == 3)
null2.c:30:8: Dereference of possibly null pointer x4: *x4
   null2.c:11:41: Storage x4 may become null
null2.c:35:14: Implicitly temp storage x3 returned as only: (x3)
null2.c:35:14: Possibly null storage x3 returned as non-null: (x3)
   null2.c:11:21: Storage x3 may become null
null2.c:39:10: Implicitly temp storage x1 returned as only: (x1)

Finished checking --- 11 code warnings, as expected

null3.c: (in function f3)
null3.c:16:4: Dereference of possibly null pointer gnip: *gnip
   null3.c:3:25: Storage gnip may become null
null3.c: (in function f)
null3.c:27:4: Dereference of possibly null pointer arg0: *arg0
null3.c:37:8: Dereference of possibly null pointer z: *z
   null3.c:25:12: Storage z may become null
null3.c:38:16: Only storage aip not released before return
   null3.c:22:66: Storage aip becomes only
null3.c:44:4: Dereference of possibly null pointer arg2: *arg2
null3.c:52:4: Dereference of possibly null pointer gnip: *gnip
   null3.c:51:10: Storage gnip may become null
null3.c:53:9: Variable z used after being released
   null3.c:51:3: Storage z released
null3.c:53:3: Only storage gip (type int *) not released before assignment (z
                 aliases gnip): gip = z
   null3.c:5:17: Storage gip becomes only
null3.c:55:3: Only storage gnip (type nip) not released before assignment:
                 gnip = aip
   null3.c:53:3: Storage gnip becomes kept
null3.c:60:14: Returned storage y not completely defined (*y is undefined): y
   null3.c:24:42: Storage *y allocated
null3.c:60:16: Function returns with non-null global gip referencing null
                  storage
   null3.c:53:9: Storage gip may become null
null3.c:65:14: Possibly null storage y returned as non-null: y
   null3.c:24:12: Storage y may become null
null3.c:65:14: Returned storage y not completely defined (*y is undefined): y
   null3.c:24:42: Storage *y allocated
null3.c:65:16: Function returns with non-null global gip referencing null
                  storage
   null3.c:53:9: Storage gip may become null
null3.c: (in function f2)
null3.c:73:4: Dereference of possibly null pointer gnip: *gnip
   null3.c:55:10: Storage gnip may become null

Finished checking --- 15 code warnings, as expected

null3.c: (in function f3)
null3.c:16:4: Dereference of possibly null pointer gnip: *gnip
   null3.c:3:25: Storage gnip may become null
null3.c: (in function f)
null3.c:27:4: Dereference of possibly null pointer arg0: *arg0
null3.c:35:13: Possibly null storage y passed as non-null param: free (y)
   null3.c:24:12: Storage y may become null
null3.c:37:8: Dereference of possibly null pointer z: *z
   null3.c:25:12: Storage z may become null
null3.c:38:16: Only storage aip not released before return
   null3.c:22:66: Storage aip becomes only
null3.c:44:4: Dereference of possibly null pointer arg2: *arg2
null3.c:52:4: Dereference of possibly null pointer gnip: *gnip
   null3.c:51:10: Storage gnip may become null
null3.c:53:9: Variable z used after being released
   null3.c:51:3: Storage z released
null3.c:53:3: Only storage gip (type int *) not released before assignment (z
                 aliases gnip): gip = z
   null3.c:5:17: Storage gip becomes only
null3.c:55:3: Only storage gnip (type nip) not released before assignment:
                 gnip = aip
   null3.c:53:3: Storage gnip becomes kept
null3.c:60:14: Returned storage y not completely defined (*y is undefined): y
   null3.c:24:42: Storage *y allocated
null3.c:60:16: Function returns with non-null global gip referencing null
                  storage
   null3.c:53:9: Storage gip may become null
null3.c:65:14: Possibly null storage y returned as non-null: y
   null3.c:24:12: Storage y may become null
null3.c:65:14: Returned storage y not completely defined (*y is undefined): y
   null3.c:24:42: Storage *y allocated
null3.c:65:16: Function returns with non-null global gip referencing null
                  storage
   null3.c:53:9: Storage gip may become null
null3.c: (in function f2)
null3.c:73:4: Dereference of possibly null pointer gnip: *gnip
   null3.c:55:10: Storage gnip may become null

Finished checking --- 16 code warnings, as expected

null4.c: (in function g)
null4.c:43:3: Only storage p (type int *) not released before assignment:
                 p = malloc(24)
   null4.c:3:28: Storage p becomes only

Finished checking --- 1 code warning, as expected

null5.c:5:29: Qualifier falsenull used with function returning char (should
                 return bool)
null5.c:6:29: Qualifier falsenull used with function having 2 arguments (should
                 have 1)
null5.c: (in function g2)
null5.c:26:15: Dereference of possibly null pointer y: *y
   null5.c:18:25: Storage y may become null
null5.c: (in function g3)
null5.c:37:11: Dereference of null pointer y: *y
   null5.c:30:25: Storage y becomes null

Finished checking --- 4 code warnings, as expected

null6.c:7:36: Function f1 declared with notnull parameter x of abstract type
                 mnull
null6.c: (in function f)
null6.c:11:11: Dereference of possibly null pointer x: *x
null6.c: (in function f6)
null6.c:68:10: Possibly null storage x returned as non-null: x
   null6.c:61:31: Storage x may become null
null6.c: (in function f7)
null6.c:84:10: Possibly null storage x returned as non-null: x
   null6.c:81:11: Storage x may become null

Finished checking --- 4 code warnings, as expected

null6.c:7:36: Function f1 declared with notnull parameter x of abstract type
                 mnull
null6.c: (in function f)
null6.c:11:11: Dereference of possibly null pointer x: *x
null6.c: (in function f6)
null6.c:68:10: Possibly null storage x returned as non-null: x
   null6.c:61:31: Storage x may become null
null6.c: (in function f7)
null6.c:84:10: Possibly null storage x returned as non-null: x
   null6.c:81:11: Storage x may become null

Finished checking --- 4 code warnings, as expected