]>
Commit | Line | Data |
---|---|---|
80ee600a | 1 | |
2 | < reading spec employee.lcl > | |
3 | < reading spec eref.lcl > | |
4 | < reading spec empset.lcl > | |
5 | < reading spec ereftab.lcl > | |
6 | < reading spec erc.lcl > | |
7 | < reading spec dbase.lcl > | |
8 | < preprocessing > | |
9 | < checking employee.c > | |
10 | employee.c: (in function employee_setName) | |
11 | employee.c:14: Parameter 1 (e->name) to function strcpy is declared unique but | |
12 | may be aliased externally by parameter 2 (na) | |
13 | < checking eref.c > | |
14 | eref.c: (in function eref_alloc) | |
15 | eref.c:19: Unqualified storage eref_Pool.conts passed as only param: | |
16 | realloc (eref_Pool.conts, ...) | |
17 | eref.c:29: Unqualified storage eref_Pool.status passed as only param: | |
18 | realloc (eref_Pool.status, ...) | |
19 | eref.c:45: Storage eref_Pool.status reachable from global is only (should be | |
20 | unqualified) | |
21 | eref.c:30: Storage eref_Pool.status becomes only | |
22 | eref.c:45: Storage eref_Pool.conts reachable from global is only (should be | |
23 | unqualified) | |
24 | eref.c:20: Storage eref_Pool.conts becomes only | |
25 | eref.c: (in function eref_initMod) | |
26 | eref.c:84: Storage eref_Pool.conts reachable from global is fresh (should be | |
27 | unqualified) | |
28 | eref.c:62: Fresh storage eref_Pool.conts allocated | |
29 | eref.c:84: Global storage *(eref_Pool.conts) contains 4 undefined fields when | |
30 | call returns: ssNum, salary, gen, j | |
31 | eref.c:84: Storage eref_Pool.status reachable from global is fresh (should be | |
32 | unqualified) | |
33 | eref.c:70: Fresh storage eref_Pool.status allocated | |
34 | eref.c:84: Global storage eref_Pool contains 1 undefined field when call | |
35 | returns: status | |
36 | < checking empset.c > | |
37 | < checking ereftab.c > | |
38 | < checking erc.c > | |
39 | erc.c: (in function erc_create) | |
40 | erc.c:33: Null storage c->vals derivable from return value: c | |
41 | erc.c:31: Storage c->vals becomes null | |
42 | erc.c:33: Fresh storage returned as unqualified (should be only): c | |
43 | erc.c:23: Fresh storage c allocated | |
44 | erc.c: (in function erc_clear) | |
45 | erc.c:49: Function returns with null storage derivable from parameter c->vals | |
46 | erc.c:47: Storage c->vals becomes null | |
47 | erc.c: (in function erc_final) | |
48 | erc.c:54: Implicitly temp storage c passed as only param: free (c) | |
49 | erc.c: (in function erc_delete) | |
50 | erc.c:102: Released storage c->vals reachable from parameter at return point | |
51 | erc.c:100: Storage c->vals is released | |
52 | erc.c: (in function erc_sprint) | |
53 | erc.c:141: Fresh storage returned as unqualified (should be only): result | |
54 | erc.c:122: Fresh storage result allocated | |
55 | < checking dbase.c > | |
56 | < checking drive.c > | |
57 | < checking macros bool.h > | |
58 | < global checks > | |
59 | ||
60 | Finished LCLint checking --- 15 code errors found, as expected | |
61 | ||
62 | < reading spec employee.lcl > | |
63 | < reading spec eref.lcl > | |
64 | < reading spec empset.lcl > | |
65 | < reading spec ereftab.lcl > | |
66 | < reading spec erc.lcl > | |
67 | < reading spec dbase.lcl > | |
68 | < preprocessing > | |
69 | < checking employee.c > | |
70 | employee.c: (in function employee_setName) | |
71 | employee.c:14: Parameter 1 (e->name) to function strcpy is declared unique but | |
72 | may be aliased externally by parameter 2 (na) | |
73 | < checking eref.c > | |
74 | eref.c: (in function eref_initMod) | |
75 | eref.c:62: Implicitly only storage eref_Pool.conts not released before | |
76 | assignment: eref_Pool.conts = (employee *)malloc(size * sizeof(employee)) | |
77 | eref.c:70: Implicitly only storage eref_Pool.status not released before | |
78 | assignment: eref_Pool.status = (eref_status *)malloc(size * | |
79 | sizeof(eref_status)) | |
80 | eref.c:84: Global storage *(eref_Pool.conts) contains 4 undefined fields when | |
81 | call returns: ssNum, salary, gen, j | |
82 | eref.c:84: Global storage eref_Pool contains 1 undefined field when call | |
83 | returns: status | |
84 | < checking empset.c > | |
85 | empset.c: (in function empset_insertUnique) | |
86 | empset.c:44: Clauses exit with er referencing fresh storage in true branch, | |
87 | local storage in continuation | |
88 | empset.c:41: Fresh storage er allocated | |
89 | empset.c: (in function empset_intersect) | |
90 | empset.c:126: Fresh storage toDelete not released before return | |
91 | empset.c:112: Fresh storage toDelete allocated | |
92 | < checking ereftab.c > | |
93 | < checking erc.c > | |
94 | erc.c: (in function erc_create) | |
95 | erc.c:33: Null storage c->vals derivable from return value: c | |
96 | erc.c:31: Storage c->vals becomes null | |
97 | erc.c: (in function erc_clear) | |
98 | erc.c:49: Function returns with null storage derivable from parameter c->vals | |
99 | erc.c:47: Storage c->vals becomes null | |
100 | erc.c: (in function erc_final) | |
101 | erc.c:54: Implicitly temp storage c passed as only param: free (c) | |
102 | erc.c: (in function erc_delete) | |
103 | erc.c:98: Implicitly only storage prev->next not released before assignment: | |
104 | prev->next = elem->next | |
105 | erc.c:98: Clauses exit with elem referencing implicitly only storage in true | |
106 | branch, local storage in false branch | |
107 | erc.c:96: Storage elem becomes implicitly only | |
108 | erc.c:98: Storage c->vals->next is kept in one path, but live in another. | |
109 | erc.c:98: Storage c->vals->next becomes kept | |
110 | erc.c:102: Released storage c->vals reachable from parameter at return point | |
111 | erc.c:100: Storage c->vals is released | |
112 | < checking dbase.c > | |
113 | dbase.c: (in function uncheckedHire) | |
114 | dbase.c:121: Fresh storage er not released before return | |
115 | dbase.c:108: Fresh storage er allocated | |
116 | < checking drive.c > | |
117 | drive.c: (in function main) | |
118 | drive.c:49: Variable m_res name is not a macro variable (it is a local | |
119 | variable), but matches the macro variable namespace prefix "m_" | |
120 | drive.c:65: Variable m_res name is not a macro variable (it is a local | |
121 | variable), but matches the macro variable namespace prefix "m_" | |
122 | drive.c:83: Variable m_res name is not a macro variable (it is a local | |
123 | variable), but matches the macro variable namespace prefix "m_" | |
124 | drive.c:120: Variable m_res name is not a macro variable (it is a local | |
125 | variable), but matches the macro variable namespace prefix "m_" | |
126 | drive.c:124: Variable m_res name is not a macro variable (it is a local | |
127 | variable), but matches the macro variable namespace prefix "m_" | |
128 | drive.c:135: Variable m_res name is not a macro variable (it is a local | |
129 | variable), but matches the macro variable namespace prefix "m_" | |
130 | drive.c:140: Fresh storage em1 not released before assignment: | |
131 | em1 = empset_create() | |
132 | drive.c:35: Fresh storage em1 allocated | |
133 | drive.c:146: Fresh storage em2 not released before assignment: | |
134 | em2 = empset_create() | |
135 | drive.c:74: Fresh storage em2 allocated | |
136 | drive.c:147: Fresh storage em3 not released before assignment: | |
137 | em3 = empset_disjointUnion(em2, em1) | |
138 | drive.c:87: Fresh storage em3 allocated | |
139 | drive.c:159: Variable m_res name is not a macro variable (it is a local | |
140 | variable), but matches the macro variable namespace prefix "m_" | |
141 | drive.c:163: Fresh storage em1 not released before return | |
142 | drive.c:140: Fresh storage em1 allocated | |
143 | drive.c:163: Fresh storage em2 not released before return | |
144 | drive.c:146: Fresh storage em2 allocated | |
145 | drive.c:163: Fresh storage em3 not released before return | |
146 | drive.c:147: Fresh storage em3 allocated | |
147 | < checking macros bool.h > | |
148 | < global checks > | |
149 | ||
150 | Finished LCLint checking --- 28 code errors found, as expected | |
151 | ||
152 | < reading spec employee.lcl > | |
153 | < reading spec eref.lcl > | |
154 | < reading spec empset.lcl > | |
155 | < reading spec ereftab.lcl > | |
156 | < reading spec erc.lcl > | |
157 | < reading spec dbase.lcl > | |
158 | < preprocessing > | |
159 | < checking employee.c > | |
160 | < checking eref.c > | |
161 | < checking empset.c > | |
162 | < checking ereftab.c > | |
163 | < checking erc.c > | |
164 | < checking dbase.c > | |
165 | < checking drive.c > | |
166 | < checking macros bool.h > | |
167 | < global checks > | |
168 | ||
169 | Finished LCLint checking --- no code errors found |