LDRA Testbed ® Code Review Report

System : Dovecot-src-config






Overall Result: FAIL







Report Production Report Configuration Analysis phases
  • C/C++ LDRA Testbed Version: 8.3.0
  • Config. File: C:\Testbed\CCPP_830_Release\C\sate_creport.dat
  • Produced On: Mon Aug 09 2010 at 16:58:56
  • Penalty File: C:\Testbed\CCPP_830_Release\c\cpen.dat
  • Report Level: Summary Report
  • Procedures Reported: Fails Only
  • Programming Standards Model: SATE 2010 L1 Plus
  • Line Numbers refer to: Original Source File
  • Violation Details: Violations Only
  • Reporting Scope: Full analysis scope
  • Static: Yes
  • Complexity: Yes
  • Static Data Flow: Yes
  • Information Flow: Yes
  • Cross Reference: Yes



Contents

Overall Quality Summary
Report on Program Components

Overall Quality Summary



Totals for Violated Quality Standards


Number of Violations LDRA Code (M) Mandatory Standards CERT Code
3 47 S Array Bound exceeded. CERT ARR30-C
111 77 S Macro replacement list needs parentheses. CERT PRE02-C
84 78 S Macro parameter not in brackets. CERT PRE01-C,PRE02-C
1 486 S Insufficient formats in output function. CERT FIO00-C
19 577 S Sizeof argument is a pointer. CERT EXP01-C
17 5 D Procedure contains UR data flow anomalies. CERT EXP33-C
238 45 D Pointer not checked for null before use CERT EXP08-C,EXP34-C
4 51 D Attempt to read from freed memory. CERT MEM30-C
5 57 D Global not initialised at declaration. CERT EXP33-C
49 69 D Procedure contains UR data flow anomalies. CERT EXP33-C
8 77 D Local structure returned in function result  
2 86 D User input not checked before use. CERT FIO30-C
2 1 X Declaration types do not match across a system. CERT ARR31-C


Number of Violations LDRA Code (C) Checking (Mandatory) Standards CERT Code
3 76 D Procedure not called in code analysed  


Number of Violations LDRA Code (O) Optional Standards CERT Code
1 80 D Potentially unused function return value. CERT FIO04-C


Number of Mandatory Standards checked 27
Number of Checking Standards checked 1
Number of Optional Standards checked 3
Total Standards checked 31






OVERALL RESULT: FAIL




Out of 134 program components, 58 (43.28 %) pass ( of which 0 conditionally pass ) and 76 fail ( of which 0 fail only because of insufficient comments )

Procedure Results

Quality Result   Procedure   Source File   Unique Violations   Failure Density  
          (Viols/R.Line %)  
FAIL Global Program
Pass buffer_get_data buffer.h analysed in all-settings.c 0 0
Pass buffer_get_used_size buffer.h analysed in all-settings.c 0 0
Pass array_create_from_buffer_i array.h analysed in all-settings.c 0 0
FAIL array_create_i array.h analysed in all-settings.c 1 - 17 -
Pass array_free_i array.h analysed in all-settings.c 0 0
Pass array_is_created_i array.h analysed in all-settings.c 0 0
Pass array_get_pool_i array.h analysed in all-settings.c 0 0
Pass array_clear_i array.h analysed in all-settings.c 0 0
Pass array_append_i array.h analysed in all-settings.c 0 0
Pass array_append_array_i array.h analysed in all-settings.c 0 0
Pass array_insert_i array.h analysed in all-settings.c 0 0
Pass array_delete_i array.h analysed in all-settings.c 0 0
Pass array_get_i array.h analysed in all-settings.c 0 0
Pass array_idx_i array.h analysed in all-settings.c 0 0
Pass array_get_modifiable_i array.h analysed in all-settings.c 0 0
Pass array_append_space_i array.h analysed in all-settings.c 0 0
Pass array_copy array.h analysed in all-settings.c 0 0
Pass array_count_i array.h analysed in all-settings.c 0 0
FAIL mail_storage_settings_check all-settings.c 1 - 1 -
FAIL namespace_settings_check all-settings.c 1 - 3 -
Pass mail_user_settings_check all-settings.c 0 0
Pass master_service_settings_check all-settings.c 0 0
FAIL pop3_settings_parse_workarounds all-settings.c 1 - 5 -
Pass pop3_settings_verify all-settings.c 0 0
Pass expand_user all-settings.c 0 0
Pass fix_file_listener_paths all-settings.c 0 0
FAIL add_inet_listeners all-settings.c 1 - 3 -
Pass master_settings_parse_type all-settings.c 0 0
Pass service_set_login_dump_core all-settings.c 0 0
Pass services_have_protocol all-settings.c 0 0
FAIL master_settings_verify all-settings.c 2 - 1 -
Pass ssl_settings_check all-settings.c 0 0
Pass login_settings_check all-settings.c 0 0
FAIL imap_settings_parse_workarounds all-settings.c 1 - 5 -
Pass imap_settings_verify all-settings.c 0 0
FAIL auth_settings_check all-settings.c 2 - 5 -
Pass auth_passdb_settings_check all-settings.c 0 0
Pass auth_userdb_settings_check all-settings.c 0 0
Pass config_connection_next_line config-connection.c 0 0
FAIL config_request_output config-connection.c 1 - 7 -
FAIL config_connection_request config-connection.c 1 - 6 -
FAIL config_connection_input config-connection.c 2 - 4 -
FAIL config_connection_create config-connection.c 2 - 36 -
FAIL config_connection_destroy config-connection.c 1 - 3 -
FAIL config_connections_destroy_all config-connection.c 3 - 82 -
Pass config_filter_match_service config-filter.c 0 0
Pass config_filter_match_rest config-filter.c 0 0
Pass config_filter_match config-filter.c 0 0

Quality Result   Procedure   Source File   Unique Violations   Failure Density  
          (Viols/R.Line %)  
Pass config_filters_equal config-filter.c 0 0
FAIL config_filter_init config-filter.c 2 - 33 -
Pass config_filter_deinit config-filter.c 0 0
Pass config_filter_add_all config-filter.c 0 0
Pass config_filter_parser_cmp config-filter.c 0 0
Pass config_filter_parser_cmp_rev config-filter.c 0 0
Pass str_array_contains config-filter.c 0 0
Pass have_changed_settings config-filter.c 0 0
FAIL config_filter_find_all config-filter.c 2 - 7 -
FAIL config_filter_find_subset config-filter.c 2 - 8 -
Pass config_filter_is_superset config-filter.c 0 0
FAIL config_module_parser_apply_changes config-filter.c 1 - 4 -
FAIL config_filter_parsers_get config-filter.c 2 - 8 -
Pass config_filter_parsers_free config-filter.c 0 0
Pass info_type_name_find config-parser.c 0 0
FAIL config_add_type config-parser.c 1 - 9 -
FAIL config_apply_line config-parser.c 1 - 2 -
Pass fix_relative_path config-parser.c 0 0
FAIL config_module_parsers_init config-parser.c 1 - 4 -
FAIL config_add_new_parser config-parser.c 1 - 4 -
FAIL config_add_new_section config-parser.c 2 - 25 -
FAIL config_filter_parser_find config-parser.c 2 - 10 -
FAIL config_parse_net config-parser.c 2 - 7 -
FAIL config_filter_add_new_filter config-parser.c 1 - 1 -
FAIL config_filter_parser_check config-parser.c 1 - 3 -
FAIL config_all_parsers_check config-parser.c 2 - 9 -
FAIL str_append_file config-parser.c 1 - 3 -
FAIL settings_add_include config-parser.c 1 - 2 -
FAIL settings_include config-parser.c 1 - 2 -
FAIL config_parse_line config-parser.c 2 - 2 -
FAIL config_parse_finish config-parser.c 1 - 8 -
FAIL config_get_value config-parser.c 1 - 2 -
FAIL config_require_key config-parser.c 1 - 3 -
FAIL config_write_value config-parser.c 2 - 5 -
FAIL config_parser_apply_line config-parser.c 1 - 3 -
FAIL config_parse_file config-parser.c 1 - 21 -
FAIL config_parse_load_modules config-parser.c 2 - 13 -
FAIL parsers_are_connected config-parser.c 1 - 2 -
Pass config_module_want_parser config-parser.c 0 0
FAIL config_export_type config-request.c 1 - 1 -
FAIL setting_export_section_name config-request.c 1 - 3 -
FAIL settings_export config-request.c 2 - 6 -
FAIL config_export_init config-request.c 2 - 13 -
FAIL config_export_by_filter config-request.c 1 - 8 -
Pass config_export_parsers config-request.c 0 0
Pass config_export_get_output config-request.c 0 0
Pass config_export_free config-request.c 0 0
FAIL config_export_finish config-request.c 1 - 3 -
FAIL config_request_get_strings doveconf.c 2 - 13 -

Quality Result   Procedure   Source File   Unique Violations   Failure Density  
          (Viols/R.Line %)  
Pass config_string_cmp doveconf.c 0 0
FAIL prefix_stack_pop doveconf.c 2 - 7 -
Pass prefix_stack_reset_str doveconf.c 0 0
FAIL config_dump_human_init doveconf.c 2 - 17 -
Pass config_dump_human_deinit doveconf.c 0 0
FAIL config_dump_human_output doveconf.c 2 - 6 -
Pass config_dump_filter_begin doveconf.c 0 0
Pass config_dump_filter_end doveconf.c 0 0
FAIL config_dump_human_sections doveconf.c 1 - 6 -
FAIL config_dump_human doveconf.c 1 - 7 -
FAIL config_dump_one doveconf.c 1 - 1 -
FAIL config_request_putenv doveconf.c 1 - 10 -
FAIL get_setting doveconf.c 1 - 5 -
FAIL filter_parse_arg doveconf.c 1 - 6 -
FAIL check_wrong_config doveconf.c 2 - 17 -
FAIL main doveconf.c 4 - 13 -
FAIL client_connected main.c 1 - 25 -
FAIL main main.c 3 - 26 -
Pass obsolete old-set-parser.c 0 0
Pass set_rename old-set-parser.c 0 0
FAIL old_settings_handle_root old-set-parser.c 1 - 4 -
FAIL config_apply_login_set old-set-parser.c 1 - 10 -
FAIL config_apply_mail_set old-set-parser.c 1 - 10 -
FAIL config_apply_auth_set old-set-parser.c 1 - 14 -
FAIL listen_has_port old-set-parser.c 1 - 2 -
FAIL old_settings_handle_proto old-set-parser.c 1 - 3 -
FAIL old_auth_section old-set-parser.c 1 - 1 -
Pass old_namespace old-set-parser.c 0 0
FAIL socket_apply old-set-parser.c 2 - 10 -
FAIL old_settings_handle old-set-parser.c 1 - 2 -
Pass old_settings_init old-set-parser.c 0 0
FAIL readfile sysinfo-get.c 1 - 4 -
FAIL lsb_distro_get sysinfo-get.c 2 - 11 -
FAIL distro_get sysinfo-get.c 2 - 9 -
FAIL filesystem_get sysinfo-get.c 3 - 8 -
FAIL sysinfo_get sysinfo-get.c 1 - 8 -


Global Information

Source Files in System

Name Last Modification Date
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\config\sysinfo-get.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\config\old-set-parser.c Fri Jun 25 08:22:16 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\config\main.c Thu May 27 19:00:08 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\config\doveconf.c Mon Jun 14 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\config\config-settings.c Fri Jun 25 08:22:16 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\config\config-request.c Mon Apr 05 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\config\config-parser.c Thu Jun 24 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\config\config-filter.c Wed Jun 09 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\config\config-connection.c Wed Jun 09 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\config\all-settings.c Fri Jun 25 08:23:56 2010




Global Basic Information

Number of procedures: 133
Number of locally uncalled procedures: 0
Maximum loop depth: 3
Total Cyclomatic Complexity: 792
Number of reformatted executable lines: 7332
Number of lines of comments: 7317



Summary Report on all Program Components which FAIL



Globals / code outside procedures - FAIL

Standards Violation Summary - All files

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 array.h: 35 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 35 Macro replacement list needs parentheses. CERT PRE02-C

Code File: Src Line Violation Standard
M array.h: 37 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 37 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 39 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 39 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 53 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 58 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 58 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 62 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 62 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 90 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 90 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 102 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 102 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 110 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 118 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 126 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 134 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 143 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 143 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 153 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 164 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 164 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 174 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 174 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 183 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 183 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 192 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 192 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 201 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 201 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 206 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 206 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 211 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 211 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 216 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 216 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 228 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 232 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 232 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 252 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 257 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 261 Macro replacement list needs parentheses. CERT PRE02-C
M array.h: 266 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 279 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M array.h: 279 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
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

Code File: Src Line Violation Standard
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 all-settings.c: 99 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 99 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 103 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 103 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 107 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 107 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 334 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 334 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 395 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 395 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 441 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 441 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 443 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 443 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 512 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 512 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 549 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 549 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 574 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 574 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 614 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 614 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 652 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 652 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 654 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 654 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 703 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 703 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 932 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 962 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 962 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 990 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 1070 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1070 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 1072 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1072 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 1127 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 1441 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1441 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 1468 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1468 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 1497 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1497 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 1499 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1499 Macro replacement list needs parentheses. CERT PRE02-C

Code File: Src Line Violation Standard
M all-settings.c: 1501 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1501 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 1568 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1568 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 1570 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1570 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 1696 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1696 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 1799 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 1829 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1829 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 1863 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 1944 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1944 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 1946 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 1946 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 2004 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 2034 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 2034 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 2066 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 2066 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 2108 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 2147 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 2157 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 2189 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 2189 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 2227 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 2257 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 2257 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 2289 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 2336 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 2347 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 2459 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 2459 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 2490 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 2490 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 2517 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 2517 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 2519 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 2519 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 2521 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M all-settings.c: 2521 Macro replacement list needs parentheses. CERT PRE02-C
M all-settings.c: 2611 Sizeof argument is a pointer. CERT EXP01-C
M all-settings.c: 2659 Sizeof argument is a pointer. CERT EXP01-C
M llist.h: 5 Macro replacement list needs parentheses. CERT PRE02-C
M llist.h: 12 Macro replacement list needs parentheses. CERT PRE02-C
M llist.h: 25 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M llist.h: 25 Macro replacement list needs parentheses. CERT PRE02-C
M llist.h: 32 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M llist.h: 32 Macro replacement list needs parentheses. CERT PRE02-C

Code File: Src Line Violation Standard
M llist.h: 39 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 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 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 config-parser-private.h: 57 Global not initialised at declaration. : hook_config_parser_begin CERT EXP33-C
M config-parser.c: 35 Global not initialised at declaration. : config_module_parsers CERT EXP33-C
M config-parser.c: 36 Global not initialised at declaration. : config_filter CERT EXP33-C
M config-parser.c: 37 Global not initialised at declaration. : modules CERT EXP33-C
M config-parser.c: 38 Global not initialised at declaration. : hook_config_parser_begin CERT EXP33-C
M config-settings.c: 17 Sizeof argument is a pointer. CERT EXP01-C
M config-parser.h: 14 Procedure contains UR data flow anomalies. : config_filter.local_bits CERT EXP33-C
  1 (doveconf.c)    
M config-parser.h: 13 Procedure contains UR data flow anomalies. : config_module_parsers.(root)->module_name CERT EXP33-C
  1 (doveconf.c)    
M mempool.h: 58 Procedure contains UR data flow anomalies. : unsafe_data_stack_pool CERT EXP33-C
  58    

[ Top of Report | Procedure Table | Contents ]







array_create_i
(93 to 101 array.h analysed in all-settings.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 100 Pointer not checked for null before use : buffer CERT EXP08-C,EXP34-C
  99    


[ Top of Report | Procedure Table | Contents ]







mail_storage_settings_check
(201 to 266 all-settings.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 239 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  239    


[ Top of Report | Procedure Table | Contents ]







namespace_settings_check
(268 to 312 all-settings.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 294 Pointer not checked for null before use : namespaces CERT EXP08-C,EXP34-C
  290    
M 280 Pointer not checked for null before use : name CERT EXP08-C,EXP34-C
  276    


[ Top of Report | Procedure Table | Contents ]







pop3_settings_parse_workarounds
(1006 to 1031 all-settings.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 1017 Pointer not checked for null before use : list CERT EXP08-C,EXP34-C
  1016    
M 1015 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  1014    


[ Top of Report | Procedure Table | Contents ]







add_inet_listeners
(1223 to 1240 all-settings.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 1237 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  1236    


[ Top of Report | Procedure Table | Contents ]







master_settings_verify
(1289 to 1438 all-settings.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 1326 Pointer not checked for null before use : services CERT EXP08-C,EXP34-C
  1324    
M 1296 Procedure contains UR data flow anomalies. : all_listeners.arr.element_size CERT EXP33-C
  1429    
M 1296 Procedure contains UR data flow anomalies. : all_listeners.arr.buffer CERT EXP33-C
  1429    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
all-settings.c 1296 all-settings.c 1429 all_listeners.arr.element_size
all-settings.c 1296 all-settings.c 1429 all_listeners.arr.buffer

[ Top of Report | Procedure Table | Contents ]







imap_settings_parse_workarounds
(1879 to 1904 all-settings.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 1890 Pointer not checked for null before use : list CERT EXP08-C,EXP34-C
  1889    
M 1888 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  1887    


[ Top of Report | Procedure Table | Contents ]







auth_settings_check
(2352 to 2380 all-settings.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 2365 Sizeof argument is a pointer. CERT EXP01-C
M 2368 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  2368    
M 2374 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  2373    


[ Top of Report | Procedure Table | Contents ]







config_request_output
(48 to 64 config-connection.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 57 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  60    


[ Top of Report | Procedure Table | Contents ]







config_connection_request
(66 to 141 config-connection.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 101 Pointer not checked for null before use : path CERT EXP08-C,EXP34-C
  100    
M 113 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  111    
M 113 Pointer not checked for null before use : filter.remote_host CERT EXP08-C,EXP34-C
  75    
M 113 Pointer not checked for null before use : filter.local_host CERT EXP08-C,EXP34-C
  75    
M 113 Pointer not checked for null before use : filter.local_name CERT EXP08-C,EXP34-C
  75    
M 113 Pointer not checked for null before use : filter.service CERT EXP08-C,EXP34-C
  75    
M 103 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  101    
M 98 Pointer not checked for null before use : module CERT EXP08-C,EXP34-C
  80    
M 113 Pointer not checked for null before use : config_module_parsers CERT EXP08-C,EXP34-C
  101    
M 113 Pointer not checked for null before use : config_filter CERT EXP08-C,EXP34-C
  101    
M 119 Pointer not checked for null before use : s CERT EXP08-C,EXP34-C
  119    


[ Top of Report | Procedure Table | Contents ]







config_connection_input
(143 to 181 config-connection.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 173 Pointer not checked for null before use : context CERT EXP08-C,EXP34-C
  177    
M 177 Attempt to read from freed memory. : context CERT MEM30-C


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
config-connection.c 205 config-connection.c 173 context.input

[ Top of Report | Procedure Table | Contents ]







config_connection_create
(183 to 194 config-connection.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 193 Local structure returned in function result : conn  
M 188 Pointer not checked for null before use : conn CERT EXP08-C,EXP34-C
  187    
M 187 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1100 (Module 256)    
M 192 Pointer not checked for null before use : config_connections.next CERT EXP08-C,EXP34-C
  Ref. Line 0 (Module 256)    
M 192 Pointer not checked for null before use : config_connections.io CERT EXP08-C,EXP34-C
  Ref. Line 0 (Module 256)    
M 192 Pointer not checked for null before use : config_connections.input CERT EXP08-C,EXP34-C
  Ref. Line 0 (Module 256)    
M 192 Pointer not checked for null before use : config_connections.output CERT EXP08-C,EXP34-C
  Ref. Line 0 (Module 256)    
M 192 Pointer not checked for null before use : config_connections.fd CERT EXP08-C,EXP34-C
  Ref. Line 0 (Module 256)    


[ Top of Report | Procedure Table | Contents ]







config_connection_destroy
(196 to 208 config-connection.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 205 Procedure contains UR data flow anomalies. : context.input CERT EXP33-C


[ Top of Report | Procedure Table | Contents ]







config_connections_destroy_all
(210 to 214 config-connection.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 213 Pointer not checked for null before use : config_connections CERT EXP08-C,EXP34-C
  213    
M 213 Attempt to read from freed memory. : config_connections CERT MEM30-C
M 213 Procedure contains UR data flow anomalies. : config_connections.fd CERT EXP33-C
M 213 Procedure contains UR data flow anomalies. : config_connections.input CERT EXP33-C
M 213 Procedure contains UR data flow anomalies. : config_connections.io CERT EXP33-C
M 213 Procedure contains UR data flow anomalies. : config_connections.next CERT EXP33-C
M 213 Procedure contains UR data flow anomalies. : config_connections.output CERT EXP33-C
M 213 Procedure contains UR data flow anomalies. : config_connections.prev CERT EXP33-C


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
[external declaration]   config-connection.c 213 config_connections.fd
[external declaration]   config-connection.c 213 config_connections.input
[external declaration]   config-connection.c 213 config_connections.io
[external declaration]   config-connection.c 213 config_connections.next
[external declaration]   config-connection.c 213 config_connections.output
[external declaration]   config-connection.c 213 config_connections.prev

[ Top of Report | Procedure Table | Contents ]







config_filter_init
(91 to 98 config-filter.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 97 Local structure returned in function result : ctx  
M 96 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  95    


[ Top of Report | Procedure Table | Contents ]







config_filter_find_all
(188 to 231 config-filter.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 225 Pointer not checked for null before use : output_r CERT EXP08-C,EXP34-C
  197    
M 207 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  200    
M 207 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  200    
M 193 Procedure contains UR data flow anomalies. : matches.arr.buffer CERT EXP33-C
  229    
M 193 Procedure contains UR data flow anomalies. : matches.arr.element_size CERT EXP33-C
  229    
M 194 Procedure contains UR data flow anomalies. : service_names.arr.element_size CERT EXP33-C
  224    
M 194 Procedure contains UR data flow anomalies. : service_names.v CERT EXP33-C
  205    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
config-filter.c 193 config-filter.c 229 matches.arr.buffer
config-filter.c 193 config-filter.c 229 matches.arr.element_size
config-filter.c 194 config-filter.c 224 service_names.arr.element_size
config-filter.c 194 config-filter.c 205 service_names.v

[ Top of Report | Procedure Table | Contents ]







config_filter_find_subset
(233 to 264 config-filter.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 259 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  241    
M 259 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  241    
M 237 Procedure contains UR data flow anomalies. : matches.arr.buffer CERT EXP33-C
  262    
M 237 Procedure contains UR data flow anomalies. : matches.arr.element_size CERT EXP33-C
  262    
M 252 Procedure contains UR data flow anomalies. : tmp_mask.local_name CERT EXP33-C
  238    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
config-filter.c 237 config-filter.c 262 matches.arr.buffer
config-filter.c 237 config-filter.c 262 matches.arr.element_size
config-filter.c 252 config-filter.c 258 tmp_mask.local_name

[ Top of Report | Procedure Table | Contents ]







config_module_parser_apply_changes
(285 to 303 config-filter.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 297 Pointer not checked for null before use : error_r CERT EXP08-C,EXP34-C
  296    


[ Top of Report | Procedure Table | Contents ]







config_filter_parsers_get
(305 to 347 config-filter.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 325 Pointer not checked for null before use : dest CERT EXP08-C,EXP34-C
  324    
M 321 Pointer not checked for null before use : src CERT EXP08-C,EXP34-C
  317    
M 345 Pointer not checked for null before use : dest CERT EXP08-C,EXP34-C
  322    
M 337 Pointer not checked for null before use : error_p CERT EXP08-C,EXP34-C
  333    
M 333 Procedure contains UR data flow anomalies. : error_p CERT EXP33-C
  314    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
config-filter.c 333 config-filter.c 337 error_p

[ Top of Report | Procedure Table | Contents ]







config_add_type
(52 to 76 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 61 Pointer not checked for null before use : info CERT EXP08-C,EXP34-C
  60    
M 66 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  64    
M 66 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  65    


[ Top of Report | Procedure Table | Contents ]







config_apply_line
(78 to 102 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 85 Pointer not checked for null before use : l CERT EXP08-C,EXP34-C
  85    


[ Top of Report | Procedure Table | Contents ]







config_module_parsers_init
(119 to 134 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 129 Pointer not checked for null before use : dest CERT EXP08-C,EXP34-C
  127    


[ Top of Report | Procedure Table | Contents ]







config_add_new_parser
(136 to 158 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 143 Pointer not checked for null before use : parser CERT EXP08-C,EXP34-C
  142    


[ Top of Report | Procedure Table | Contents ]







config_add_new_section
(160 to 170 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 169 Local structure returned in function result : section  
M 166 Pointer not checked for null before use : section CERT EXP08-C,EXP34-C
  165    


[ Top of Report | Procedure Table | Contents ]







config_filter_parser_find
(172 to 185 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 182 Local structure returned in function result : parser  
M 176 Declaration types do not match across a system. : parsers CERT ARR31-C


[ Top of Report | Procedure Table | Contents ]







config_parse_net
(187 to 218 config-parser.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 204 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  200    
M 192 Procedure contains UR data flow anomalies. : bits CERT EXP33-C
  213    
M 192 Procedure contains UR data flow anomalies. : ip_count CERT EXP33-C
  204    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
config-parser.c 192 config-parser.c 213 bits
config-parser.c 192 config-parser.c 204 ip_count

[ Top of Report | Procedure Table | Contents ]







config_filter_add_new_filter
(220 to 283 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 243 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  241    
M 264 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  262    


[ Top of Report | Procedure Table | Contents ]







config_filter_parser_check
(285 to 301 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 295 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  295    


[ Top of Report | Procedure Table | Contents ]







config_all_parsers_check
(303 to 334 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 328 Pointer not checked for null before use : error_r CERT EXP08-C,EXP34-C
  320    
M 328 Pointer not checked for null before use : tmp_parsers CERT EXP08-C,EXP34-C
  320    
M 332 Pointer not checked for null before use : tmp_pool CERT EXP08-C,EXP34-C
  315    
M 308 Declaration types do not match across a system. : parsers CERT ARR31-C


[ Top of Report | Procedure Table | Contents ]







str_append_file
(336 to 358 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 351 User input not checked before use. : buf CERT FIO30-C
  350    


[ Top of Report | Procedure Table | Contents ]







settings_add_include
(360 to 391 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 385 Pointer not checked for null before use : new_input CERT EXP08-C,EXP34-C
  384    


[ Top of Report | Procedure Table | Contents ]







settings_include
(393 to 438 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 425 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  423    


[ Top of Report | Procedure Table | Contents ]







config_parse_line
(440 to 577 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 473 Array Bound exceeded. CERT ARR30-C
M 473 Array Bound exceeded. CERT ARR30-C
M 552 Array Bound exceeded. CERT ARR30-C
M 542 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  541    
M 508 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  502    
M 544 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  542    
M 515 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  508    
M 466 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  468    


[ Top of Report | Procedure Table | Contents ]







config_parse_finish
(579 to 599 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 590 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  589    
M 587 Pointer not checked for null before use : new_filter CERT EXP08-C,EXP34-C
  585    


[ Top of Report | Procedure Table | Contents ]







config_get_value
(601 to 621 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 608 Pointer not checked for null before use : l CERT EXP08-C,EXP34-C
  608    


[ Top of Report | Procedure Table | Contents ]







config_require_key
(623 to 638 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 631 Pointer not checked for null before use : l CERT EXP08-C,EXP34-C
  631    


[ Top of Report | Procedure Table | Contents ]







config_write_value
(640 to 703 config-parser.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 679 Pointer not checked for null before use : var_name CERT EXP08-C,EXP34-C
  676    
M 662 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  659    
M 688 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 646 Procedure contains UR data flow anomalies. : var_type CERT EXP33-C
  680    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
config-parser.c 646 config-parser.c 680 var_type

[ Top of Report | Procedure Table | Contents ]







config_parser_apply_line
(705 to 773 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 748 Pointer not checked for null before use : section_name CERT EXP08-C,EXP34-C
  742    
M 750 Pointer not checked for null before use : ctx.(cur_section)->parsers CERT EXP08-C,EXP34-C
  732    
M 726 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C


[ Top of Report | Procedure Table | Contents ]







config_parse_file
(775 to 854 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 836 Pointer not checked for null before use : root.path CERT EXP08-C,EXP34-C
  808    
M 847 Pointer not checked for null before use : root.prev CERT EXP08-C,EXP34-C
  807    
M 821 Pointer not checked for null before use : ctx.filter CERT EXP08-C,EXP34-C
  793    
M 821 Pointer not checked for null before use : ctx.old CERT EXP08-C,EXP34-C
  793    
M 821 Pointer not checked for null before use : ctx.error CERT EXP08-C,EXP34-C
  793    
M 815 Pointer not checked for null before use : ctx.root_parsers CERT EXP08-C,EXP34-C
  798    
M 813 Pointer not checked for null before use : ctx.all_parsers CERT EXP08-C,EXP34-C
  793    
M 821 Pointer not checked for null before use : ctx.all_parsers.v_modifiable CERT EXP08-C,EXP34-C
  793    
M 821 Pointer not checked for null before use : ctx.all_parsers.v CERT EXP08-C,EXP34-C
  793    
M 821 Pointer not checked for null before use : ctx.all_parsers.arr CERT EXP08-C,EXP34-C
  793    
M 821 Pointer not checked for null before use : ctx.all_parsers.arr.element_size CERT EXP08-C,EXP34-C
  793    
M 821 Pointer not checked for null before use : ctx.all_parsers.arr.buffer CERT EXP08-C,EXP34-C
  793    
M 815 Pointer not checked for null before use : ctx.path CERT EXP08-C,EXP34-C
  795    
M 799 Pointer not checked for null before use : ctx.pool CERT EXP08-C,EXP34-C
  794    
M 833 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  832    
M 833 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  832    
M 828 Pointer not checked for null before use : full_line CERT EXP08-C,EXP34-C
  818    
M 832 Pointer not checked for null before use : ctx.service CERT EXP08-C,EXP34-C
  833    
M 832 Pointer not checked for null before use : ctx.local_host CERT EXP08-C,EXP34-C
  833    
M 832 Pointer not checked for null before use : ctx.local_name CERT EXP08-C,EXP34-C
  833    
M 832 Pointer not checked for null before use : ctx.remote_host CERT EXP08-C,EXP34-C
  833    
M 815 Pointer not checked for null before use : ctx.cur_section CERT EXP08-C,EXP34-C
  814    
M 820 Pointer not checked for null before use : root.input CERT EXP08-C,EXP34-C
  819    
M 821 Pointer not checked for null before use : ctx.str CERT EXP08-C,EXP34-C
  817    
M 821 Pointer not checked for null before use : ctx.module CERT EXP08-C,EXP34-C
  811    

Code Line Violation Standard
M 832 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  828    
M 832 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  828    


[ Top of Report | Procedure Table | Contents ]







config_parse_load_modules
(856 to 900 config-parser.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 867 Pointer not checked for null before use : mod_set.version CERT EXP08-C,EXP34-C
  866    
M 868 Pointer not checked for null before use : modules CERT EXP08-C,EXP34-C
  867    
M 870 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1100 (Module 258)    
M 897 Pointer not checked for null before use : services CERT EXP08-C,EXP34-C
  895    
M 877 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  871    
M 877 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  871    
M 861 Procedure contains UR data flow anomalies. : new_roots.arr.buffer CERT EXP33-C
  890    
M 861 Procedure contains UR data flow anomalies. : new_roots.arr.element_size CERT EXP33-C
  890    
M 862 Procedure contains UR data flow anomalies. : new_services.arr.buffer CERT EXP33-C
  898    
M 862 Procedure contains UR data flow anomalies. : new_services.arr.element_size CERT EXP33-C
  898    
M 862 Procedure contains UR data flow anomalies. : new_services.v CERT EXP33-C
  898    
M 862 Procedure contains UR data flow anomalies. : new_services.v_modifiable CERT EXP33-C
  898    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
config-parser.c 861 config-parser.c 890 new_roots.arr.buffer
config-parser.c 861 config-parser.c 890 new_roots.arr.element_size
config-parser.c 862 config-parser.c 898 new_services.arr.buffer
config-parser.c 862 config-parser.c 898 new_services.arr.element_size
config-parser.c 862 config-parser.c 898 new_services.v
config-parser.c 862 config-parser.c 898 new_services.v_modifiable

[ Top of Report | Procedure Table | Contents ]







parsers_are_connected
(902 to 922 config-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 916 Pointer not checked for null before use : dep CERT EXP08-C,EXP34-C
  916    


[ Top of Report | Procedure Table | Contents ]







config_export_type
(33 to 122 config-request.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 82 Pointer not checked for null before use : sval CERT EXP08-C,EXP34-C
  81    
M 84 Pointer not checked for null before use : sval CERT EXP08-C,EXP34-C
  81    


[ Top of Report | Procedure Table | Contents ]







setting_export_section_name
(124 to 146 config-request.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 140 Pointer not checked for null before use : name CERT EXP08-C,EXP34-C
  139    


[ Top of Report | Procedure Table | Contents ]







settings_export
(148 to 295 config-request.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 162 Pointer not checked for null before use : def CERT EXP08-C,EXP34-C
  162    
M 205 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  163    
M 205 Pointer not checked for null before use : default_value CERT EXP08-C,EXP34-C
  186    
M 172 Pointer not checked for null before use : change_value CERT EXP08-C,EXP34-C
  166    
M 213 Pointer not checked for null before use : change_value CERT EXP08-C,EXP34-C
  166    
M 222 Pointer not checked for null before use : children CERT EXP08-C,EXP34-C
  218    
M 286 Pointer not checked for null before use : children CERT EXP08-C,EXP34-C
  218    
M 288 Pointer not checked for null before use : change_children CERT EXP08-C,EXP34-C
  224    
M 249 Pointer not checked for null before use : strings CERT EXP08-C,EXP34-C
  245    
M 238 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  235    
M 254 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  248    
M 266 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  264    
M 157 Procedure contains UR data flow anomalies. : count2 CERT EXP33-C
  225    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
config-request.c 157 config-request.c 225 count2

[ Top of Report | Procedure Table | Contents ]







config_export_init
(297 to 321 config-request.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 320 Local structure returned in function result : ctx  
M 308 Pointer not checked for null before use : pool CERT EXP08-C,EXP34-C
  307    
M 309 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  308    


[ Top of Report | Procedure Table | Contents ]







config_export_by_filter
(323 to 336 config-request.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 332 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  328    


[ Top of Report | Procedure Table | Contents ]







config_export_finish
(358 to 401 config-request.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 377 Pointer not checked for null before use : parser CERT EXP08-C,EXP34-C
  374    
M 380 Pointer not checked for null before use : parser CERT EXP08-C,EXP34-C
  374    


[ Top of Report | Procedure Table | Contents ]







config_request_get_strings
(43 to 70 doveconf.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 55 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  55    
M 62 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  61    
M 66 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  65    
M 69 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  52    
C 43 Procedure not called in code analysed : config_request_get_strings  


[ Top of Report | Procedure Table | Contents ]







prefix_stack_pop
(91 to 107 doveconf.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 106 Local structure returned in function result : sc  
M 102 Pointer not checked for null before use : s CERT EXP08-C,EXP34-C
  97    


[ Top of Report | Procedure Table | Contents ]







config_dump_human_init
(117 to 140 doveconf.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 139 Local structure returned in function result : ctx  
M 126 Pointer not checked for null before use : pool CERT EXP08-C,EXP34-C
  125    
M 127 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  126    


[ Top of Report | Procedure Table | Contents ]







config_dump_human_output
(149 to 296 doveconf.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 182 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  179    
M 195 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  192    
M 197 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  197    
M 272 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  271    
M 224 Pointer not checked for null before use : prefix.prefix_idx CERT EXP08-C,EXP34-C
  240    
M 189 Pointer not checked for null before use : strings CERT EXP08-C,EXP34-C
  170    
M 178 Pointer not checked for null before use : args CERT EXP08-C,EXP34-C
  178    
M 270 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  269    
M 271 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  270    
M 244 Pointer not checked for null before use : key2 CERT EXP08-C,EXP34-C
  235    
M 182 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  173    
M 182 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  173    
M 241 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  187    
M 241 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  187    
M 156 Procedure contains UR data flow anomalies. : prefix.prefix_idx CERT EXP33-C
  283    
M 156 Procedure contains UR data flow anomalies. : prefix.str_pos CERT EXP33-C
  281    
M 159 Procedure contains UR data flow anomalies. : prefix_count CERT EXP33-C
  232    
M 154 Procedure contains UR data flow anomalies. : prefixes_arr.arr.buffer CERT EXP33-C
  185    
M 154 Procedure contains UR data flow anomalies. : prefixes_arr.arr.element_size CERT EXP33-C
  185    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
doveconf.c 156 doveconf.c 283 prefix.prefix_idx
doveconf.c 156 doveconf.c 224 prefix.prefix_idx
doveconf.c 156 doveconf.c 281 prefix.str_pos
doveconf.c 156 doveconf.c 218 prefix.str_pos
doveconf.c 159 doveconf.c 232 prefix_count
doveconf.c 154 doveconf.c 185 prefixes_arr.arr.buffer
doveconf.c 154 doveconf.c 185 prefixes_arr.arr.element_size

[ Top of Report | Procedure Table | Contents ]







config_dump_human_sections
(361 to 390 doveconf.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 380 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  378    
M 383 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 377 Pointer not checked for null before use : filters CERT EXP08-C,EXP34-C
  375    


[ Top of Report | Procedure Table | Contents ]







config_dump_human
(392 to 414 doveconf.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 401 Pointer not checked for null before use : output CERT EXP08-C,EXP34-C
  400    
M 404 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  403    


[ Top of Report | Procedure Table | Contents ]







config_dump_one
(416 to 453 doveconf.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 426 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  425    


[ Top of Report | Procedure Table | Contents ]







config_request_putenv
(455 to 462 doveconf.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 455 Procedure not called in code analysed : config_request_putenv  


[ Top of Report | Procedure Table | Contents ]







get_setting
(464 to 484 doveconf.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 476 Pointer not checked for null before use : def CERT EXP08-C,EXP34-C
  476    
M 478 Pointer not checked for null before use : set CERT EXP08-C,EXP34-C
  475    


[ Top of Report | Procedure Table | Contents ]







filter_parse_arg
(486 to 515 doveconf.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 498 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  494    
M 499 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  492    
M 509 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  492    
M 507 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  505    
M 511 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  509    


[ Top of Report | Procedure Table | Contents ]







check_wrong_config
(517 to 530 doveconf.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 522 Pointer not checked for null before use : base_dir CERT EXP08-C,EXP34-C
  521    
M 523 Pointer not checked for null before use : symlink_path CERT EXP08-C,EXP34-C
  522    
M 519 Procedure contains UR data flow anomalies. : prev_path CERT EXP33-C
  523    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
doveconf.c 519 doveconf.c 523 prev_path

[ Top of Report | Procedure Table | Contents ]







main
(532 to 653 doveconf.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 595 Insufficient formats in output function. CERT FIO00-C
M 583 Pointer not checked for null before use : config_path CERT EXP08-C,EXP34-C
  580    
M 622 Pointer not checked for null before use : info CERT EXP08-C,EXP34-C
  621    
M 627 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 634 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 635 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  632    
M 599 Attempt to read from freed memory. : default_pool CERT MEM30-C
M 635 Pointer not checked for null before use : config_module_parsers CERT EXP08-C,EXP34-C
  601    
M 635 Pointer not checked for null before use : config_filter CERT EXP08-C,EXP34-C
  601    
M 583 Pointer not checked for null before use : orig_config_path CERT EXP08-C,EXP34-C
  547    
M 601 Pointer not checked for null before use : module CERT EXP08-C,EXP34-C
  565    
M 559 Pointer not checked for null before use : filter.remote_host CERT EXP08-C,EXP34-C
  543    
M 635 Pointer not checked for null before use : filter.remote_host CERT EXP08-C,EXP34-C
  543    
M 559 Pointer not checked for null before use : filter.local_host CERT EXP08-C,EXP34-C
  543    
M 635 Pointer not checked for null before use : filter.local_host CERT EXP08-C,EXP34-C
  543    
M 559 Pointer not checked for null before use : filter.local_name CERT EXP08-C,EXP34-C
  543    
M 635 Pointer not checked for null before use : filter.local_name CERT EXP08-C,EXP34-C
  543    
M 559 Pointer not checked for null before use : filter.service CERT EXP08-C,EXP34-C
  543    
M 635 Pointer not checked for null before use : filter.service CERT EXP08-C,EXP34-C
  543    
M 604 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  601    
M 644 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  601    
M 599 Procedure contains UR data flow anomalies. : (default_services)->arr CERT EXP33-C
M 599 Procedure contains UR data flow anomalies. : (modules)->name CERT EXP33-C
M 599 Procedure contains UR data flow anomalies. : (modules)->next CERT EXP33-C
M 601 Procedure contains UR data flow anomalies. : hook_config_parser_begin CERT EXP33-C
  57 (config-parser-private.h)    
M 540 Procedure contains UR data flow anomalies. : ret2 CERT EXP33-C
  646    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
[external declaration]   doveconf.c 599 (default_services)->arr
[external declaration]   doveconf.c 599 (modules)->name
[external declaration]   doveconf.c 599 (modules)->next
config-parser.h 14 doveconf.c 635 config_filter.local_bits
config-parser.h 14 doveconf.c 635 config_filter.local_name
config-parser.h 14 doveconf.c 635 config_filter.remote_bits
config-parser.h 14 doveconf.c 635 config_filter.service
config-parser.h 13 doveconf.c 601 config_module_parsers.(root)->module_name
config-parser.h 13 doveconf.c 601 config_module_parsers.root
[external declaration]   doveconf.c 601 hook_config_parser_begin
doveconf.c 540 doveconf.c 646 ret2
mempool.h 58 doveconf.c 621 unsafe_data_stack_pool

[ Top of Report | Procedure Table | Contents ]







client_connected
(11 to 15 main.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 11 Procedure not called in code analysed : client_connected  


[ Top of Report | Procedure Table | Contents ]







main
(17 to 43 main.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 33 Pointer not checked for null before use : path CERT EXP08-C,EXP34-C
  32    
M 30 Attempt to read from freed memory. : default_pool CERT MEM30-C
M 34 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  33    
M 37 Procedure contains UR data flow anomalies. : (default_pool)->v CERT EXP33-C
M 30 Procedure contains UR data flow anomalies. : (default_services)->arr CERT EXP33-C
M 30 Procedure contains UR data flow anomalies. : (modules)->name CERT EXP33-C
M 30 Procedure contains UR data flow anomalies. : (modules)->next CERT EXP33-C
M 33 Procedure contains UR data flow anomalies. : hook_config_parser_begin CERT EXP33-C
  57 (config-parser-private.h)    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
[external declaration]   main.c 37 (default_pool)->v
[external declaration]   main.c 30 (default_services)->arr
[external declaration]   main.c 30 (modules)->name
[external declaration]   main.c 30 (modules)->next
config-parser.h 13 main.c 33 config_module_parsers.(root)->module_name
config-parser.h 13 main.c 33 config_module_parsers.root
[external declaration]   main.c 33 hook_config_parser_begin

[ Top of Report | Procedure Table | Contents ]







old_settings_handle_root
(57 to 162 old-set-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 76 Pointer not checked for null before use : protos CERT EXP08-C,EXP34-C
  75    
M 91 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  89    
M 92 Pointer not checked for null before use : protos CERT EXP08-C,EXP34-C
  91    
M 97 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 104 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 121 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  119    
M 157 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  156    
M 68 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  67    
M 110 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  109    
M 96 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  92    
M 103 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  96    
M 109 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  103    


[ Top of Report | Procedure Table | Contents ]







config_apply_login_set
(164 to 183 old-set-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 173 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 177 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 181 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C


[ Top of Report | Procedure Table | Contents ]







config_apply_mail_set
(185 to 204 old-set-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 194 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 198 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 202 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C


[ Top of Report | Procedure Table | Contents ]







config_apply_auth_set
(206 to 213 old-set-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 212 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C


[ Top of Report | Procedure Table | Contents ]







listen_has_port
(215 to 232 old-set-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 223 Pointer not checked for null before use : addrs CERT EXP08-C,EXP34-C
  222    


[ Top of Report | Procedure Table | Contents ]







old_settings_handle_proto
(234 to 401 old-set-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 262 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 266 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 271 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 281 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 285 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 290 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 360 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  357    
M 275 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  259    
M 281 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  259    
M 262 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  259    
M 266 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  259    
M 271 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  259    
M 262 Pointer not checked for null before use : ssl CERT EXP08-C,EXP34-C
  250    


[ Top of Report | Procedure Table | Contents ]







old_auth_section
(403 to 444 old-set-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 411 Sizeof argument is a pointer. CERT EXP01-C


[ Top of Report | Procedure Table | Contents ]







socket_apply
(461 to 507 old-set-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 506 Sizeof argument is a pointer. CERT EXP01-C
M 474 Pointer not checked for null before use : path CERT EXP08-C,EXP34-C
  472    
M 496 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 500 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 504 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 478 Pointer not checked for null before use : path CERT EXP08-C,EXP34-C
  476    
M 496 Pointer not checked for null before use : prefix CERT EXP08-C,EXP34-C
  493    
M 500 Pointer not checked for null before use : prefix CERT EXP08-C,EXP34-C
  493    
M 504 Pointer not checked for null before use : prefix CERT EXP08-C,EXP34-C
  493    


[ Top of Report | Procedure Table | Contents ]







old_settings_handle
(509 to 559 old-set-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 528 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  527    
M 532 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  527    


[ Top of Report | Procedure Table | Contents ]







readfile
(15 to 30 sysinfo-get.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 28 User input not checked before use. : buf CERT FIO30-C
  23    


[ Top of Report | Procedure Table | Contents ]







lsb_distro_get
(32 to 55 sysinfo-get.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 47 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  46    
M 51 Pointer not checked for null before use : end CERT EXP08-C,EXP34-C
  50    
M 39 Pointer not checked for null before use : data CERT EXP08-C,EXP34-C
  36    
M 39 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  39    
M 34 Procedure contains UR data flow anomalies. : data CERT EXP33-C
  39    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
sysinfo-get.c 34 sysinfo-get.c 39 data

[ Top of Report | Procedure Table | Contents ]







distro_get
(57 to 82 sysinfo-get.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 77 Pointer not checked for null before use : name CERT EXP08-C,EXP34-C
  76    
M 70 Procedure contains UR data flow anomalies. : name CERT EXP33-C
  74    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
sysinfo-get.c 70 sysinfo-get.c 74 name
sysinfo-get.c 70 sysinfo-get.c 77 name

[ Top of Report | Procedure Table | Contents ]







filesystem_get
(84 to 106 sysinfo-get.c) - FAIL

Standards Violation Summary

Code Violation Standard
M Procedure contains UR data flow anomalies. CERT EXP33-C

Code Line Violation Standard
M 105 Local structure returned in function result : mp  
M 99 Pointer not checked for null before use : path CERT EXP08-C,EXP34-C
  98    
M 86 Procedure contains UR data flow anomalies. : mp.type CERT EXP33-C
  105    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
sysinfo-get.c 86 sysinfo-get.c 105 mp.type

[ Top of Report | Procedure Table | Contents ]







sysinfo_get
(108 to 127 sysinfo-get.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 126 Pointer not checked for null before use : distro CERT EXP08-C,EXP34-C
  121    
M 126 Pointer not checked for null before use : fs CERT EXP08-C,EXP34-C
  123    
M 124 Pointer not checked for null before use : uname_info CERT EXP08-C,EXP34-C
  117    


[ Top of Report | Procedure Table | Contents ]



End of Code Review Report

Copyright © 2010 Liverpool Data Research Associates