| Overall Result: FAIL |
|---|
| Report Production | Report Configuration | Analysis phases |
|---|---|---|
|
|
|
| Number of Violations | LDRA Code | (M) Mandatory Standards | CERT Code |
|---|---|---|---|
| 42 | 77 S | Macro replacement list needs parentheses. | CERT PRE02-C |
| 27 | 78 S | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| 1 | 577 S | Sizeof argument is a pointer. | CERT EXP01-C |
| 2 | 5 D | Procedure contains UR data flow anomalies. | CERT EXP33-C |
| 11 | 45 D | Pointer not checked for null before use | CERT EXP08-C,EXP34-C |
| 3 | 69 D | Procedure contains UR data flow anomalies. | CERT EXP33-C |
| 1 | 77 D | Local structure returned in function result |
| Number of Violations | LDRA Code | (C) Checking (Mandatory) Standards | CERT Code |
|---|---|---|---|
| 6 | 76 D | Procedure not called in code analysed |
| Number of Violations | LDRA Code | (O) Optional Standards | CERT Code |
|---|
| Number of Mandatory Standards checked | 27 |
| Number of Checking Standards checked | 1 |
| Number of Optional Standards checked | 3 |
| Total Standards checked | 31 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Name | Last Modification Date |
|---|---|
| C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-dns\dns-lookup.c | Fri Mar 26 07:16:36 2010 |
| C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\dns\dns-client.c | Thu May 27 19:00:08 2010 |
| C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\dns\dns-client-settings.c | Fri Jun 25 08:22:16 2010 |
| Number of procedures: | 15 |
| Number of locally uncalled procedures: | 0 |
| Maximum loop depth: | 1 |
| Total Cyclomatic Complexity: | 41 |
| Number of reformatted executable lines: | 432 |
| Number of lines of comments: | 2072 |
| Globals / code outside procedures - FAIL |
|---|
| Code | File: Src Line | Violation | Standard |
|---|---|---|---|
| M | compat.h: 214 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | compat.h: 215 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | compat.h: 216 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | compat.h: 217 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | compat.h: 218 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | compat.h: 219 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | compat.h: 220 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | compat.h: 221 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | compat.h: 222 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | compat.h: 223 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | compat.h: 224 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | compat.h: 225 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | compat.h: 226 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | macros.h: 196 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | macros.h: 197 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | macros.h: 204 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | macros.h: 204 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | macros.h: 205 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | macros.h: 205 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | macros.h: 223 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | macros.h: 223 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | macros.h: 232 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | data-stack.h: 49 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | data-stack.h: 51 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | data-stack.h: 75 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | data-stack.h: 85 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | data-stack.h: 90 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | data-stack.h: 90 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | data-stack.h: 97 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | mempool.h: 84 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | mempool.h: 87 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | mempool.h: 88 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | mempool.h: 99 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | mempool.h: 99 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | mempool.h: 102 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | mempool.h: 102 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | imem.h: 8 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | imem.h: 8 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | imem.h: 14 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | imem.h: 14 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | imem.h: 15 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | imem.h: 15 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | array-decl.h: 4 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | array-decl.h: 4 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | array-decl.h: 7 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | array-decl.h: 7 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | array-decl.h: 9 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | array-decl.h: 9 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | settings-parser.h: 46 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | settings-parser.h: 46 | Macro replacement list needs parentheses. | CERT PRE02-C |
| Code | File: Src Line | Violation | Standard |
|---|---|---|---|
| M | settings-parser.h: 50 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | settings-parser.h: 50 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | settings-parser.h: 54 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | settings-parser.h: 54 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | settings-parser.h: 58 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | settings-parser.h: 58 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | settings-parser.h: 62 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | settings-parser.h: 62 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | dns-client-settings.c: 19 | Sizeof argument is a pointer. | CERT EXP01-C |
| M | ioloop.h: 50 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | ioloop.h: 50 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | ioloop.h: 56 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | ioloop.h: 75 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | ioloop.h: 75 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | istream.h: 53 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | istream.h: 53 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | ostream.h: 61 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | ostream.h: 61 | Macro replacement list needs parentheses. | CERT PRE02-C |
| M | dns-lookup.h: 27 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C |
| M | dns-lookup.h: 27 | Macro replacement list needs parentheses. | CERT PRE02-C |
| [ | Top of Report | | | Procedure Table | | | Contents | ] |
|---|
| dns_client_input_line (28 to 60 dns-client.c) - FAIL |
|---|
| Code | Violation | Standard |
|---|---|---|
| M | Procedure contains UR data flow anomalies. | CERT EXP33-C |
| Code | Line | Violation | Standard |
|---|---|---|---|
| M | 30 | Procedure contains UR data flow anomalies. : ips | CERT EXP33-C |
| 35 | |||
| M | 31 | Procedure contains UR data flow anomalies. : ips_count | CERT EXP33-C |
| 35 |
| File | Undefine | File | Reference | Variable |
|---|---|---|---|---|
| dns-client.c | 30 | dns-client.c | 35 | ips |
| dns-client.c | 31 | dns-client.c | 35 | ips_count |
| [ | Top of Report | | | Procedure Table | | | Contents | ] |
|---|
| dns_client_input (62 to 79 dns-client.c) - FAIL |
|---|
| Code | Line | Violation | Standard |
|---|---|---|---|
| C | 62 | Procedure not called in code analysed : dns_client_input |
| [ | Top of Report | | | Procedure Table | | | Contents | ] |
|---|
| dns_client_timeout (81 to 84 dns-client.c) - FAIL |
|---|
| Code | Line | Violation | Standard |
|---|---|---|---|
| C | 81 | Procedure not called in code analysed : dns_client_timeout |
| [ | Top of Report | | | Procedure Table | | | Contents | ] |
|---|
| dns_client_create (86 to 98 dns-client.c) - FAIL |
|---|
| Code | Line | Violation | Standard |
|---|---|---|---|
| M | 97 | Local structure returned in function result : client | |
| M | 91 | Pointer not checked for null before use : client | CERT EXP08-C,EXP34-C |
| 90 |
| [ | Top of Report | | | Procedure Table | | | Contents | ] |
|---|
| client_connected (118 to 127 dns-client.c) - FAIL |
|---|
| Code | Line | Violation | Standard |
|---|---|---|---|
| C | 118 | Procedure not called in code analysed : client_connected |
| [ | Top of Report | | | Procedure Table | | | Contents | ] |
|---|
| dns_lookup_save_msecs (66 to 77 dns-lookup.c) - FAIL |
|---|
| Code | Violation | Standard |
|---|---|---|
| M | Procedure contains UR data flow anomalies. | CERT EXP33-C |
| Code | Line | Violation | Standard |
|---|---|---|---|
| M | 68 | Procedure contains UR data flow anomalies. : now | CERT EXP33-C |
| 71 |
| File | Undefine | File | Reference | Variable |
|---|---|---|---|---|
| dns-lookup.c | 68 | dns-lookup.c | 71 | now |
| [ | Top of Report | | | Procedure Table | | | Contents | ] |
|---|
| dns_lookup_input (79 to 112 dns-lookup.c) - FAIL |
|---|
| Code | Line | Violation | Standard |
|---|---|---|---|
| C | 79 | Procedure not called in code analysed : dns_lookup_input |
| [ | Top of Report | | | Procedure Table | | | Contents | ] |
|---|
| dns_lookup_timeout (114 to 120 dns-lookup.c) - FAIL |
|---|
| Code | Line | Violation | Standard |
|---|---|---|---|
| C | 114 | Procedure not called in code analysed : dns_lookup_timeout |
| [ | Top of Report | | | Procedure Table | | | Contents | ] |
|---|
| dns_lookup (123 to 166 dns-lookup.c) - FAIL |
|---|
| Code | Line | Violation | Standard |
|---|---|---|---|
| M | 138 | Pointer not checked for null before use : result.error | CERT EXP08-C,EXP34-C |
| 136 | |||
| M | 143 | Pointer not checked for null before use : cmd | CERT EXP08-C,EXP34-C |
| 142 | |||
| M | 147 | Pointer not checked for null before use : result.error | CERT EXP08-C,EXP34-C |
| 144 | |||
| M | 152 | Pointer not checked for null before use : lookup | CERT EXP08-C,EXP34-C |
| 151 | |||
| M | 138 | Pointer not checked for null before use : result.ips | CERT EXP08-C,EXP34-C |
| 131 | |||
| M | 147 | Pointer not checked for null before use : result.ips | CERT EXP08-C,EXP34-C |
| 131 | |||
| C | 123 | Procedure not called in code analysed : dns_lookup |
| [ | Top of Report | | | Procedure Table | | | Contents | ] |
|---|
| dns_lookup_free (168 to 184 dns-lookup.c) - FAIL |
|---|
| Code | Line | Violation | Standard |
|---|---|---|---|
| M | 182 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C |
| 181 | |||
| M | 183 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C |
| 182 | |||
| M | 183 | Pointer not checked for null before use : (lookup)->path | CERT EXP08-C,EXP34-C |
| 182 | |||
| M | 183 | Pointer not checked for null before use : (lookup)->ips | CERT EXP08-C,EXP34-C |
| 181 |
| [ | Top of Report | | | Procedure Table | | | Contents | ] |
|---|