LDRA Testbed ® Code Review Report

System : Dovecot-src-lib-settings






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 19:37:43
  • 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
69 77 S Macro replacement list needs parentheses. CERT PRE02-C
45 78 S Macro parameter not in brackets. CERT PRE01-C,PRE02-C
22 5 D Procedure contains UR data flow anomalies. CERT EXP33-C
177 45 D Pointer not checked for null before use CERT EXP08-C,EXP34-C
37 69 D Procedure contains UR data flow anomalies. CERT EXP33-C
4 77 D Local structure returned in function result  
1 1 X Declaration types do not match across a system. CERT ARR31-C


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


Number of Violations LDRA Code (O) Optional Standards CERT Code
4 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 91 program components, 43 (47.25 %) pass ( of which 1 conditionally passes ) and 48 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 settings-parser.c 0 0
Pass buffer_get_used_size buffer.h analysed in settings-parser.c 0 0
Pass array_create_from_buffer_i array.h analysed in settings-parser.c 0 0
FAIL array_create_i array.h analysed in settings-parser.c 1 - 17 -
Pass array_free_i array.h analysed in settings-parser.c 0 0
Pass array_is_created_i array.h analysed in settings-parser.c 0 0
Pass array_get_pool_i array.h analysed in settings-parser.c 0 0
Pass array_clear_i array.h analysed in settings-parser.c 0 0
Pass array_append_i array.h analysed in settings-parser.c 0 0
Pass array_append_array_i array.h analysed in settings-parser.c 0 0
Pass array_insert_i array.h analysed in settings-parser.c 0 0
Pass array_delete_i array.h analysed in settings-parser.c 0 0
Pass array_get_i array.h analysed in settings-parser.c 0 0
Pass array_idx_i array.h analysed in settings-parser.c 0 0
Pass array_get_modifiable_i array.h analysed in settings-parser.c 0 0
Pass array_append_space_i array.h analysed in settings-parser.c 0 0
Pass array_copy array.h analysed in settings-parser.c 0 0
Pass array_count_i array.h analysed in settings-parser.c 0 0
Pass settings_parser_init settings-parser.c 0 0
FAIL copy_unique_defaults settings-parser.c 4 - 12 -
FAIL setting_parser_copy_defaults settings-parser.c 1 - 5 -
FAIL settings_parser_init_list settings-parser.c 2 - 6 -
Pass settings_parser_deinit settings-parser.c 0 0
Pass settings_parser_get settings-parser.c 0 0
Pass settings_parser_get_list settings-parser.c 0 0
Pass settings_parser_get_changes settings-parser.c 0 0
Pass settings_parser_get_roots settings-parser.c 0 0
Pass settings_parser_get_error settings-parser.c 0 0
FAIL setting_define_find settings-parser.c 2 - 10 -
Pass get_bool settings-parser.c 0 0
Pass get_uint settings-parser.c 0 0
FAIL get_octal settings-parser.c 2 - 8 -
FAIL settings_get_time settings-parser.c 3 - 3 -
FAIL settings_get_size settings-parser.c 3 - 7 -
Pass get_enum settings-parser.c 0 0
Pass setting_link_init_set_struct settings-parser.c 0 0
FAIL setting_link_add settings-parser.c 1 - 2 -
FAIL get_deflist settings-parser.c 1 - 6 -
FAIL settings_parse settings-parser.c 3 - 6 -
Pass settings_find_key settings-parser.c 0 0
FAIL settings_parse_strlist settings-parser.c 3 - 19 -
FAIL settings_parse_keyvalue settings-parser.c 1 - 3 -
FAIL settings_parse_is_valid_key settings-parser.c 2 - 50 -
FAIL settings_parse_unalias settings-parser.c 1 - 7 -
FAIL settings_parse_get_value settings-parser.c 1 - 4 -
FAIL settings_parse_is_changed settings-parser.c 1 - 4 -
FAIL settings_parse_line settings-parser.c 1 - 3 -
Pass settings_parse_get_prev_info settings-parser.c 0 0

Quality Result   Procedure   Source File   Unique Violations   Failure Density  
          (Viols/R.Line %)  
FAIL settings_translate_lf settings-parser.c 1 - 3 -
FAIL settings_parse_stream settings-parser.c 1 - 2 -
Conditional Pass settings_parse_stream_read settings-parser.c 1 - 2 -
FAIL settings_parse_file settings-parser.c 1 - 5 -
Pass environ_cmp settings-parser.c 0 0
FAIL settings_parse_environ settings-parser.c 3 - 16 -
FAIL settings_parse_exec settings-parser.c 3 - 7 -
Pass settings_check_dynamic settings-parser.c 0 0
FAIL settings_check settings-parser.c 3 - 7 -
Pass settings_parser_check settings-parser.c 0 0
Pass settings_parse_set_expanded settings-parser.c 0 0
FAIL settings_parse_set_key_expandeded settings-parser.c 1 - 5 -
Pass settings_parse_ et_keys_expandeded settings-parser.c 0 0
FAIL settings_parse_var_skip settings-parser.c 1 - 7 -
FAIL settings_var_expand_info settings-parser.c 3 - 5 -
FAIL settings_var_expand settings-parser.c 1 - 9 -
FAIL settings_vars_have_key settings-parser.c 3 - 6 -
FAIL settings_set_parent settings-parser.c 1 - 8 -
FAIL setting_copy settings-parser.c 3 - 5 -
FAIL settings_dup settings-parser.c 3 - 18 -
FAIL settings_changes_dup settings-parser.c 3 - 13 -
FAIL info_update_real settings-parser.c 3 - 16 -
Pass settings_parser_info_update settings-parser.c 0 0
FAIL settings_parser_update_children_parent settings-parser.c 1 - 10 -
FAIL settings_parser_dyn_update settings-parser.c 1 - 9 -
Pass settings_find_dynamic settings-parser.c 0 0
FAIL settings_link_get_new settings-parser.c 5 - 6 -
FAIL settings_parser_dup settings-parser.c 5 - 16 -
FAIL settings_changes_init settings-parser.c 3 - 11 -
FAIL settings_copy_deflist settings-parser.c 3 - 12 -
FAIL settings_copy_deflist_unique settings-parser.c 3 - 16 -
FAIL settings_apply settings-parser.c 1 - 2 -
Pass settings_parser_apply_changes settings-parser.c 0 0
FAIL settings_section_escape settings-parser.c 1 - 2 -
Pass get_bool settings.c 0 0
Pass get_uint settings.c 0 0
FAIL parse_setting_from_defs settings.c 1 - 3 -
Pass fix_relative_path settings.c 0 0
FAIL settings_add_include settings.c 1 - 2 -
Pass settings_include settings.c 0 0
FAIL settings_read_real settings.c 4 - 5 -
FAIL settings_read settings.c 1 - 9 -


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-settings\settings.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-settings\settings-parser.c Fri Jun 25 08:22:16 2010




Global Basic Information

Number of procedures: 90
Number of locally uncalled procedures: 0
Maximum loop depth: 4
Total Cyclomatic Complexity: 403
Number of reformatted executable lines: 3924
Number of lines of comments: 1455



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 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 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

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

[ Top of Report | Procedure Table | Contents ]







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







copy_unique_defaults
(84 to 144 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 132 Pointer not checked for null before use : new_link CERT EXP08-C,EXP34-C
  126    
M 131 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  124    
M 131 Pointer not checked for null before use : prefix CERT EXP08-C,EXP34-C
  127    
M 123 Pointer not checked for null before use : children CERT EXP08-C,EXP34-C
  103    
M 106 Pointer not checked for null before use : carr CERT EXP08-C,EXP34-C
  105    
M 116 Pointer not checked for null before use : new_set CERT EXP08-C,EXP34-C
  115    
M 120 Pointer not checked for null before use : new_changes CERT EXP08-C,EXP34-C
  119    
M 132 Pointer not checked for null before use : full_key CERT EXP08-C,EXP34-C
  131    
M 98 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  109    
M 89 Declaration types do not match across a system. : arr CERT ARR31-C


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 98 settings-parser.c 109 count
settings-parser.c 98 settings-parser.c 107 count

[ Top of Report | Procedure Table | Contents ]







setting_parser_copy_defaults
(146 to 186 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 158 Pointer not checked for null before use : def CERT EXP08-C,EXP34-C
  158    
M 164 Pointer not checked for null before use : strp CERT EXP08-C,EXP34-C
  163    
M 172 Pointer not checked for null before use : strp CERT EXP08-C,EXP34-C
  171    


[ Top of Report | Procedure Table | Contents ]







settings_parser_init_list
(188 to 225 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 224 Local structure returned in function result : ctx  
M 200 Pointer not checked for null before use : parser_pool CERT EXP08-C,EXP34-C
  199    
M 201 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  200    


[ Top of Report | Procedure Table | Contents ]







setting_define_find
(279 to 289 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 286 Local structure returned in function result : list  
M 284 Pointer not checked for null before use : list CERT EXP08-C,EXP34-C
  284    


[ Top of Report | Procedure Table | Contents ]







get_octal
(322 to 339 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 327 Procedure contains UR data flow anomalies. : p CERT EXP33-C
  332    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 327 settings-parser.c 332 p

[ Top of Report | Procedure Table | Contents ]







settings_get_time
(341 to 388 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 348 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  348    
M 345 Procedure contains UR data flow anomalies. : p CERT EXP33-C
  347    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 345 settings-parser.c 347 p

[ Top of Report | Procedure Table | Contents ]







settings_get_size
(390 to 438 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 397 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  397    
M 425 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  424    
M 423 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  401    
M 428 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  426    
M 394 Procedure contains UR data flow anomalies. : p CERT EXP33-C
  396    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 394 settings-parser.c 396 p

[ Top of Report | Procedure Table | Contents ]







setting_link_add
(491 to 516 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 509 Pointer not checked for null before use : link CERT EXP08-C,EXP34-C
  508    


[ Top of Report | Procedure Table | Contents ]







get_deflist
(518 to 561 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 546 Pointer not checked for null before use : new_link.info CERT EXP08-C,EXP34-C
  538    
M 557 Pointer not checked for null before use : new_link.info CERT EXP08-C,EXP34-C
  538    
M 551 Pointer not checked for null before use : list CERT EXP08-C,EXP34-C
  550    
M 546 Pointer not checked for null before use : full_key CERT EXP08-C,EXP34-C
  545    
M 557 Pointer not checked for null before use : full_key CERT EXP08-C,EXP34-C
  555    


[ Top of Report | Procedure Table | Contents ]







settings_parse
(563 to 650 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 572 Pointer not checked for null before use : def CERT EXP08-C,EXP34-C
  574    
M 592 Pointer not checked for null before use : ptr CERT EXP08-C,EXP34-C
  585    
M 596 Pointer not checked for null before use : ptr CERT EXP08-C,EXP34-C
  585    
M 632 Pointer not checked for null before use : ptr CERT EXP08-C,EXP34-C
  585    
M 637 Pointer not checked for null before use : ptr CERT EXP08-C,EXP34-C
  585    
M 601 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  600    
M 607 Pointer not checked for null before use : error CERT EXP08-C,EXP34-C
  606    
M 637 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 570 Procedure contains UR data flow anomalies. : error CERT EXP33-C
  607    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 570 settings-parser.c 607 error

[ Top of Report | Procedure Table | Contents ]







settings_parse_strlist
(691 to 715 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 713 Pointer not checked for null before use : vkey CERT EXP08-C,EXP34-C
  712    
M 712 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  700    
M 706 Pointer not checked for null before use : items CERT EXP08-C,EXP34-C
  704    
M 714 Pointer not checked for null before use : vvalue CERT EXP08-C,EXP34-C
  701    
M 698 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  705    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 698 settings-parser.c 705 count

[ Top of Report | Procedure Table | Contents ]







settings_parse_keyvalue
(717 to 737 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 724 Pointer not checked for null before use : link CERT EXP08-C,EXP34-C
  723    


[ Top of Report | Procedure Table | Contents ]







settings_parse_is_valid_key
(739 to 746 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 742 Procedure contains UR data flow anomalies. : def CERT EXP33-C
  745    
M 743 Procedure contains UR data flow anomalies. : link CERT EXP33-C
  745    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 742 settings-parser.c 745 def
settings-parser.c 743 settings-parser.c 745 link

[ Top of Report | Procedure Table | Contents ]







settings_parse_unalias
(748 to 762 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 757 Pointer not checked for null before use : def CERT EXP08-C,EXP34-C
  759    
M 758 Pointer not checked for null before use : link CERT EXP08-C,EXP34-C
  754    


[ Top of Report | Procedure Table | Contents ]







settings_parse_get_value
(764 to 778 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 773 Pointer not checked for null before use : link CERT EXP08-C,EXP34-C
  771    


[ Top of Report | Procedure Table | Contents ]







settings_parse_is_changed
(780 to 794 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 789 Pointer not checked for null before use : link CERT EXP08-C,EXP34-C
  787    


[ Top of Report | Procedure Table | Contents ]







settings_parse_line
(796 to 821 settings-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







settings_translate_lf
(829 to 842 settings-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







settings_parse_stream
(844 to 875 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 865 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  864    


[ Top of Report | Procedure Table | Contents ]







settings_parse_file
(914 to 932 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 928 Pointer not checked for null before use : input CERT EXP08-C,EXP34-C
  927    


[ Top of Report | Procedure Table | Contents ]







settings_parse_environ
(939 to 975 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 966 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  964    
M 956 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  954    
M 957 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  954    
M 956 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  954    
M 957 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  954    
M 964 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  963    
M 965 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  964    
M 965 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  963    
M 945 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  960    
M 942 Procedure contains UR data flow anomalies. : sorted_envs_arr.arr.buffer CERT EXP33-C
  958    
M 942 Procedure contains UR data flow anomalies. : sorted_envs_arr.arr.element_size CERT EXP33-C
  958    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 945 settings-parser.c 960 count
settings-parser.c 942 settings-parser.c 958 sorted_envs_arr.arr.buffer
settings-parser.c 942 settings-parser.c 958 sorted_envs_arr.arr.element_size

[ Top of Report | Procedure Table | Contents ]







settings_parse_exec
(977 to 1028 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1012 Pointer not checked for null before use : argv CERT EXP08-C,EXP34-C
  1007    
M 1017 Pointer not checked for null before use : input CERT EXP08-C,EXP34-C
  1016    
M 983 Procedure contains UR data flow anomalies. : fd CERT EXP33-C
  985    
M 983 Procedure contains UR data flow anomalies. : status CERT EXP33-C
  1020    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 983 settings-parser.c 985 fd
settings-parser.c 983 settings-parser.c 1020 status

[ Top of Report | Procedure Table | Contents ]







settings_check
(1050 to 1079 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1063 Pointer not checked for null before use : def CERT EXP08-C,EXP34-C
  1063    
M 1073 Pointer not checked for null before use : children CERT EXP08-C,EXP34-C
  1071    
M 1068 Pointer not checked for null before use : val CERT EXP08-C,EXP34-C
  1067    
M 1056 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  1072    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 1056 settings-parser.c 1072 count

[ Top of Report | Procedure Table | Contents ]







settings_parse_set_key_expandeded
(1100 to 1121 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 1109 Pointer not checked for null before use : link CERT EXP08-C,EXP34-C
  1107    
M 1116 Pointer not checked for null before use : val CERT EXP08-C,EXP34-C
  1114    


[ Top of Report | Procedure Table | Contents ]







settings_parse_var_skip
(1130 to 1138 settings-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







settings_var_expand_info
(1140 to 1199 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1149 Pointer not checked for null before use : def CERT EXP08-C,EXP34-C
  1149    
M 1163 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  1150    
M 1184 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  1150    
M 1191 Pointer not checked for null before use : children CERT EXP08-C,EXP34-C
  1189    
M 1147 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  1190    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 1147 settings-parser.c 1190 count

[ Top of Report | Procedure Table | Contents ]







settings_var_expand
(1201 to 1211 settings-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







settings_vars_have_key
(1213 to 1273 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1222 Pointer not checked for null before use : def CERT EXP08-C,EXP34-C
  1222    
M 1236 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  1223    
M 1255 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  1223    
M 1262 Pointer not checked for null before use : children CERT EXP08-C,EXP34-C
  1260    
M 1220 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  1261    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 1220 settings-parser.c 1261 count

[ Top of Report | Procedure Table | Contents ]







settings_set_parent
(1275 to 1285 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 1284 Pointer not checked for null before use : ptr CERT EXP08-C,EXP34-C
  1283    


[ Top of Report | Procedure Table | Contents ]







setting_copy
(1287 to 1348 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1340 Pointer not checked for null before use : dup CERT EXP08-C,EXP34-C
  1339    
M 1339 Pointer not checked for null before use : strings CERT EXP08-C,EXP34-C
  1335    
M 1330 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  1337    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 1330 settings-parser.c 1337 count
settings-parser.c 1330 settings-parser.c 1338 count

[ Top of Report | Procedure Table | Contents ]







settings_dup
(1350 to 1388 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1364 Pointer not checked for null before use : def CERT EXP08-C,EXP34-C
  1364    
M 1369 Pointer not checked for null before use : src CERT EXP08-C,EXP34-C
  1365    
M 1366 Pointer not checked for null before use : dest_set CERT EXP08-C,EXP34-C
  1363    
M 1370 Pointer not checked for null before use : dest CERT EXP08-C,EXP34-C
  1368    
M 1379 Pointer not checked for null before use : children CERT EXP08-C,EXP34-C
  1376    
M 1381 Pointer not checked for null before use : (dest.arr)->buffer CERT EXP08-C,EXP34-C
  1377    
M 1381 Pointer not checked for null before use : (dest.arr)->element_size CERT EXP08-C,EXP34-C
  1377    
M 1368 Pointer not checked for null before use : src CERT EXP08-C,EXP34-C
  1365    
M 1368 Pointer not checked for null before use : dest CERT EXP08-C,EXP34-C
  1366    
M 1381 Pointer not checked for null before use : child_set CERT EXP08-C,EXP34-C
  1379    
M 1356 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  1377    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 1356 settings-parser.c 1377 count

[ Top of Report | Procedure Table | Contents ]







settings_changes_dup
(1390 to 1443 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1403 Pointer not checked for null before use : def CERT EXP08-C,EXP34-C
  1403    
M 1417 Pointer not checked for null before use : src CERT EXP08-C,EXP34-C
  1404    
M 1421 Pointer not checked for null before use : src CERT EXP08-C,EXP34-C
  1404    
M 1405 Pointer not checked for null before use : dest_set CERT EXP08-C,EXP34-C
  1402    
M 1422 Pointer not checked for null before use : dest CERT EXP08-C,EXP34-C
  1405    
M 1434 Pointer not checked for null before use : (dest.arr)->buffer CERT EXP08-C,EXP34-C
  1429    
M 1434 Pointer not checked for null before use : (dest.arr)->element_size CERT EXP08-C,EXP34-C
  1429    
M 1434 Pointer not checked for null before use : child_set CERT EXP08-C,EXP34-C
  1431    
M 1397 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  1429    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 1397 settings-parser.c 1429 count

[ Top of Report | Procedure Table | Contents ]







info_update_real
(1445 to 1516 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1472 Pointer not checked for null before use : new_define.list_info CERT EXP08-C,EXP34-C
  1470    
M 1472 Pointer not checked for null before use : new_define.key CERT EXP08-C,EXP34-C
  1470    
M 1478 Pointer not checked for null before use : new_defines CERT EXP08-C,EXP34-C
  1476    
M 1484 Pointer not checked for null before use : parent CERT EXP08-C,EXP34-C
  1480    
M 1504 Pointer not checked for null before use : new_parser.name CERT EXP08-C,EXP34-C
  1503    
M 1506 Pointer not checked for null before use : new_parser.info CERT EXP08-C,EXP34-C
  1503    
M 1506 Pointer not checked for null before use : new_parser.name CERT EXP08-C,EXP34-C
  1504    
M 1512 Pointer not checked for null before use : parent CERT EXP08-C,EXP34-C
  1509    
M 1491 Pointer not checked for null before use : parent_defaults CERT EXP08-C,EXP34-C
  1484    
M 1462 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  1459    
M 1472 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  1459    
M 1462 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  1459    
M 1472 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  1459    
M 1450 Procedure contains UR data flow anomalies. : defines.arr.buffer CERT EXP33-C
  1459    
M 1450 Procedure contains UR data flow anomalies. : defines.arr.element_size CERT EXP33-C
  1459    
M 1450 Procedure contains UR data flow anomalies. : defines.v CERT EXP33-C
  1459    
M 1450 Procedure contains UR data flow anomalies. : defines.v_modifiable CERT EXP33-C
  1459    
M 1451 Procedure contains UR data flow anomalies. : dynamic_parsers.arr.buffer CERT EXP33-C
  1494    
M 1451 Procedure contains UR data flow anomalies. : dynamic_parsers.arr.element_size CERT EXP33-C
  1494    
M 1451 Procedure contains UR data flow anomalies. : dynamic_parsers.v CERT EXP33-C
  1494    
M 1451 Procedure contains UR data flow anomalies. : dynamic_parsers.v_modifiable CERT EXP33-C
  1494    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 1450 settings-parser.c 1459 defines.arr.buffer
settings-parser.c 1450 settings-parser.c 1459 defines.arr.element_size
settings-parser.c 1450 settings-parser.c 1459 defines.v
settings-parser.c 1450 settings-parser.c 1459 defines.v_modifiable
settings-parser.c 1451 settings-parser.c 1494 dynamic_parsers.arr.buffer
settings-parser.c 1451 settings-parser.c 1494 dynamic_parsers.arr.element_size
settings-parser.c 1451 settings-parser.c 1494 dynamic_parsers.v
settings-parser.c 1451 settings-parser.c 1494 dynamic_parsers.v_modifiable

[ Top of Report | Procedure Table | Contents ]







settings_parser_update_children_parent
(1527 to 1551 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 1538 Pointer not checked for null before use : new_defs CERT EXP08-C,EXP34-C
  1537    
M 1539 Pointer not checked for null before use : new_defs CERT EXP08-C,EXP34-C
  1538    
M 1547 Pointer not checked for null before use : new_info CERT EXP08-C,EXP34-C
  1546    
M 1548 Pointer not checked for null before use : parent CERT EXP08-C,EXP34-C
  1539    


[ Top of Report | Procedure Table | Contents ]







settings_parser_dyn_update
(1553 to 1595 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 1568 Pointer not checked for null before use : new_parent CERT EXP08-C,EXP34-C
  1567    
M 1568 Pointer not checked for null before use : old_parent CERT EXP08-C,EXP34-C
  1566    
M 1589 Pointer not checked for null before use : new_info CERT EXP08-C,EXP34-C
  1588    
M 1591 Pointer not checked for null before use : new_dyn_parsers CERT EXP08-C,EXP34-C
  1586    
M 1580 Pointer not checked for null before use : new_roots CERT EXP08-C,EXP34-C
  1573    
M 1576 Pointer not checked for null before use : new_parent CERT EXP08-C,EXP34-C
  1569    
M 1594 Pointer not checked for null before use : new_dyn_parsers CERT EXP08-C,EXP34-C
  1584    


[ Top of Report | Procedure Table | Contents ]







settings_link_get_new
(1614 to 1656 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1655 Local structure returned in function result : new_link  
M 1648 Pointer not checked for null before use : new_sets CERT EXP08-C,EXP34-C
  1644    
M 1632 Pointer not checked for null before use : new_link CERT EXP08-C,EXP34-C
  1631    
M 1621 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  1645    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 1621 settings-parser.c 1645 count

[ Top of Report | Procedure Table | Contents ]







settings_parser_dup
(1658 to 1718 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1717 Local structure returned in function result : new_ctx  
M 1716 Pointer not checked for null before use : links CERT EXP08-C,EXP34-C
  1681    
M 1700 Pointer not checked for null before use : links CERT EXP08-C,EXP34-C
  1681    
M 1672 Pointer not checked for null before use : parser_pool CERT EXP08-C,EXP34-C
  1671    
M 1673 Pointer not checked for null before use : new_ctx CERT EXP08-C,EXP34-C
  1672    
M 1712 Pointer not checked for null before use : new_link CERT EXP08-C,EXP34-C
  1710    
M 1681 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1101 (Module 504)    
M 1666 Procedure contains UR data flow anomalies. : key CERT EXP33-C
  1709    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 1666 settings-parser.c 1709 key

[ Top of Report | Procedure Table | Contents ]







settings_changes_init
(1720 to 1753 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1734 Pointer not checked for null before use : def CERT EXP08-C,EXP34-C
  1734    
M 1743 Pointer not checked for null before use : dest_arr CERT EXP08-C,EXP34-C
  1739    
M 1739 Pointer not checked for null before use : dest_set CERT EXP08-C,EXP34-C
  1733    
M 1746 Pointer not checked for null before use : children CERT EXP08-C,EXP34-C
  1742    
M 1741 Pointer not checked for null before use : src_arr CERT EXP08-C,EXP34-C
  1738    
M 1748 Pointer not checked for null before use : set CERT EXP08-C,EXP34-C
  1746    
M 1728 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  1744    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 1728 settings-parser.c 1744 count

[ Top of Report | Procedure Table | Contents ]







settings_copy_deflist
(1755 to 1790 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1772 Pointer not checked for null before use : dest_arr CERT EXP08-C,EXP34-C
  1766    
M 1775 Pointer not checked for null before use : children CERT EXP08-C,EXP34-C
  1771    
M 1786 Pointer not checked for null before use : children CERT EXP08-C,EXP34-C
  1771    
M 1768 Pointer not checked for null before use : src_arr CERT EXP08-C,EXP34-C
  1765    
M 1776 Pointer not checked for null before use : child_set CERT EXP08-C,EXP34-C
  1775    
M 1783 Pointer not checked for null before use : dest_arr CERT EXP08-C,EXP34-C
  1782    
M 1788 Pointer not checked for null before use : child_set CERT EXP08-C,EXP34-C
  1786    
M 1763 Procedure contains UR data flow anomalies. : count CERT EXP33-C
  1773    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 1763 settings-parser.c 1773 count
settings-parser.c 1763 settings-parser.c 1774 count

[ Top of Report | Procedure Table | Contents ]







settings_copy_deflist_unique
(1792 to 1866 settings-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 1848 Pointer not checked for null before use : child_dest_link.info CERT EXP08-C,EXP34-C
  1821    
M 1824 Pointer not checked for null before use : src_carr CERT EXP08-C,EXP34-C
  1810    
M 1828 Pointer not checked for null before use : dest_carr CERT EXP08-C,EXP34-C
  1812    
M 1826 Pointer not checked for null before use : dest_arr CERT EXP08-C,EXP34-C
  1811    
M 1831 Pointer not checked for null before use : src_children CERT EXP08-C,EXP34-C
  1823    
M 1859 Pointer not checked for null before use : src_cchildren CERT EXP08-C,EXP34-C
  1824    
M 1836 Pointer not checked for null before use : dest_children CERT EXP08-C,EXP34-C
  1832    
M 1847 Pointer not checked for null before use : dest_cchildren CERT EXP08-C,EXP34-C
  1833    
M 1838 Pointer not checked for null before use : src_namep CERT EXP08-C,EXP34-C
  1831    
M 1814 Pointer not checked for null before use : src_arr CERT EXP08-C,EXP34-C
  1809    
M 1838 Pointer not checked for null before use : dest_namep CERT EXP08-C,EXP34-C
  1836    
M 1848 Pointer not checked for null before use : child_dest_link.change_struct CERT EXP08-C,EXP34-C
  1847    
M 1848 Pointer not checked for null before use : child_dest_link.set_struct CERT EXP08-C,EXP34-C
  1846    
M 1848 Pointer not checked for null before use : child_src_link.change_struct CERT EXP08-C,EXP34-C
  1845    
M 1848 Pointer not checked for null before use : child_src_link.set_struct CERT EXP08-C,EXP34-C
  1844    
M 1855 Pointer not checked for null before use : child_set CERT EXP08-C,EXP34-C
  1853    
M 1862 Pointer not checked for null before use : child_set CERT EXP08-C,EXP34-C
  1859    
M 1804 Procedure contains UR data flow anomalies. : ccount CERT EXP33-C
  1825    
M 1804 Procedure contains UR data flow anomalies. : dest_count CERT EXP33-C
  1834    
M 1804 Procedure contains UR data flow anomalies. : src_count CERT EXP33-C
  1825    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings-parser.c 1804 settings-parser.c 1825 ccount
settings-parser.c 1804 settings-parser.c 1834 dest_count
settings-parser.c 1804 settings-parser.c 1825 src_count

[ Top of Report | Procedure Table | Contents ]







settings_apply
(1868 to 1919 settings-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 1877 Pointer not checked for null before use : def CERT EXP08-C,EXP34-C
  1877    
M 1906 Pointer not checked for null before use : src CERT EXP08-C,EXP34-C
  1903    
M 1906 Pointer not checked for null before use : dest CERT EXP08-C,EXP34-C
  1904    


[ Top of Report | Procedure Table | Contents ]







settings_section_escape
(1937 to 1970 settings-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







parse_setting_from_defs
(53 to 78 settings.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 53 Procedure not called in code analysed : parse_setting_from_defs  


[ Top of Report | Procedure Table | Contents ]







settings_add_include
(95 to 126 settings.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







settings_read_real
(170 to 387 settings.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 230 Array Bound exceeded. CERT ARR30-C
M 230 Array Bound exceeded. CERT ARR30-C
M 296 Array Bound exceeded. CERT ARR30-C
M 289 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  288    
M 298 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  296    
M 326 Pointer not checked for null before use : section CERT EXP08-C,EXP34-C
  325    
M 206 Pointer not checked for null before use : input CERT EXP08-C,EXP34-C
  382    
M 358 Pointer not checked for null before use : errormsg CERT EXP08-C,EXP34-C
  202    
M 317 Pointer not checked for null before use : name CERT EXP08-C,EXP34-C
  301    
M 340 Pointer not checked for null before use : last_section_path CERT EXP08-C,EXP34-C
  347    
M 212 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  213    
M 264 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  258    
M 265 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  266    
M 269 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  269    
M 282 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  282    
M 302 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  303    
M 307 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  308    
M 293 Pointer not checked for null before use : line CERT EXP08-C,EXP34-C
  289    
M 272 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  264    
M 223 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  225    
M 202 Procedure contains UR data flow anomalies. : errormsg CERT EXP33-C
  177    
M 191 Procedure contains UR data flow anomalies. : next_section CERT EXP33-C
  177    
M 321 Procedure contains UR data flow anomalies. : next_section CERT EXP33-C
  177    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
settings.c 202 settings.c 386 errormsg
settings.c 202 settings.c 358 errormsg
settings.c 191 settings.c 316 next_section
settings.c 321 settings.c 316 next_section

[ Top of Report | Procedure Table | Contents ]







settings_read
(390 to 401 settings.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 390 Procedure not called in code analysed : settings_read  


[ Top of Report | Procedure Table | Contents ]



End of Code Review Report

Copyright © 2010 Liverpool Data Research Associates