2 specclauses.c: (in function f)
3 specclauses.c:24:28: Only storage r.name (type char *) derived from variable
4 declared in this scope is not released (memory leak)
5 specclauses.c:28:24: Undefined storage r.name corresponds to storage listed in
6 uses clause of called function: r
7 specclauses.c:28:28: Only storage name not released before return
8 specclauses.c:17:49: Storage name becomes only
9 specclauses.c:33:16: Allocated storage r.name corresponds to storage listed in
10 defines clause of called function: &r
11 specclauses.c:34:17: Only storage r.name (type char *) derived from variable
12 declared in this scope is not released (memory leak)
13 specclauses.c:40:23: Field r.name used after being released
14 specclauses.c:39:17: Storage r.name released
16 Finished checking --- 6 code warnings, as expected
18 specclauses2.c:10:13: Allocates clauses includes r->year of non-dynamically
20 specclauses2.c: (in function allocYear)
21 specclauses2.c:14:2: Unallocated storage r->year corresponds to storage listed
23 specclauses2.c: (in function setName1)
24 specclauses2.c:26:2: Undefined storage r->name corresponds to storage listed in
26 specclauses2.c: (in function setName3)
27 specclauses2.c:37:2: Undefined storage r->name corresponds to storage listed in
29 This sub-reference is undefined: *(r->name)
30 specclauses2.c: (in function setName4)
31 specclauses2.c:42:3: Implicitly only storage r->name (type char *) not released
32 before assignment: r->name = name
33 specclauses2.c: (in function allocName2)
34 specclauses2.c:54:2: Unallocated storage r->name corresponds to storage listed
36 specclauses2.c: (in function freeName2)
37 specclauses2.c:65:2: Unreleased storage r.name corresponds to storage listed in
39 specclauses2.c: (in function freeName4)
40 specclauses2.c:76:2: Unreleased storage r->name corresponds to storage listed
43 Finished checking --- 8 code warnings, as expected
45 specclauses3.c:7:6: Special clause accesses field of non-struct or union result
47 specclauses3.c: (in function badResult)
48 specclauses3.c:12:10: Undefined storage <const <any>>->name corresponds to
49 storage result->name listed in defines clause: NULL
50 specclauses3.c:12:10: Null storage returned as non-null: NULL
51 specclauses3.c: (in function createName2)
52 specclauses3.c:29:10: Undefined storage res->name corresponds to storage
53 result->name listed in defines clause: res
54 specclauses3.c:29:10: Possibly null storage res returned as non-null: res
55 specclauses3.c:28:16: Storage res may become null
56 specclauses3.c: (in function createName4)
57 specclauses3.c:55:10: Unallocated storage res->name corresponds to storage
58 result->name listed in allocates clause: res
60 Finished checking --- 6 code warnings, as expected
62 specclauses4.c: (in function usename)
63 specclauses4.c:13:4: Dereference of null pointer *name: **name
64 specclauses4.c:11:8: Storage *name becomes null
65 specclauses4.c: (in function callname)
66 specclauses4.c:27:12: Non-null storage *s corresponds to storage listed in
67 requires isnull clause of called function: s
68 specclauses4.c: (in function nullname2)
69 specclauses4.c:42:2: Non-null storage *name corresponds to storage listed in
72 Finished checking --- 3 code warnings, as expected
74 specclauses5.c: (in function createrecord2)
75 specclauses5.c:31:10: Null storage r->name derivable from return value: r
76 specclauses5.c:30:14: Storage r->name becomes null
77 specclauses5.c: (in function newrecord2)
78 specclauses5.c:43:10: Non-observer storage r->name corresponds to storage
79 result->name listed in ensures observer clause: r
80 specclauses5.c: (in function createrecordx)
81 specclauses5.c:49:10: Observer storage r->name reachable from unqualified
83 specclauses5.c:48:27: Storage r->name becomes observer
85 Finished checking --- 3 code warnings, as expected