LDRA Testbed ® Code Review Report

System : Dovecot-src-dict






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 17:02:17
  • 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
1 47 S Array Bound exceeded. CERT ARR30-C
93 77 S Macro replacement list needs parentheses. CERT PRE02-C
67 78 S Macro parameter not in brackets. CERT PRE01-C,PRE02-C
1 483 S free parameter is not heap item. CERT MEM34-C
14 484 S Attempt to use already freed object. CERT MEM31-C
3 577 S Sizeof argument is a pointer. CERT EXP01-C
31 5 D Procedure contains UR data flow anomalies. CERT EXP33-C
188 45 D Pointer not checked for null before use CERT EXP08-C,EXP34-C
2 50 D Memory not freed after last reference. CERT MEM00-C
5 51 D Attempt to read from freed memory. CERT MEM30-C
8 57 D Global not initialised at declaration. CERT EXP33-C
51 69 D Procedure contains UR data flow anomalies. CERT EXP33-C
6 77 D Local structure returned in function result  
2 86 D User input not checked before use. CERT FIO30-C


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


Number of Violations LDRA Code (O) Optional Standards CERT Code
3 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 153 program components, 58 (37.91 %) pass ( of which 0 conditionally pass ) and 95 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
FAIL dict_client_escape dict-client.c 1 - 2 -
FAIL dict_client_unescape dict-client.c 1 - 1 -
FAIL client_dict_send_query dict-client.c 1 - 5 -
FAIL client_dict_transaction_send_begin dict-client.c 1 - 3 -
Pass client_dict_sen _transaction_query dict-client.c 0 0
FAIL client_dict_transaction_find dict-client.c 1 - 5 -
FAIL client_dict_finish_transaction dict-client.c 2 - 6 -
Pass client_dict_read_timeout dict-client.c 0 0
FAIL client_dict_read_one_line dict-client.c 1 - 2 -
Pass client_dict_is_finished dict-client.c 0 0
Pass client_dict_timeout dict-client.c 0 0
Pass client_dict_add_timeout dict-client.c 0 0
FAIL client_dict_read_line dict-client.c 1 - 7 -
FAIL client_dict_connect dict-client.c 1 - 4 -
Pass client_dict_disconnect dict-client.c 0 0
FAIL client_dict_init dict-client.c 1 - 6 -
Pass client_dict_deinit dict-client.c 0 0
Pass client_dict_wait dict-client.c 0 0
FAIL client_dict_lookup dict-client.c 1 - 5 -
FAIL client_dict_iterate_init dict-client.c 1 - 4 -
FAIL client_dict_iterate dict-client.c 2 - 4 -
Pass client_dict_iterate_deinit dict-client.c 0 0
FAIL client_dict_transaction_init dict-client.c 1 - 11 -
FAIL dict_async_input dict-client.c 1 - 6 -
FAIL client_dict_transaction_commit dict-client.c 2 - 5 -
FAIL client_dict_transaction_rollback dict-client.c 2 - 9 -
FAIL client_dict_set dict-client.c 1 - 13 -
FAIL client_dict_unset dict-client.c 1 - 15 -
FAIL client_dict_atomic_inc dict-client.c 1 - 15 -
Pass buffer_get_data buffer.h analysed in dict-commands.c 0 0
Pass buffer_get_used_size buffer.h analysed in dict-commands.c 0 0
Pass array_create_from_buffer_i array.h analysed in dict-commands.c 0 0
FAIL array_create_i array.h analysed in dict-commands.c 1 - 17 -
Pass array_free_i array.h analysed in dict-commands.c 0 0
Pass array_is_created_i array.h analysed in dict-commands.c 0 0
Pass array_get_pool_i array.h analysed in dict-commands.c 0 0
Pass array_clear_i array.h analysed in dict-commands.c 0 0
Pass array_append_i array.h analysed in dict-commands.c 0 0
Pass array_append_array_i array.h analysed in dict-commands.c 0 0
Pass array_insert_i array.h analysed in dict-commands.c 0 0
Pass array_delete_i array.h analysed in dict-commands.c 0 0
Pass array_get_i array.h analysed in dict-commands.c 0 0
Pass array_idx_i array.h analysed in dict-commands.c 0 0
Pass array_get_modifiable_i array.h analysed in dict-commands.c 0 0
Pass array_append_space_i array.h analysed in dict-commands.c 0 0
Pass array_copy array.h analysed in dict-commands.c 0 0
Pass array_count_i array.h analysed in dict-commands.c 0 0
FAIL cmd_lookup dict-commands.c 2 - 12 -

Quality Result   Procedure   Source File   Unique Violations   Failure Density  
          (Viols/R.Line %)  
FAIL cmd_iterate_flush dict-commands.c 2 - 9 -
FAIL cmd_iterate dict-commands.c 2 - 10 -
FAIL dict_connection_transaction_lookup dict-commands.c 1 - 3 -
FAIL dict_connection_transaction_array_remove dict-commands.c 1 - 9 -
FAIL cmd_begin dict-commands.c 2 - 8 -
FAIL dict_connection_transaction_lookup_parse dict-commands.c 1 - 8 -
Pass cmd_commit dict-commands.c 0 0
FAIL cmd_commit_async_callback dict-commands.c 1 - 5 -
Pass cmd_commit_async dict-commands.c 0 0
Pass cmd_rollback dict-commands.c 0 0
FAIL cmd_set dict-commands.c 1 - 4 -
FAIL cmd_unset dict-commands.c 1 - 4 -
FAIL cmd_atomic_inc dict-commands.c 2 - 12 -
Pass dict_command_find dict-commands.c 0 0
Pass dict_command_input dict-commands.c 0 0
FAIL dict_connection_parse_handshake dict-connection.c 1 - 6 -
FAIL dict_connection_dict_init dict-connection.c 1 - 7 -
FAIL dict_connection_input dict-connection.c 1 - 4 -
FAIL dict_connection_create dict-connection.c 1 - 14 -
FAIL dict_connection_destroy dict-connection.c 2 - 8 -
FAIL dict_connections_destroy_all dict-connection.c 2 - 27 -
FAIL file_dict_init dict-file.c 1 - 20 -
FAIL file_dict_deinit dict-file.c 2 - 38 -
Pass file_dict_need_refresh dict-file.c 0 0
FAIL file_dict_refresh dict-file.c 2 - 6 -
FAIL file_dict_lookup dict-file.c 1 - 5 -
FAIL file_dict_iterate_init dict-file.c 1 - 7 -
Pass file_dict_iterate_find_path dict-file.c 0 0
FAIL file_dict_iterate dict-file.c 1 - 9 -
Pass file_dict_iterate_deinit dict-file.c 0 0
FAIL file_dict_transaction_init dict-file.c 1 - 18 -
FAIL file_dict_apply_changes dict-file.c 2 - 20 -
Pass fd_copy_stat_permissions dict-file.c 0 0
FAIL fd_copy_permissions dict-file.c 1 - 7 -
FAIL fd_copy_parent_dir_permissions dict-file.c 1 - 7 -
FAIL file_dict_write_changes dict-file.c 2 - 20 -
Pass file_dict_transaction_commit dict-file.c 0 0
Pass file_dict_transaction_rollback dict-file.c 0 0
FAIL file_dict_set dict-file.c 1 - 17 -
FAIL file_dict_unset dict-file.c 1 - 20 -
FAIL file_dict_atomic_inc dict-file.c 1 - 17 -
FAIL pattern_read_name dict-sql-settings.c 1 - 6 -
FAIL dict_sql_fields_map dict-sql-settings.c 2 - 6 -
FAIL dict_sql_map_finish dict-sql-settings.c 1 - 2 -
FAIL parse_setting dict-sql-settings.c 1 - 3 -
Pass parse_section dict-sql-settings.c 0 0
FAIL dict_sql_settings_read dict-sql-settings.c 1 - 7 -
Pass module_get_context_id module-context.h analysed in dict-sql.c 0 0
FAIL sql_dict_init dict-sql.c 1 - 14 -

Quality Result   Procedure   Source File   Unique Violations   Failure Density  
          (Viols/R.Line %)  
FAIL sql_dict_deinit dict-sql.c 1 - 20 -
FAIL dict_sql_map_match dict-sql.c 1 - 5 -
FAIL sql_dict_find_map dict-sql.c 1 - 3 -
FAIL sql_dict_where_build dict-sql.c 2 - 4 -
FAIL sql_dict_lookup dict-sql.c 2 - 16 -
FAIL sql_dict_iterate_find_next_map dict-sql.c 2 - 9 -
FAIL sql_dict_iterate_next_query dict-sql.c 2 - 6 -
FAIL sql_dict_iterate_init dict-sql.c 1 - 7 -
FAIL sql_dict_iterate dict-sql.c 1 - 2 -
FAIL sql_dict_iterate_deinit dict-sql.c 1 - 6 -
FAIL sql_dict_transaction_init dict-sql.c 1 - 43 -
FAIL sql_dict_transaction_commit dict-sql.c 2 - 6 -
FAIL sql_dict_transaction_rollback dict-sql.c 1 - 8 -
FAIL sql_dict_set_query dict-sql.c 2 - 5 -
FAIL sql_dict_update_query dict-sql.c 1 - 4 -
FAIL sql_dict_set dict-sql.c 2 - 38 -
FAIL sql_dict_unset dict-sql.c 2 - 19 -
FAIL sql_dict_next_inc_row dict-sql.c 1 - 7 -
FAIL sql_dict_atomic_inc_real dict-sql.c 2 - 38 -
FAIL sql_dict_prev_inc_flush dict-sql.c 1 - 10 -
FAIL sql_dict_maps_are_mergeable dict-sql.c 2 - 5 -
FAIL sql_dict_atomic_inc dict-sql.c 2 - 19 -
FAIL dict_sql_register dict-sql.c 1 - 26 -
FAIL dict_sql_unregister dict-sql.c 1 - 6 -
FAIL dict_driver_lookup dict.c 1 - 14 -
Pass dict_driver_register dict.c 0 0
FAIL dict_driver_unregister dict.c 1 - 5 -
FAIL dict_drivers_register_builtin dict.c 1 - 25 -
FAIL dict_drivers_unregister_builtin dict.c 1 - 25 -
FAIL dict_init dict.c 1 - 4 -
Pass dict_deinit dict.c 0 0
Pass dict_wait dict.c 0 0
Pass dict_key_prefix_is_valid dict.c 0 0
Pass dict_lookup dict.c 0 0
Pass dict_iterate_init dict.c 0 0
Pass dict_iterate_init_multiple dict.c 0 0
Pass dict_iterate dict.c 0 0
Pass dict_iterate_deinit dict.c 0 0
Pass dict_transaction_begin dict.c 0 0
Pass dict_transaction_commit dict.c 0 0
Pass dict_transaction_commit_async dict.c 0 0
Pass dict_transaction_rollback dict.c 0 0
Pass dict_set dict.c 0 0
Pass dict_unset dict.c 0 0
Pass dict_atomic_inc dict.c 0 0
FAIL dict_escape_string dict.c 1 - 2 -
FAIL dict_unescape_string dict.c 1 - 3 -
FAIL dict_die main.c 1 - 50 -
FAIL client_connected main.c 1 - 25 -

Quality Result   Procedure   Source File   Unique Violations   Failure Density  
          (Viols/R.Line %)  
Pass main_preinit main.c 0 0
FAIL main_init main.c 1 - 21 -
Pass main_deinit main.c 0 0
FAIL main main.c 2 - 13 -
FAIL test_dict_escape test-dict.c 1 - 4 -
Pass main test-dict.c 0 0


Global Information

Source Files in System

Name Last Modification Date
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-dict\test-dict.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-dict\dict.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-dict\dict-sql.c Tue May 04 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-dict\dict-sql-settings.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-dict\dict-file.c Fri Apr 16 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-dict\dict-db.c Tue Apr 06 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-dict\dict-client.c Fri Jun 04 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\dict\main.c Thu May 27 19:00:08 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\dict\dict-settings.c Fri Jun 25 08:22:16 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\dict\dict-connection.c Fri Apr 16 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\dict\dict-commands.c Tue Apr 06 19:00:04 2010




Global Basic Information

Number of procedures: 152
Number of locally uncalled procedures: 0
Maximum loop depth: 2
Total Cyclomatic Complexity: 474
Number of reformatted executable lines: 5412
Number of lines of comments: 7705



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 llist.h: 5 Macro replacement list needs parentheses. CERT PRE02-C
M llist.h: 12 Macro replacement list needs parentheses. CERT PRE02-C

Code File: Src Line Violation Standard
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
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 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
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

Code File: Src Line Violation Standard
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 dict-connection.c: 18 Global not initialised at declaration. : dict_connections CERT EXP33-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
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 dict-settings.c: 16 Sizeof argument is a pointer. CERT EXP01-C
M dict-settings.c: 48 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M dict-settings.c: 48 Macro replacement list needs parentheses. CERT PRE02-C
M dict-settings.c: 76 Global not initialised at declaration. : dict_settings CERT EXP33-C
M settings.h: 16 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M settings.h: 16 Macro replacement list needs parentheses. CERT PRE02-C
M settings.h: 20 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M settings.h: 20 Macro replacement list needs parentheses. CERT PRE02-C
M settings.h: 24 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M settings.h: 24 Macro replacement list needs parentheses. CERT PRE02-C
M settings.h: 47 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M dict-sql-settings.c: 30 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M dict-sql-settings.c: 30 Macro replacement list needs parentheses. CERT PRE02-C
M sql-api.h: 27 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M sql-api.h: 27 Macro replacement list needs parentheses. CERT PRE02-C
M sql-api.h: 32 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M sql-api.h: 32 Macro replacement list needs parentheses. CERT PRE02-C
M sql-api.h: 34 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M sql-api.h: 34 Macro replacement list needs parentheses. CERT PRE02-C
M sql-api.h: 36 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M sql-api.h: 36 Macro replacement list needs parentheses. CERT PRE02-C
M sql-api.h: 38 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M sql-api.h: 38 Macro replacement list needs parentheses. CERT PRE02-C
M sql-api.h: 82 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M sql-api.h: 135 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M module-context.h: 45 Macro replacement list needs parentheses. CERT PRE02-C
M module-context.h: 48 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M module-context.h: 62 Macro parameter not in brackets. CERT PRE01-C,PRE02-C

Code File: Src Line Violation Standard
M module-context.h: 62 Macro replacement list needs parentheses. CERT PRE02-C
M module-context.h: 66 Macro replacement list needs parentheses. CERT PRE02-C
M module-context.h: 70 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M module-context.h: 70 Macro replacement list needs parentheses. CERT PRE02-C
M module-context.h: 89 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M module-context.h: 89 Macro replacement list needs parentheses. CERT PRE02-C
M module-context.h: 98 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M module-context.h: 98 Macro replacement list needs parentheses. CERT PRE02-C
M module-context.h: 100 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M module-context.h: 100 Macro replacement list needs parentheses. CERT PRE02-C
M module-context.h: 103 Macro replacement list needs parentheses. CERT PRE02-C
M dict-sql.c: 70 Global not initialised at declaration. : dict_sql_db_cache CERT EXP33-C
M dict-sql.c: 895 Global not initialised at declaration. : dict_sql_drivers CERT EXP33-C
M dict.c: 9 Global not initialised at declaration. : dict_drivers CERT EXP33-C
M test-common.h: 11 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M test-common.h: 11 Macro replacement list needs parentheses. CERT PRE02-C
M test-dict.c: 7 Global not initialised at declaration. : dict_driver_client CERT EXP33-C
M test-dict.c: 8 Global not initialised at declaration. : dict_driver_file CERT EXP33-C
M main.c: 16 Global not initialised at declaration. : modules CERT EXP33-C

[ Top of Report | Procedure Table | Contents ]







dict_client_escape
(79 to 117 dict-client.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







dict_client_unescape
(119 to 155 dict-client.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







client_dict_send_query
(157 to 185 dict-client.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 174 Pointer not checked for null before use : dict.input CERT EXP08-C,EXP34-C
  161    
M 174 Pointer not checked for null before use : dict.connect_counter CERT EXP08-C,EXP34-C
  161    
M 175 Pointer not checked for null before use : dict.connect_counter CERT EXP08-C,EXP34-C
  174    


[ Top of Report | Procedure Table | Contents ]







client_dict_transaction_send_begin
(187 to 207 dict-client.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







client_dict_transaction_find
(240 to 250 dict-client.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 247 Local structure returned in function result : ctx  


[ Top of Report | Procedure Table | Contents ]







client_dict_finish_transaction
(252 to 272 dict-client.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 272 Memory not freed after last reference. : ctx CERT MEM00-C
M 266 Procedure contains UR data flow anomalies. : ctx.next CERT EXP33-C
M 266 Procedure contains UR data flow anomalies. : ctx.prev CERT EXP33-C


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-client.c 266 dict-client.c 267 ctx.next
dict-client.c 266 dict-client.c 267 ctx.prev

[ Top of Report | Procedure Table | Contents ]







client_dict_read_one_line
(305 to 360 dict-client.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 307 Procedure contains UR data flow anomalies. : id CERT EXP33-C
  351    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-client.c 307 dict-client.c 351 id

[ Top of Report | Procedure Table | Contents ]







client_dict_read_line
(386 to 395 dict-client.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 393 Pointer not checked for null before use : dict.async_commits CERT EXP08-C,EXP34-C
  390    


[ Top of Report | Procedure Table | Contents ]







client_dict_connect
(397 to 436 dict-client.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 430 Pointer not checked for null before use : dict.connect_counter CERT EXP08-C,EXP34-C
  428    
M 428 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  423    


[ Top of Report | Procedure Table | Contents ]







client_dict_init
(459 to 493 dict-client.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 476 Pointer not checked for null before use : pool CERT EXP08-C,EXP34-C
  475    
M 477 Pointer not checked for null before use : dict CERT EXP08-C,EXP34-C
  476    


[ Top of Report | Procedure Table | Contents ]







client_dict_lookup
(521 to 550 dict-client.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 539 Pointer not checked for null before use : (dict)->input CERT EXP08-C,EXP34-C
  533    
M 539 Pointer not checked for null before use : dict.async_commits CERT EXP08-C,EXP34-C
  533    
M 533 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  531    


[ Top of Report | Procedure Table | Contents ]







client_dict_iterate_init
(552 to 581 dict-client.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 564 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  563    
M 571 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  568    


[ Top of Report | Procedure Table | Contents ]







client_dict_iterate
(583 to 631 dict-client.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 626 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  611    
M 617 Procedure contains UR data flow anomalies. : value CERT EXP33-C
  589    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-client.c 617 dict-client.c 620 value
dict-client.c 617 dict-client.c 626 value

[ Top of Report | Procedure Table | Contents ]







client_dict_transaction_init
(648 to 660 dict-client.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 655 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  654    
M 654 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1102 (Module 385)    


[ Top of Report | Procedure Table | Contents ]







dict_async_input
(662 to 677 dict-client.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 665 Procedure contains UR data flow anomalies. : size CERT EXP33-C
  672    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-client.c 665 dict-client.c 672 size

[ Top of Report | Procedure Table | Contents ]







client_dict_transaction_commit
(679 to 727 dict-client.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 727 Memory not freed after last reference. : ctx CERT MEM00-C
M 724 Pointer not checked for null before use : dict.to_idle CERT EXP08-C,EXP34-C
  708    
M 697 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  693    
M 722 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  708    
M 721 Procedure contains UR data flow anomalies. : ctx.next CERT EXP33-C
M 721 Procedure contains UR data flow anomalies. : ctx.prev CERT EXP33-C


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-client.c 721 dict-client.c 722 ctx.next
dict-client.c 721 dict-client.c 722 ctx.prev

[ Top of Report | Procedure Table | Contents ]







client_dict_transaction_rollback
(729 to 748 dict-client.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 741 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  739    
M 744 Procedure contains UR data flow anomalies. : ctx.next CERT EXP33-C
M 744 Procedure contains UR data flow anomalies. : ctx.prev CERT EXP33-C


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-client.c 744 dict-client.c 745 ctx.next
dict-client.c 744 dict-client.c 745 ctx.prev

[ Top of Report | Procedure Table | Contents ]







client_dict_set
(750 to 765 dict-client.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 763 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  759    


[ Top of Report | Procedure Table | Contents ]







client_dict_unset
(767 to 781 dict-client.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 779 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  776    


[ Top of Report | Procedure Table | Contents ]







client_dict_atomic_inc
(783 to 796 dict-client.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 794 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  791    


[ Top of Report | Procedure Table | Contents ]







array_create_i
(93 to 101 array.h analysed in dict-commands.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 ]







cmd_lookup
(21 to 45 dict-commands.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 37 Pointer not checked for null before use : reply CERT EXP08-C,EXP34-C
  35    
M 42 Pointer not checked for null before use : reply CERT EXP08-C,EXP34-C
  39    
M 24 Procedure contains UR data flow anomalies. : value CERT EXP33-C
  33    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-commands.c 24 dict-commands.c 33 value

[ Top of Report | Procedure Table | Contents ]







cmd_iterate_flush
(47 to 81 dict-commands.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 55 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  52    
M 50 Procedure contains UR data flow anomalies. : key CERT EXP33-C
  54    
M 50 Procedure contains UR data flow anomalies. : value CERT EXP33-C
  54    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-commands.c 50 dict-commands.c 54 key
dict-commands.c 50 dict-commands.c 54 value

[ Top of Report | Procedure Table | Contents ]







cmd_iterate
(83 to 106 dict-commands.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 94 Pointer not checked for null before use : args CERT EXP08-C,EXP34-C
  93    
M 86 Procedure contains UR data flow anomalies. : flags CERT EXP33-C
  95    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-commands.c 86 dict-commands.c 95 flags

[ Top of Report | Procedure Table | Contents ]







dict_connection_transaction_lookup
(108 to 122 dict-commands.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 119 Local structure returned in function result : transaction  


[ Top of Report | Procedure Table | Contents ]







dict_connection_transaction_array_remove
(124 to 138 dict-commands.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 129 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  132    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-commands.c 129 dict-commands.c 132 count

[ Top of Report | Procedure Table | Contents ]







cmd_begin
(140 to 163 dict-commands.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 159 Pointer not checked for null before use : trans CERT EXP08-C,EXP34-C
  158    
M 143 Procedure contains UR data flow anomalies. : id CERT EXP33-C
  145    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-commands.c 143 dict-commands.c 145 id

[ Top of Report | Procedure Table | Contents ]







dict_connection_transaction_lookup_parse
(165 to 182 dict-commands.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 170 Procedure contains UR data flow anomalies. : id CERT EXP33-C
  172    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-commands.c 170 dict-commands.c 172 id

[ Top of Report | Procedure Table | Contents ]







cmd_commit_async_callback
(215 to 237 dict-commands.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 234 Pointer not checked for null before use : reply CERT EXP08-C,EXP34-C
  232    


[ Top of Report | Procedure Table | Contents ]







cmd_set
(269 to 286 dict-commands.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 276 Pointer not checked for null before use : args CERT EXP08-C,EXP34-C
  275    


[ Top of Report | Procedure Table | Contents ]







cmd_unset
(288 to 305 dict-commands.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







cmd_atomic_inc
(307 to 326 dict-commands.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 315 Pointer not checked for null before use : args CERT EXP08-C,EXP34-C
  314    
M 311 Procedure contains UR data flow anomalies. : diff CERT EXP33-C
  316    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-commands.c 311 dict-commands.c 316 diff
dict-commands.c 311 dict-commands.c 324 diff

[ Top of Report | Procedure Table | Contents ]







dict_connection_parse_handshake
(20 to 65 dict-connection.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 40 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  36    
M 45 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  43    
M 53 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  51    
M 53 Pointer not checked for null before use : username CERT EXP08-C,EXP34-C
  48    
M 63 Pointer not checked for null before use : name CERT EXP08-C,EXP34-C
  57    
M 45 Pointer not checked for null before use : value_type CERT EXP08-C,EXP34-C
  40    


[ Top of Report | Procedure Table | Contents ]







dict_connection_dict_init
(67 to 94 dict-connection.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 86 Pointer not checked for null before use : uri CERT EXP08-C,EXP34-C
  84    
M 73 Pointer not checked for null before use : dict_settings CERT EXP08-C,EXP34-C
  Ref. Line -2206 (Module 266)    
M 75 Pointer not checked for null before use : strlist CERT EXP08-C,EXP34-C
  73    


[ Top of Report | Procedure Table | Contents ]







dict_connection_input
(96 to 141 dict-connection.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 123 Pointer not checked for null before use : conn.name CERT EXP08-C,EXP34-C
  121    
M 126 Pointer not checked for null before use : conn.name CERT EXP08-C,EXP34-C
  121    
M 126 Pointer not checked for null before use : conn.value_type CERT EXP08-C,EXP34-C
  121    


[ Top of Report | Procedure Table | Contents ]







dict_connection_create
(143 to 155 dict-connection.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 154 Local structure returned in function result : conn  
M 148 Pointer not checked for null before use : conn CERT EXP08-C,EXP34-C
  147    
M 147 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1102 (Module 266)    


[ Top of Report | Procedure Table | Contents ]







dict_connection_destroy
(157 to 185 dict-connection.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 181 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  180    
M 181 Attempt to read from freed memory. : default_pool CERT MEM30-C
M 182 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  181    
M 182 Attempt to read from freed memory. : default_pool CERT MEM30-C
M 182 Pointer not checked for null before use : (conn)->name CERT EXP08-C,EXP34-C
  180    
M 182 Pointer not checked for null before use : (conn)->username CERT EXP08-C,EXP34-C
  181    
M 161 Procedure contains UR data flow anomalies. : dict_connections.prev CERT EXP33-C


[ Top of Report | Procedure Table | Contents ]







dict_connections_destroy_all
(187 to 191 dict-connection.c) - FAIL

Standards Violation Summary

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

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


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-connection.c 161 dict-connection.c 190 dict_connections.prev

[ Top of Report | Procedure Table | Contents ]







file_dict_init
(71 to 86 dict-file.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 79 Pointer not checked for null before use : dict CERT EXP08-C,EXP34-C
  78    
M 82 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1102 (Module 387)    


[ Top of Report | Procedure Table | Contents ]







file_dict_deinit
(88 to 96 dict-file.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 95 free parameter is not heap item. CERT MEM34-C
M 95 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  94    
M 95 Attempt to read from freed memory. : default_pool CERT MEM30-C
M 95 Pointer not checked for null before use : (dict)->path CERT EXP08-C,EXP34-C
  94    
M 94 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1102 (Module 387)    


[ Top of Report | Procedure Table | Contents ]







file_dict_refresh
(124 to 156 dict-file.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 152 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  150    
M 152 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  151    
M 127 Procedure contains UR data flow anomalies. : value CERT EXP33-C
  151    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-file.c 127 dict-file.c 151 value

[ Top of Report | Procedure Table | Contents ]







file_dict_lookup
(158 to 168 dict-file.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 166 Attempt to use already freed object. CERT MEM31-C


[ Top of Report | Procedure Table | Contents ]







file_dict_iterate_init
(170 to 196 dict-file.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 191 Attempt to use already freed object. CERT MEM31-C
M 180 Pointer not checked for null before use : pool CERT EXP08-C,EXP34-C
  179    
M 181 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  180    


[ Top of Report | Procedure Table | Contents ]







file_dict_iterate
(211 to 233 dict-file.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 217 Procedure contains UR data flow anomalies. : key CERT EXP33-C
  219    
M 217 Procedure contains UR data flow anomalies. : value CERT EXP33-C
  219    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-file.c 217 dict-file.c 219 key
dict-file.c 217 dict-file.c 219 value

[ Top of Report | Procedure Table | Contents ]







file_dict_transaction_init
(246 to 258 dict-file.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 253 Pointer not checked for null before use : pool CERT EXP08-C,EXP34-C
  252    
M 254 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  253    


[ Top of Report | Procedure Table | Contents ]







file_dict_apply_changes
(260 to 313 dict-file.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 271 Attempt to use already freed object. CERT MEM31-C
M 292 Attempt to use already freed object. CERT MEM31-C
M 300 Attempt to use already freed object. CERT MEM31-C
M 302 Attempt to use already freed object. CERT MEM31-C
M 305 Attempt to use already freed object. CERT MEM31-C
M 309 Attempt to use already freed object. CERT MEM31-C
M 290 Pointer not checked for null before use : tmp CERT EXP08-C,EXP34-C
  289    
M 295 Pointer not checked for null before use : old_value CERT EXP08-C,EXP34-C
  294    
M 305 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  300    
M 309 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  276    
M 305 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  302    
M 276 Procedure contains UR data flow anomalies. : key CERT EXP33-C
  264    
M 277 Procedure contains UR data flow anomalies. : old_value CERT EXP33-C
  264    
M 265 Procedure contains UR data flow anomalies. : orig_key CERT EXP33-C
  271    
M 265 Procedure contains UR data flow anomalies. : orig_value CERT EXP33-C
  271    
M 279 Procedure contains UR data flow anomalies. : value CERT EXP33-C
  264    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-file.c 276 dict-file.c 299 key
dict-file.c 276 dict-file.c 309 key
dict-file.c 277 dict-file.c 283 old_value
dict-file.c 265 dict-file.c 271 orig_key
dict-file.c 265 dict-file.c 271 orig_value
dict-file.c 279 dict-file.c 301 value

[ Top of Report | Procedure Table | Contents ]







fd_copy_permissions
(347 to 357 dict-file.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 356 User input not checked before use. : src_st CERT FIO30-C
  352    


[ Top of Report | Procedure Table | Contents ]







fd_copy_parent_dir_permissions
(359 to 377 dict-file.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 375 User input not checked before use. : src_st CERT FIO30-C
  371    
M 371 Pointer not checked for null before use : src_dir CERT EXP08-C,EXP34-C
  370    


[ Top of Report | Procedure Table | Contents ]







file_dict_write_changes
(379 to 433 dict-file.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 388 Attempt to use already freed object. CERT MEM31-C
M 391 Attempt to use already freed object. CERT MEM31-C
M 402 Attempt to use already freed object. CERT MEM31-C
M 406 Attempt to use already freed object. CERT MEM31-C
M 413 Attempt to use already freed object. CERT MEM31-C
M 430 Attempt to use already freed object. CERT MEM31-C
M 412 Pointer not checked for null before use : output CERT EXP08-C,EXP34-C
  411    
M 388 Pointer not checked for null before use : file_dict_dotlock_settings.context CERT EXP08-C,EXP34-C
  66    
M 388 Pointer not checked for null before use : file_dict_dotlock_settings.lock_suffix CERT EXP08-C,EXP34-C
  66    
M 388 Pointer not checked for null before use : file_dict_dotlock_settings.temp_prefix CERT EXP08-C,EXP34-C
  66    
M 414 Pointer not checked for null before use : iter CERT EXP08-C,EXP34-C
  413    
M 382 Procedure contains UR data flow anomalies. : dotlock CERT EXP33-C
  423    
M 385 Procedure contains UR data flow anomalies. : key CERT EXP33-C
  414    
M 385 Procedure contains UR data flow anomalies. : value CERT EXP33-C
  414    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-file.c 382 dict-file.c 423 dotlock
dict-file.c 385 dict-file.c 414 key
dict-file.c 385 dict-file.c 414 value

[ Top of Report | Procedure Table | Contents ]







file_dict_set
(466 to 477 dict-file.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 474 Pointer not checked for null before use : change CERT EXP08-C,EXP34-C
  473    


[ Top of Report | Procedure Table | Contents ]







file_dict_unset
(479 to 489 dict-file.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 487 Pointer not checked for null before use : change CERT EXP08-C,EXP34-C
  486    


[ Top of Report | Procedure Table | Contents ]







file_dict_atomic_inc
(491 to 503 dict-file.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 500 Pointer not checked for null before use : change CERT EXP08-C,EXP34-C
  499    


[ Top of Report | Procedure Table | Contents ]







pattern_read_name
(41 to 66 dict-sql-settings.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 48 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  47    
M 58 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  58    
M 64 Pointer not checked for null before use : name CERT EXP08-C,EXP34-C
  47    


[ Top of Report | Procedure Table | Contents ]







dict_sql_fields_map
(68 to 119 dict-sql-settings.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 90 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  87    
M 83 Pointer not checked for null before use : pattern CERT EXP08-C,EXP34-C
  77    
M 81 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  81    
M 97 Pointer not checked for null before use : name CERT EXP08-C,EXP34-C
  90    
M 102 Procedure contains UR data flow anomalies. : fields.variable CERT EXP33-C


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-sql-settings.c 102 dict-sql-settings.c 109 fields.variable
dict-sql-settings.c 102 dict-sql-settings.c 92 fields.variable

[ Top of Report | Procedure Table | Contents ]







dict_sql_map_finish
(121 to 144 dict-sql-settings.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







parse_setting
(146 to 174 dict-sql-settings.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 169 Pointer not checked for null before use : field CERT EXP08-C,EXP34-C
  168    


[ Top of Report | Procedure Table | Contents ]







dict_sql_settings_read
(213 to 233 dict-sql-settings.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 232 Local structure returned in function result : ctx  
M 221 Pointer not checked for null before use : ctx.set CERT EXP08-C,EXP34-C
  219    
M 223 Pointer not checked for null before use : ctx.pool CERT EXP08-C,EXP34-C
  218    
M 223 Pointer not checked for null before use : ctx.pool CERT EXP08-C,EXP34-C
  218    
M 223 Pointer not checked for null before use : ctx.pool CERT EXP08-C,EXP34-C
  218    


[ Top of Report | Procedure Table | Contents ]







sql_dict_init
(74 to 99 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 83 Pointer not checked for null before use : pool CERT EXP08-C,EXP34-C
  82    
M 84 Pointer not checked for null before use : dict CERT EXP08-C,EXP34-C
  83    
C 74 Procedure not called in code analysed : sql_dict_init  


[ Top of Report | Procedure Table | Contents ]







sql_dict_deinit
(101 to 107 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 101 Procedure not called in code analysed : sql_dict_deinit  


[ Top of Report | Procedure Table | Contents ]







dict_sql_map_match
(109 to 177 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 175 Array Bound exceeded. CERT ARR30-C
M 124 Pointer not checked for null before use : pat CERT EXP08-C,EXP34-C
  123    
M 135 Pointer not checked for null before use : field CERT EXP08-C,EXP34-C
  134    
M 151 Pointer not checked for null before use : field CERT EXP08-C,EXP34-C
  150    
M 143 Pointer not checked for null before use : path CERT EXP08-C,EXP34-C
  141    
M 120 Pointer not checked for null before use : pat CERT EXP08-C,EXP34-C
  119    
M 144 Pointer not checked for null before use : pat CERT EXP08-C,EXP34-C
  132    


[ Top of Report | Procedure Table | Contents ]







sql_dict_find_map
(179 to 198 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 191 Pointer not checked for null before use : maps CERT EXP08-C,EXP34-C
  187    


[ Top of Report | Procedure Table | Contents ]







sql_dict_where_build
(200 to 263 dict-sql.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 226 Pointer not checked for null before use : sql_fields CERT EXP08-C,EXP34-C
  210    
M 227 Pointer not checked for null before use : values CERT EXP08-C,EXP34-C
  211    
M 207 Procedure contains UR data flow anomalies. : count2 CERT EXP33-C
  213    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-sql.c 207 dict-sql.c 213 count2

[ Top of Report | Procedure Table | Contents ]







sql_dict_lookup
(265 to 305 dict-sql.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 284 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  282    
M 291 Pointer not checked for null before use : result CERT EXP08-C,EXP34-C
  288    
M 276 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  274    
M 286 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  274    
M 270 Procedure contains UR data flow anomalies. : values.arr.buffer CERT EXP33-C
  274    
M 270 Procedure contains UR data flow anomalies. : values.arr.element_size CERT EXP33-C
  274    
C 265 Procedure not called in code analysed : sql_dict_lookup  


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-sql.c 270 dict-sql.c 274 values.arr.buffer
dict-sql.c 270 dict-sql.c 274 values.arr.element_size

[ Top of Report | Procedure Table | Contents ]







sql_dict_iterate_find_next_map
(307 to 337 dict-sql.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 328 Local structure returned in function result : maps  
M 318 Pointer not checked for null before use : maps CERT EXP08-C,EXP34-C
  316    
M 313 Procedure contains UR data flow anomalies. : pat_len CERT EXP33-C
  323    
M 313 Procedure contains UR data flow anomalies. : path_len CERT EXP33-C
  322    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-sql.c 313 dict-sql.c 323 pat_len
dict-sql.c 313 dict-sql.c 322 path_len

[ Top of Report | Procedure Table | Contents ]







sql_dict_iterate_next_query
(339 to 389 dict-sql.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 366 Pointer not checked for null before use : sql_fields CERT EXP08-C,EXP34-C
  357    
M 378 Pointer not checked for null before use : sql_fields CERT EXP08-C,EXP34-C
  357    
M 355 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  353    
M 343 Procedure contains UR data flow anomalies. : values.arr.buffer CERT EXP33-C
  348    
M 343 Procedure contains UR data flow anomalies. : values.arr.element_size CERT EXP33-C
  348    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-sql.c 343 dict-sql.c 348 values.arr.buffer
dict-sql.c 343 dict-sql.c 348 values.arr.element_size

[ Top of Report | Procedure Table | Contents ]







sql_dict_iterate_init
(391 to 418 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 400 Pointer not checked for null before use : pool CERT EXP08-C,EXP34-C
  399    
M 401 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  400    
C 391 Procedure not called in code analysed : sql_dict_iterate_init  


[ Top of Report | Procedure Table | Contents ]







sql_dict_iterate
(420 to 469 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 454 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  454    
C 420 Procedure not called in code analysed : sql_dict_iterate  


[ Top of Report | Procedure Table | Contents ]







sql_dict_iterate_deinit
(471 to 481 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 471 Procedure not called in code analysed : sql_dict_iterate_deinit  


[ Top of Report | Procedure Table | Contents ]







sql_dict_transaction_init
(483 to 494 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 490 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  489    
M 489 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1102 (Module 389)    
C 483 Procedure not called in code analysed : sql_dict_transaction_init  


[ Top of Report | Procedure Table | Contents ]







sql_dict_transaction_commit
(496 to 536 dict-sql.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 531 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  530    
M 530 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  508    
M 504 Procedure contains UR data flow anomalies. : error CERT EXP33-C
  514    
C 496 Procedure not called in code analysed : sql_dict_transaction_commit  


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-sql.c 504 dict-sql.c 514 error

[ Top of Report | Procedure Table | Contents ]







sql_dict_transaction_rollback
(538 to 550 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 549 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  548    
C 538 Procedure not called in code analysed : sql_dict_transaction_rollback  


[ Top of Report | Procedure Table | Contents ]







sql_dict_set_query
(566 to 631 dict-sql.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 579 Pointer not checked for null before use : prefix CERT EXP08-C,EXP34-C
  577    
M 580 Pointer not checked for null before use : suffix CERT EXP08-C,EXP34-C
  578    
M 579 Pointer not checked for null before use : fields CERT EXP08-C,EXP34-C
  574    
M 607 Pointer not checked for null before use : extra_values CERT EXP08-C,EXP34-C
  602    
M 571 Procedure contains UR data flow anomalies. : field_count CERT EXP33-C
  575    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-sql.c 571 dict-sql.c 575 field_count

[ Top of Report | Procedure Table | Contents ]







sql_dict_update_query
(633 to 661 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 647 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  646    
M 647 Pointer not checked for null before use : fields CERT EXP08-C,EXP34-C
  643    


[ Top of Report | Procedure Table | Contents ]







sql_dict_set
(663 to 700 dict-sql.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 692 Pointer not checked for null before use : build.fields CERT EXP08-C,EXP34-C
  690    
M 693 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  692    
M 693 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  692    
M 693 Pointer not checked for null before use : field.value CERT EXP08-C,EXP34-C
  688    
M 693 Pointer not checked for null before use : field.map CERT EXP08-C,EXP34-C
  687    
M 697 Pointer not checked for null before use : build.fields.v_modifiable CERT EXP08-C,EXP34-C
  690    
M 697 Pointer not checked for null before use : build.fields.v CERT EXP08-C,EXP34-C
  690    
M 697 Pointer not checked for null before use : build.fields.arr CERT EXP08-C,EXP34-C
  690    
M 697 Pointer not checked for null before use : build.fields.arr.element_size CERT EXP08-C,EXP34-C
  690    
M 697 Pointer not checked for null before use : build.fields.arr.buffer CERT EXP08-C,EXP34-C
  690    
M 697 Pointer not checked for null before use : build.dict CERT EXP08-C,EXP34-C
  691    
M 698 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  697    
M 674 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  672    
M 695 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  672    
M 670 Procedure contains UR data flow anomalies. : values.arr.buffer CERT EXP33-C
  672    
M 670 Procedure contains UR data flow anomalies. : values.arr.element_size CERT EXP33-C
  672    
C 663 Procedure not called in code analysed : sql_dict_set  


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-sql.c 670 dict-sql.c 672 values.arr.buffer
dict-sql.c 670 dict-sql.c 672 values.arr.element_size

[ Top of Report | Procedure Table | Contents ]







sql_dict_unset
(702 to 729 dict-sql.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 724 Pointer not checked for null before use : query CERT EXP08-C,EXP34-C
  722    
M 716 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  714    
M 725 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  714    
M 709 Procedure contains UR data flow anomalies. : values.arr.buffer CERT EXP33-C
  714    
M 709 Procedure contains UR data flow anomalies. : values.arr.element_size CERT EXP33-C
  714    
C 702 Procedure not called in code analysed : sql_dict_unset  


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-sql.c 709 dict-sql.c 714 values.arr.buffer
dict-sql.c 709 dict-sql.c 714 values.arr.element_size

[ Top of Report | Procedure Table | Contents ]







sql_dict_next_inc_row
(731 to 745 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 741 Pointer not checked for null before use : row CERT EXP08-C,EXP34-C
  740    


[ Top of Report | Procedure Table | Contents ]







sql_dict_atomic_inc_real
(747 to 775 dict-sql.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 766 Pointer not checked for null before use : build.fields CERT EXP08-C,EXP34-C
  764    
M 767 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  766    
M 767 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  766    
M 767 Pointer not checked for null before use : field.value CERT EXP08-C,EXP34-C
  762    
M 767 Pointer not checked for null before use : field.map CERT EXP08-C,EXP34-C
  761    
M 772 Pointer not checked for null before use : build.fields.v_modifiable CERT EXP08-C,EXP34-C
  764    
M 772 Pointer not checked for null before use : build.fields.v CERT EXP08-C,EXP34-C
  764    
M 772 Pointer not checked for null before use : build.fields.arr CERT EXP08-C,EXP34-C
  764    
M 772 Pointer not checked for null before use : build.fields.arr.element_size CERT EXP08-C,EXP34-C
  764    
M 772 Pointer not checked for null before use : build.fields.arr.buffer CERT EXP08-C,EXP34-C
  764    
M 772 Pointer not checked for null before use : build.dict CERT EXP08-C,EXP34-C
  765    
M 769 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  754    
M 752 Procedure contains UR data flow anomalies. : values.arr.buffer CERT EXP33-C
  754    
M 752 Procedure contains UR data flow anomalies. : values.arr.element_size CERT EXP33-C
  754    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-sql.c 752 dict-sql.c 754 values.arr.buffer
dict-sql.c 752 dict-sql.c 754 values.arr.element_size

[ Top of Report | Procedure Table | Contents ]







sql_dict_prev_inc_flush
(777 to 782 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 780 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1102 (Module 389)    


[ Top of Report | Procedure Table | Contents ]







sql_dict_maps_are_mergeable
(784 to 818 dict-sql.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 814 Pointer not checked for null before use : v2 CERT EXP08-C,EXP34-C
  809    
M 792 Procedure contains UR data flow anomalies. : map1_values.arr.buffer CERT EXP33-C
  805    
M 792 Procedure contains UR data flow anomalies. : map1_values.arr.element_size CERT EXP33-C
  805    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-sql.c 792 dict-sql.c 805 map1_values.arr.buffer
dict-sql.c 792 dict-sql.c 805 map1_values.arr.element_size

[ Top of Report | Procedure Table | Contents ]







sql_dict_atomic_inc
(820 to 873 dict-sql.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 848 Pointer not checked for null before use : ctx.inc_row CERT EXP08-C,EXP34-C
  847    
M 855 Pointer not checked for null before use : build.fields CERT EXP08-C,EXP34-C
  853    
M 867 Pointer not checked for null before use : build.fields.v_modifiable CERT EXP08-C,EXP34-C
  853    
M 867 Pointer not checked for null before use : build.fields.v CERT EXP08-C,EXP34-C
  853    
M 867 Pointer not checked for null before use : build.fields.arr CERT EXP08-C,EXP34-C
  853    
M 867 Pointer not checked for null before use : build.fields.arr.element_size CERT EXP08-C,EXP34-C
  853    
M 867 Pointer not checked for null before use : build.fields.arr.buffer CERT EXP08-C,EXP34-C
  853    
M 867 Pointer not checked for null before use : build.dict CERT EXP08-C,EXP34-C
  854    
M 831 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  829    
M 840 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  829    
M 827 Procedure contains UR data flow anomalies. : values.arr.buffer CERT EXP33-C
  829    
M 827 Procedure contains UR data flow anomalies. : values.arr.element_size CERT EXP33-C
  829    
C 820 Procedure not called in code analysed : sql_dict_atomic_inc  


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
dict-sql.c 827 dict-sql.c 829 values.arr.buffer
dict-sql.c 827 dict-sql.c 829 values.arr.element_size

[ Top of Report | Procedure Table | Contents ]







dict_sql_register
(897 to 914 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 910 Pointer not checked for null before use : dict_sql_drivers CERT EXP08-C,EXP34-C
  909    
M 905 Pointer not checked for null before use : sql_drivers.arr.buffer CERT EXP08-C,EXP34-C
  157 (sql-api-private.h)    
M 906 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1102 (Module 389)    
M 910 Pointer not checked for null before use : drivers CERT EXP08-C,EXP34-C
  905    
C 897 Procedure not called in code analysed : dict_sql_register  


[ Top of Report | Procedure Table | Contents ]







dict_sql_unregister
(916 to 924 dict-sql.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 916 Procedure not called in code analysed : dict_sql_unregister  


[ Top of Report | Procedure Table | Contents ]







dict_driver_lookup
(11 to 22 dict.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 19 Local structure returned in function result : dict  
M 15 Pointer not checked for null before use : dict_drivers.v CERT EXP08-C,EXP34-C
  9    
M 15 Pointer not checked for null before use : dict_drivers.arr.buffer CERT EXP08-C,EXP34-C
  9    


[ Top of Report | Procedure Table | Contents ]







dict_driver_unregister
(36 to 52 dict.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 41 Pointer not checked for null before use : dict_drivers.v CERT EXP08-C,EXP34-C
  9    
M 41 Pointer not checked for null before use : dict_drivers.arr.buffer CERT EXP08-C,EXP34-C
  9    


[ Top of Report | Procedure Table | Contents ]







dict_drivers_register_builtin
(54 to 58 dict.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 56 Pointer not checked for null before use : dict_driver_client.name CERT EXP08-C,EXP34-C
  91 (buffer.h)    
M 57 Pointer not checked for null before use : dict_driver_file.name CERT EXP08-C,EXP34-C
  89 (buffer.h)    


[ Top of Report | Procedure Table | Contents ]







dict_drivers_unregister_builtin
(60 to 64 dict.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 62 Pointer not checked for null before use : dict_driver_client.name CERT EXP08-C,EXP34-C
  91 (buffer.h)    
M 63 Pointer not checked for null before use : dict_driver_file.name CERT EXP08-C,EXP34-C
  89 (buffer.h)    


[ Top of Report | Procedure Table | Contents ]







dict_init
(66 to 89 dict.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







dict_escape_string
(214 to 248 dict.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 230 Pointer not checked for null before use : ret CERT EXP08-C,EXP34-C
  229    


[ Top of Report | Procedure Table | Contents ]







dict_unescape_string
(250 to 281 dict.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 266 Pointer not checked for null before use : ret CERT EXP08-C,EXP34-C
  265    
M 268 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  272    


[ Top of Report | Procedure Table | Contents ]







dict_die
(18 to 21 main.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 18 Procedure not called in code analysed : dict_die  


[ Top of Report | Procedure Table | Contents ]







client_connected
(23 to 27 main.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







main_init
(43 to 67 main.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 49 Pointer not checked for null before use : sets CERT EXP08-C,EXP34-C
  48    
M 51 Pointer not checked for null before use : dict_settings CERT EXP08-C,EXP34-C
  49    
M 61 Pointer not checked for null before use : mod_set.version CERT EXP08-C,EXP34-C
  58    
M 62 Pointer not checked for null before use : modules CERT EXP08-C,EXP34-C
  61    


[ Top of Report | Procedure Table | Contents ]







main
(80 to 107 main.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 104 Attempt to read from freed memory. : default_pool CERT MEM30-C
M 104 Procedure contains UR data flow anomalies. : (default_pool)->v CERT EXP33-C
M 86 Procedure contains UR data flow anomalies. : error CERT EXP33-C
  92    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
[external declaration]   main.c 104 (default_pool)->v
main.c 86 main.c 92 error

[ Top of Report | Procedure Table | Contents ]







test_dict_escape
(10 to 34 test-dict.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 27 Sizeof argument is a pointer. CERT EXP01-C
C 10 Procedure not called in code analysed : test_dict_escape  


[ Top of Report | Procedure Table | Contents ]



End of Code Review Report

Copyright © 2010 Liverpool Data Research Associates