LDRA Testbed ® Code Review Report

System : Dovecot-src-lib-mail






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:31:50
  • 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
6 47 S Array Bound exceeded. CERT ARR30-C
65 77 S Macro replacement list needs parentheses. CERT PRE02-C
45 78 S Macro parameter not in brackets. CERT PRE01-C,PRE02-C
1 483 S free parameter is not heap item. CERT MEM34-C
26 577 S Sizeof argument is a pointer. CERT EXP01-C
29 5 D Procedure contains UR data flow anomalies. CERT EXP33-C
212 45 D Pointer not checked for null before use CERT EXP08-C,EXP34-C
6 51 D Attempt to read from freed memory. CERT MEM30-C
68 69 D Procedure contains UR data flow anomalies. CERT EXP33-C
8 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
29 76 D Procedure not called in code analysed  


Number of Violations LDRA Code (O) Optional Standards CERT Code
2 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 213 program components, 102 (47.89 %) pass ( of which 0 conditionally pass ) and 111 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 i_stream_dot_read_some istream-dot.c 1 - 3 -
FAIL flush_pending istream-dot.c 1 - 6 -
Pass flush_dot_state istream-dot.c 0 0
Pass i_stream_dot_eof istream-dot.c 0 0
Pass i_stream_dot_return istream-dot.c 0 0
FAIL i_stream_dot_read istream-dot.c 2 - 1 -
Pass i_stream_dot_stat istream-dot.c 0 0
FAIL i_stream_create_dot istream-dot.c 1 - 10 -
Pass buffer_get_data buffer.h analysed in istream-header-filter.c 0 0
Pass buffer_get_used_size buffer.h analysed in istream-header-filter.c 0 0
Pass array_create_from_buffer_i array.h analysed in istream-header-filter.c 0 0
FAIL array_create_i array.h analysed in istream-header-filter.c 1 - 17 -
Pass array_free_i array.h analysed in istream-header-filter.c 0 0
Pass array_is_created_i array.h analysed in istream-header-filter.c 0 0
Pass array_get_pool_i array.h analysed in istream-header-filter.c 0 0
Pass array_clear_i array.h analysed in istream-header-filter.c 0 0
Pass array_append_i array.h analysed in istream-header-filter.c 0 0
Pass array_append_array_i array.h analysed in istream-header-filter.c 0 0
Pass array_insert_i array.h analysed in istream-header-filter.c 0 0
Pass array_delete_i array.h analysed in istream-header-filter.c 0 0
Pass array_get_i array.h analysed in istream-header-filter.c 0 0
Pass array_idx_i array.h analysed in istream-header-filter.c 0 0
Pass array_get_modifiable_i array.h analysed in istream-header-filter.c 0 0
Pass array_append_space_i array.h analysed in istream-header-filter.c 0 0
Pass array_copy array.h analysed in istream-header-filter.c 0 0
Pass array_count_i array.h analysed in istream-header-filter.c 0 0
Pass i_stream_header_filter_destroy istream-header-filter.c 0 0
FAIL read_mixed istream-header-filter.c 2 - 5 -
Pass cmp_uint istream-header-filter.c 0 0
Pass match_line_changed istream-header-filter.c 0 0
Pass add_eol istream-header-filter.c 0 0
FAIL read_header istream-header-filter.c 2 - 3 -
Pass i_stream_header_filter_read istream-header-filter.c 0 0
Pass i_stream_header filter_seek_to_header istream-header-filter.c 0 0
FAIL skip_header istream-header-filter.c 1 - 7 -
Pass stream_reset_to istream-header-filter.c 0 0
FAIL i_stream_header_filter_seek istream-header-filter.c 1 - 2 -
Pass i_stream_header_filter_sync istream-header-filter.c 0 0
FAIL i_stream_header_filter_stat istream-header-filter.c 1 - 4 -
FAIL i_stream_create_header_filter istream-header-filter.c 1 - 2 -
Pass mbox_parse_month mbox-from.c 0 0
Pass mbox_parse_year mbox-from.c 0 0
FAIL mbox_from_parse mbox-from.c 1 - 3 -
FAIL mbox_from_create mbox-from.c 1 - 10 -
FAIL add_address message-address.c 1 - 28 -
Pass parse_local_part message-address.c 0 0
Pass parse_domain message-address.c 0 0
Pass parse_domain_list message-address.c 0 0

Quality Result   Procedure   Source File   Unique Violations   Failure Density  
          (Viols/R.Line %)  
Pass parse_angle_addr message-address.c 0 0
Pass parse_name_addr message-address.c 0 0
Pass parse_addr_spec message-address.c 0 0
Pass add_fixed_address message-address.c 0 0
FAIL parse_mailbox message-address.c 1 - 4 -
FAIL parse_group message-address.c 1 - 2 -
FAIL parse_address message-address.c 1 - 6 -
Pass parse_address_list message-address.c 0 0
FAIL message_address_parse_real message-address.c 1 - 50 -
Pass message_address_parse message-address.c 0 0
Pass message_address_write message-address.c 0 0
Pass parse_timezone message-date.c 0 0
Pass next_token message-date.c 0 0
FAIL message_date_parser_tokens message-date.c 1 - 4 -
FAIL message_date_parse message-date.c 1 - 15 -
FAIL message_date_create message-date.c 1 - 3 -
Pass uni_utf8_char_bytes unichar.h analysed in message-decoder.c 0 0
FAIL message_decoder_init message-decoder.c 1 - 33 -
FAIL message_decoder_deinit message-decoder.c 1 - 24 -
FAIL parse_content_transfer_encoding message-decoder.c 1 - 4 -
FAIL parse_content_type message-decoder.c 1 - 5 -
Pass message_decode_header message-decoder.c 0 0
Pass translation_buf_decode message-decoder.c 0 0
Pass message_decode_ ody_init_charset message-decoder.c 0 0
FAIL message_decode_body message-decoder.c 1 - 2 -
FAIL message_decoder_decode_next_block message-decoder.c 1 - 6 -
FAIL message_decoder_decode_reset message-decoder.c 1 - 10 -
FAIL message_header_decode_encoded message-header-decode.c 1 - 5 -
Pass is_only_lwsp message-header-decode.c 0 0
FAIL message_header_decode message-header-decode.c 1 - 1 -
FAIL decode_utf8_callback message-header-decode.c 2 - 5 -
FAIL message_header_decode_utf8 message-header-decode.c 1 - 13 -
Pass input_idx_need_encoding message-header-encode.c 0 0
Pass str_last_line_len message-header-encode.c 0 0
Pass message_header_encode_q message-header-encode.c 0 0
FAIL message_header_encode_b message-header-encode.c 1 - 1 -
FAIL message_header_encode message-header-encode.c 1 - 3 -
FAIL message_parse_header_init message-header-parser.c 1 - 18 -
FAIL message_parse_header_deinit message-header-parser.c 1 - 10 -
FAIL message_parse_header_next message-header-parser.c 2 - 2 -
Pass message_parse_header_has_nuls message-header-parser.c 0 0
FAIL message_parse_header message-header-parser.c 2 - 13 -
FAIL get_untokenized_msgid message-id.c 1 - 5 -
FAIL strip_lwsp message-id.c 1 - 6 -
FAIL message_id_get_next message-id.c 1 - 5 -
Pass boundary_find message-parser.c 0 0
Pass parse_body_add_block message-parser.c 0 0
Pass message_parser_read_more message-parser.c 0 0
FAIL message_part_append message-parser.c 1 - 19 -

Quality Result   Procedure   Source File   Unique Violations   Failure Density  
          (Viols/R.Line %)  
FAIL parse_next_body_multipart_init message-parser.c 1 - 10 -
Pass parse_next_body message_rfc822_init message-parser.c 0 0
FAIL boundary_line_find message-parser.c 1 - 2 -
Pass parse_next_mime_header_init message-parser.c 0 0
FAIL parse_next_body_skip_boundary_line message-parser.c 1 - 2 -
Pass parse_part_finish message-parser.c 0 0
FAIL parse_next_body_to_boundary message-parser.c 1 - 1 -
FAIL parse_next_body_to_eof message-parser.c 1 - 6 -
FAIL parse_content_type message-parser.c 1 - 2 -
FAIL parse_next_header message-parser.c 1 - 1 -
Pass parse_next_header_init message-parser.c 0 0
Pass preparsed_parse_eof message-parser.c 0 0
Pass preparsed_skip_to_next message-parser.c 0 0
Pass preparsed_parse_body_finish message-parser.c 0 0
Pass preparsed_parse_body_more message-parser.c 0 0
Pass preparsed_parse_body_init message-parser.c 0 0
Pass preparsed_parse_finish_header message-parser.c 0 0
FAIL preparsed_parse_next_header message-parser.c 1 - 6 -
FAIL preparsed_parse_next_header_init message-parser.c 1 - 4 -
FAIL message_parser_init message-parser.c 1 - 15 -
FAIL message_parser_init_from_parts message-parser.c 1 - 38 -
Pass message_parser_deinit message-parser.c 0 0
Pass message_parser_ arse_next_block message-parser.c 0 0
FAIL message_parser_parse_header message-parser.c 2 - 15 -
FAIL message_parser_parse_body message-parser.c 2 - 21 -
FAIL part_serialize message-part-serialize.c 1 - 12 -
Pass message_part_serialize message-part-serialize.c 0 0
Pass read_next message-part-serialize.c 0 0
FAIL message_part_deserialize_part message-part-serialize.c 2 - 6 -
FAIL message_part_deserialize message-part-serialize.c 2 - 26 -
FAIL message_search_init_real message-search.c 1 - 3 -
Pass message_search_init message-search.c 0 0
FAIL message_search_deinit message-search.c 1 - 47 -
FAIL parse_content_type message-search.c 1 - 6 -
Pass handle_header message-search.c 0 0
Pass search_header message-search.c 0 0
Pass message_search_more_decoded2 message-search.c 0 0
FAIL message_search_more message-search.c 2 - 7 -
Pass message_search_more_decoded message-search.c 0 0
Pass message_search_reset message-search.c 0 0
FAIL message_search_msg_real message-search.c 2 - 14 -
Pass message_search_msg message-search.c 0 0
FAIL message_skip_virtual message-send.c 1 - 2 -
FAIL message_get_header_size message-size.c 2 - 3 -
FAIL message_get_body_size message-size.c 2 - 4 -
Pass message_size_add message-size.c 0 0
FAIL quoted_printable_decode quoted-printable.c 1 - 1 -
Pass quoted_printable_q_decode quoted-printable.c 0 0
Pass rfc2231_parameter_cmp rfc2231-parser.c 0 0

Quality Result   Procedure   Source File   Unique Violations   Failure Density  
          (Viols/R.Line %)  
Pass rfc2231_escape rfc2231-parser.c 0 0
FAIL rfc2231_parse rfc2231-parser.c 2 - 6 -
FAIL rfc822_parser_init rfc822-parser.c 1 - 17 -
FAIL rfc822_skip_comment rfc822-parser.c 1 - 1 -
Pass rfc822_skip_lwsp rfc822-parser.c 0 0
FAIL rfc822_parse_atom rfc822-parser.c 1 - 3 -
FAIL rfc822_parse_dot_atom rfc822-parser.c 1 - 1 -
FAIL rfc822_parse_mime_token rfc822-parser.c 1 - 3 -
FAIL rfc822_parse_quoted_string rfc822-parser.c 1 - 3 -
FAIL rfc822_parse_atom_or_dot rfc822-parser.c 1 - 3 -
Pass rfc822_parse_phrase rfc822-parser.c 0 0
FAIL rfc822_parse_domain_literal rfc822-parser.c 1 - 2 -
Pass rfc822_parse_domain rfc822-parser.c 0 0
Pass rfc822_parse_content_type rfc822-parser.c 0 0
FAIL rfc822_parse_content_param rfc822-parser.c 1 - 1 -
FAIL test_istream_dot_one test-istream-dot.c 2 - 3 -
FAIL test_istream_dot test-istream-dot.c 1 - 3 -
Pass main test-istream-dot.c 0 0
Pass filter_callback test-istream-header-filter.c 0 0
FAIL test_istream_filter test-istream-header-filter.c 2 - 6 -
Pass main test-istream-header-filter.c 0 0
FAIL test_mbox_from_parse test-mbox-from.c 4 - 18 -
FAIL test_mbox_from_create test-mbox-from.c 1 - 6 -
Pass main test-mbox-from.c 0 0
Pass cmp_addr test-message-address.c 0 0
FAIL test_message_address test-message-address.c 2 - 2 -
Pass main test-message-address.c 0 0
FAIL test_message_date_parse test-message-date.c 2 - 15 -
Pass main test-message-date.c 0 0
FAIL message_header_decode_utf8 test-message-decoder.c 1 - 25 -
FAIL quoted_printable_decode test-message-decoder.c 1 - 8 -
FAIL charset_to_utf8_begin test-message-decoder.c 1 - 25 -
FAIL charset_to_utf8_end test-message-decoder.c 1 - 50 -
FAIL charset_is_utf8 test-message-decoder.c 1 - 25 -
FAIL charset_to_utf8 test-message-decoder.c 1 - 25 -
FAIL test_message_decoder test-message-decoder.c 1 - 8 -
Pass main test-message-decoder.c 0 0
FAIL charset_is_utf8 test-message-header-decode.c 1 - 25 -
FAIL charset_to_utf8_begin test-message-header-decode.c 1 - 33 -
FAIL charset_to_utf8_end test-message-header-decode.c 1 - 50 -
FAIL charset_to_utf8 test-message-header-decode.c 1 - 25 -
FAIL test_message_header_decode test-message-header-decode.c 2 - 8 -
Pass main test-message-header-decode.c 0 0
Pass verify_q test-message-header-encode.c 0 0
FAIL test_message_header_encode_q test-message-header-encode.c 1 - 4 -
FAIL verify_b test-message-header-encode.c 1 - 4 -
FAIL test_message_header_encode_b test-message-header-encode.c 1 - 4 -
FAIL test_message_header_encode test-message-header-encode.c 2 - 11 -
Pass main test-message-header-encode.c 0 0

Quality Result   Procedure   Source File   Unique Violations   Failure Density  
          (Viols/R.Line %)  
FAIL test_message_header_parser_one test-message-header-parser.c 1 - 2 -
FAIL test_message_header_parser test-message-header-parser.c 2 - 20 -
Pass hdr_write test-message-header-parser.c 0 0
FAIL test_message_header_parser_partial test-message-header-parser.c 1 - 10 -
FAIL test_message_header_parser_long_lines_str test-message-header-parser.c 1 - 8 -
FAIL test_message_header_parser_long_lines test-message-header-parser.c 2 - 9 -
Pass main test-message-header-parser.c 0 0
FAIL test_message_id_get_next test-message-id.c 2 - 7 -
Pass main test-message-id.c 0 0
Pass msg_parts_cmp test-message-parser.c 0 0
FAIL test_message_parser_small_blocks test-message-parser.c 2 - 5 -
Pass main test-message-parser.c 0 0
FAIL test_quoted_printable_decode test-quoted-printable.c 1 - 2 -
FAIL test_quoted_printable_q_decode test-quoted-printable.c 2 - 10 -
Pass main test-quoted-printable.c 0 0
FAIL test_rfc2231_parser test-rfc2231-parser.c 1 - 4 -
Pass main test-rfc2231-parser.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-mail\test-rfc2231-parser.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\test-quoted-printable.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\test-message-parser.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\test-message-id.c Mon Apr 05 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\test-message-header-parser.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\test-message-header-encode.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\test-message-header-decode.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\test-message-decoder.c Fri Mar 26 20:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\test-message-date.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\test-message-address.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\test-mbox-from.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\test-istream-header-filter.c Sun Apr 04 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\test-istream-dot.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\rfc822-parser.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\rfc2231-parser.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\quoted-printable.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\message-size.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\message-send.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\message-search.c Fri Mar 26 20:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\message-part-serialize.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\message-parser.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\message-id.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\message-header-parser.c Sun Apr 04 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\message-header-encode.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\message-header-decode.c Sun Apr 04 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\message-decoder.c Mon Apr 05 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\message-date.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\message-address.c Sun Apr 04 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\mbox-from.c Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\istream-header-filter.c Tue Jun 01 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\lib-mail\istream-dot.c Fri Mar 26 07:16:36 2010




Global Basic Information

Number of procedures: 212
Number of locally uncalled procedures: 10
Maximum loop depth: 3
Total Cyclomatic Complexity: 1229
Number of reformatted executable lines: 10823
Number of lines of comments: 19215



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

Code File: Src Line Violation Standard
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
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 message-header-parser.h: 66 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M message-parser.h: 98 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
M message-parser.h: 116 Macro parameter not in brackets. CERT PRE01-C,PRE02-C

Code File: Src Line Violation Standard
M istream-header-filter.h: 33 Macro parameter not in brackets. CERT PRE01-C,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 rfc822-parser.c: 35 Declaration types do not match across a system. : rfc822_atext_chars CERT ARR31-C
  13 (rfc822-parser.h)    
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-message-header-parser.c: 48 Pointer not checked for null before use : hdr CERT EXP08-C,EXP34-C
  47    
M test-message-header-parser.c: 57 Pointer not checked for null before use : hdr CERT EXP08-C,EXP34-C
  56    
M test-message-header-parser.c: 72 Pointer not checked for null before use : hdr CERT EXP08-C,EXP34-C
  71    
M test-message-header-parser.c: 81 Pointer not checked for null before use : hdr CERT EXP08-C,EXP34-C
  80    
M test-message-header-parser.c: 100 Pointer not checked for null before use : hdr CERT EXP08-C,EXP34-C
  99    
M test-message-header-parser.c: 118 Pointer not checked for null before use : hdr CERT EXP08-C,EXP34-C
  117    

[ Top of Report | Procedure Table | Contents ]







i_stream_dot_read_some
(24 to 50 istream-dot.c) - FAIL

Standards Violation Summary

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

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


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
istream-dot.c 27 istream-dot.c 30 size

[ Top of Report | Procedure Table | Contents ]







flush_pending
(52 to 64 istream-dot.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







i_stream_dot_read
(107 to 212 istream-dot.c) - FAIL

Standards Violation Summary

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

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


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
istream-dot.c 112 istream-dot.c 141 size

[ Top of Report | Procedure Table | Contents ]







i_stream_create_dot
(220 to 239 istream-dot.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 225 Pointer not checked for null before use : dstream CERT EXP08-C,EXP34-C
  224    
M 224 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1101 (Module 458)    


[ Top of Report | Procedure Table | Contents ]







array_create_i
(93 to 101 array.h analysed in istream-header-filter.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 ]







read_mixed
(54 to 87 istream-header-filter.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 79 Pointer not checked for null before use : data CERT EXP08-C,EXP34-C
  76    
M 58 Procedure contains UR data flow anomalies. : pos CERT EXP33-C
  66    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
istream-header-filter.c 58 istream-header-filter.c 66 pos

[ Top of Report | Procedure Table | Contents ]







read_header
(112 to 274 istream-header-filter.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 122 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 181 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  180    
M 181 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  180    
M 270 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  249    
M 118 Procedure contains UR data flow anomalies. : matched CERT EXP33-C
  253    
M 116 Procedure contains UR data flow anomalies. : pos CERT EXP33-C
  236    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
istream-header-filter.c 118 istream-header-filter.c 253 matched
istream-header-filter.c 116 istream-header-filter.c 236 pos

[ Top of Report | Procedure Table | Contents ]







skip_header
(321 to 339 istream-header-filter.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 323 Procedure contains UR data flow anomalies. : pos CERT EXP33-C
  336    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
istream-header-filter.c 323 istream-header-filter.c 336 pos

[ Top of Report | Procedure Table | Contents ]







i_stream_header_filter_seek
(350 to 388 istream-header-filter.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







i_stream_header_filter_stat
(396 to 417 istream-header-filter.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 406 Local structure returned in function result : st  


[ Top of Report | Procedure Table | Contents ]







i_stream_create_header_filter
(420 to 462 istream-header-filter.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 433 Pointer not checked for null before use : mstream CERT EXP08-C,EXP34-C
  432    


[ Top of Report | Procedure Table | Contents ]







mbox_from_parse
(54 to 246 mbox-from.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 108 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  105    
M 113 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  111    
M 118 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  116    
M 126 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  124    
M 130 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  128    
M 162 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  159    
M 170 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  169    
M 241 Pointer not checked for null before use : time_r CERT EXP08-C,EXP34-C
  240    
M 156 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  132    
M 190 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  173    
M 214 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  200    
M 225 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  216    
M 177 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  173    
M 124 Pointer not checked for null before use : msg CERT EXP08-C,EXP34-C
  120    
M 244 Pointer not checked for null before use : msg_start CERT EXP08-C,EXP34-C
  66    
M 244 Pointer not checked for null before use : sender_end CERT EXP08-C,EXP34-C
  88    


[ Top of Report | Procedure Table | Contents ]







mbox_from_create
(248 to 300 mbox-from.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 255 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  254    
M 264 Pointer not checked for null before use : tm CERT EXP08-C,EXP34-C
  261    
M 264 Pointer not checked for null before use : weekdays CERT EXP08-C,EXP34-C
  13    
M 268 Pointer not checked for null before use : months CERT EXP08-C,EXP34-C
  17    


[ Top of Report | Procedure Table | Contents ]







add_address
(19 to 33 message-address.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 25 Sizeof argument is a pointer. CERT EXP01-C
M 26 Sizeof argument is a pointer. CERT EXP01-C
M 25 Pointer not checked for null before use : addr CERT EXP08-C,EXP34-C
  23    
M 29 Pointer not checked for null before use : addr CERT EXP08-C,EXP34-C
  25    
M 31 Pointer not checked for null before use : addr CERT EXP08-C,EXP34-C
  25    


[ Top of Report | Procedure Table | Contents ]







parse_mailbox
(190 to 207 message-address.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 199 Pointer not checked for null before use : start CERT EXP08-C,EXP34-C
  196    


[ Top of Report | Procedure Table | Contents ]







parse_group
(209 to 261 message-address.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 259 Pointer not checked for null before use : ctx.first_addr CERT EXP08-C,EXP34-C
  229    
M 259 Pointer not checked for null before use : ctx.last_addr CERT EXP08-C,EXP34-C
  229    


[ Top of Report | Procedure Table | Contents ]







parse_address
(263 to 276 message-address.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 272 Pointer not checked for null before use : start CERT EXP08-C,EXP34-C
  269    


[ Top of Report | Procedure Table | Contents ]







message_address_parse_real
(303 to 322 message-address.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 321 Local structure returned in function result : ctx  
M 320 Pointer not checked for null before use : ctx.str CERT EXP08-C,EXP34-C
  313    
M 320 Pointer not checked for null before use : ctx.addr.domain CERT EXP08-C,EXP34-C
  309    
M 320 Pointer not checked for null before use : ctx.addr.mailbox CERT EXP08-C,EXP34-C
  309    
M 320 Pointer not checked for null before use : ctx.addr.route CERT EXP08-C,EXP34-C
  309    
M 320 Pointer not checked for null before use : ctx.addr.name CERT EXP08-C,EXP34-C
  309    
M 320 Pointer not checked for null before use : ctx.addr.next CERT EXP08-C,EXP34-C
  309    
M 320 Pointer not checked for null before use : ctx.last_addr CERT EXP08-C,EXP34-C
  309    
M 320 Pointer not checked for null before use : ctx.first_addr CERT EXP08-C,EXP34-C
  309    
M 320 Pointer not checked for null before use : ctx.pool CERT EXP08-C,EXP34-C
  312    


[ Top of Report | Procedure Table | Contents ]







message_date_parser_tokens
(109 to 231 message-date.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 228 Pointer not checked for null before use : timezone_offset_r CERT EXP08-C,EXP34-C
  220    
M 184 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  181    
M 198 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  197    
M 200 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  197    
M 208 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  207    
M 210 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  207    
M 220 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  213    
M 182 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  181    
M 137 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  124    
M 152 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  148    
M 165 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  161    


[ Top of Report | Procedure Table | Contents ]







message_date_parse
(233 to 248 message-date.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 241 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 243 Pointer not checked for null before use : ctx.str CERT EXP08-C,EXP34-C
  242    


[ Top of Report | Procedure Table | Contents ]







message_date_create
(250 to 272 message-date.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 257 Pointer not checked for null before use : tm CERT EXP08-C,EXP34-C
  256    


[ Top of Report | Procedure Table | Contents ]







message_decoder_init
(51 to 62 message-decoder.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 61 Local structure returned in function result : ctx  
M 57 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  56    
M 60 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1101 (Module 463)    


[ Top of Report | Procedure Table | Contents ]







message_decoder_deinit
(64 to 79 message-decoder.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 77 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  76    
M 77 Attempt to read from freed memory. : default_pool CERT MEM30-C
M 78 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  77    
M 78 Attempt to read from freed memory. : default_pool CERT MEM30-C
M 78 Pointer not checked for null before use : (ctx)->charset_trans_charset CERT EXP08-C,EXP34-C
  76    
M 78 Pointer not checked for null before use : (ctx)->content_charset CERT EXP08-C,EXP34-C
  77    


[ Top of Report | Procedure Table | Contents ]







parse_content_transfer_encoding
(81 to 112 message-decoder.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







parse_content_type
(114 to 139 message-decoder.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







message_decode_body
(250 to 365 message-decoder.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 354 Sizeof argument is a pointer. CERT EXP01-C
M 350 Pointer not checked for null before use : data CERT EXP08-C,EXP34-C
  347    
M 318 Pointer not checked for null before use : data CERT EXP08-C,EXP34-C
  269    


[ Top of Report | Procedure Table | Contents ]







message_decoder_decode_next_block
(367 to 389 message-decoder.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 380 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  373    
M 386 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  373    
M 380 Pointer not checked for null before use : ctx.content_charset CERT EXP08-C,EXP34-C
  373    


[ Top of Report | Procedure Table | Contents ]







message_decoder_decode_reset
(391 to 397 message-decoder.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







message_header_decode_encoded
(11 to 57 message-header-decode.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 17 Procedure contains UR data flow anomalies. : start_pos CERT EXP33-C
  32    
M 17 Procedure contains UR data flow anomalies. : t CERT EXP33-C
  148    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-header-decode.c 17 message-header-decode.c 32 start_pos

[ Top of Report | Procedure Table | Contents ]







message_header_decode
(71 to 134 message-header-decode.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







decode_utf8_callback
(143 to 181 message-header-decode.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 178 Pointer not checked for null before use : t CERT EXP08-C,EXP34-C
  169    
M 148 Procedure contains UR data flow anomalies. : t CERT EXP33-C
  169    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-header-decode.c 17 message-header-decode.c 178 t
message-header-decode.c 148 message-header-decode.c 169 t
message-header-decode.c 148 message-header-decode.c 178 t

[ Top of Report | Procedure Table | Contents ]







message_header_decode_utf8
(183 to 194 message-header-decode.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 193 Local structure returned in function result : ctx  
M 192 Pointer not checked for null before use : ctx.dest CERT EXP08-C,EXP34-C
  190    


[ Top of Report | Procedure Table | Contents ]







message_header_encode_b
(84 to 126 message-header-encode.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







message_header_encode
(128 to 174 message-header-encode.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 146 Array Bound exceeded. CERT ARR30-C
M 146 Array Bound exceeded. CERT ARR30-C
M 146 Array Bound exceeded. CERT ARR30-C


[ Top of Report | Procedure Table | Contents ]







message_parse_header_init
(25 to 41 message-header-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 40 Local structure returned in function result : ctx  
M 32 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  31    
M 36 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1101 (Module 466)    


[ Top of Report | Procedure Table | Contents ]







message_parse_header_deinit
(43 to 53 message-header-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







message_parse_header_next
(55 to 373 message-header-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 310 Array Bound exceeded. CERT ARR30-C
M 310 Array Bound exceeded. CERT ARR30-C
M 267 Procedure contains UR data flow anomalies. : ctx.value CERT EXP33-C
M 65 Procedure contains UR data flow anomalies. : hdr CERT EXP33-C
  386    
M 359 Procedure contains UR data flow anomalies. : hdr_ctx.full_value CERT EXP33-C
M 259 Procedure contains UR data flow anomalies. : hdr_ctx.middle CERT EXP33-C
M 267 Procedure contains UR data flow anomalies. : hdr_ctx.value CERT EXP33-C
M 59 Procedure contains UR data flow anomalies. : msg CERT EXP33-C
  89    
M 60 Procedure contains UR data flow anomalies. : size CERT EXP33-C
  89    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-header-parser.c 267 message-header-parser.c 331 ctx.value
message-header-parser.c 59 message-header-parser.c 89 msg
message-header-parser.c 60 message-header-parser.c 89 size

[ Top of Report | Procedure Table | Contents ]







message_parse_header
(381 to 397 message-header-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 393 Pointer not checked for null before use : hdr_ctx CERT EXP08-C,EXP34-C
  389    
M 391 Pointer not checked for null before use : hdr CERT EXP08-C,EXP34-C
  390    
M 386 Procedure contains UR data flow anomalies. : hdr CERT EXP33-C
  390    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-header-parser.c 386 message-header-parser.c 390 hdr
message-header-parser.c 65 message-header-parser.c 391 hdr
message-header-parser.c 386 message-header-parser.c 391 hdr
message-header-parser.c 359 message-header-parser.c 390 hdr_ctx.full_value
message-header-parser.c 259 message-header-parser.c 390 hdr_ctx.middle
message-header-parser.c 267 message-header-parser.c 390 hdr_ctx.value

[ Top of Report | Procedure Table | Contents ]







get_untokenized_msgid
(8 to 42 message-id.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 13 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 40 Pointer not checked for null before use : parser.data CERT EXP08-C,EXP34-C
  31    


[ Top of Report | Procedure Table | Contents ]







strip_lwsp
(44 to 61 message-id.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 56 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  58    
M 60 Pointer not checked for null before use : dest CERT EXP08-C,EXP34-C
  56    
M 58 Pointer not checked for null before use : dest CERT EXP08-C,EXP34-C
  56    


[ Top of Report | Procedure Table | Contents ]







message_id_get_next
(63 to 127 message-id.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 85 Pointer not checked for null before use : msgid CERT EXP08-C,EXP34-C
  82    
M 120 Pointer not checked for null before use : msgid_p CERT EXP08-C,EXP34-C
  113    
M 125 Pointer not checked for null before use : msgid_p CERT EXP08-C,EXP34-C
  102    
M 75 Pointer not checked for null before use : msgid CERT EXP08-C,EXP34-C
  80    
M 86 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  85    
M 120 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  118    


[ Top of Report | Procedure Table | Contents ]







message_part_append
(150 to 170 message-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 169 Local structure returned in function result : part  
M 156 Pointer not checked for null before use : part CERT EXP08-C,EXP34-C
  155    
M 165 Pointer not checked for null before use : list CERT EXP08-C,EXP34-C
  164    


[ Top of Report | Procedure Table | Contents ]







parse_next_body_multipart_init
(172 to 185 message-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







boundary_line_find
(194 to 240 message-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







parse_next_body_skip_boundary_line
(251 to 278 message-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 273 Pointer not checked for null before use : ctx.skip CERT EXP08-C,EXP34-C
  258    


[ Top of Report | Procedure Table | Contents ]







parse_next_body_to_boundary
(321 to 404 message-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 341 Pointer not checked for null before use : ctx.skip CERT EXP08-C,EXP34-C
  330    


[ Top of Report | Procedure Table | Contents ]







parse_next_body_to_eof
(406 to 417 message-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 415 Pointer not checked for null before use : (ctx)->skip CERT EXP08-C,EXP34-C
  412    


[ Top of Report | Procedure Table | Contents ]







parse_content_type
(419 to 462 message-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







parse_next_header
(467 to 561 message-parser.c) - FAIL

Standards Violation Summary

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

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


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-parser.c 472 message-parser.c 482 size

[ Top of Report | Procedure Table | Contents ]







preparsed_parse_next_header
(658 to 692 message-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 661 Procedure contains UR data flow anomalies. : hdr CERT EXP33-C
  665    
M 662 Procedure contains UR data flow anomalies. : size CERT EXP33-C
  667    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-parser.c 661 message-parser.c 665 hdr
message-parser.c 662 message-parser.c 667 size

[ Top of Report | Procedure Table | Contents ]







preparsed_parse_next_header_init
(694 to 708 message-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







message_parser_init
(710 to 730 message-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 729 Local structure returned in function result : ctx  
M 719 Pointer not checked for null before use : pool CERT EXP08-C,EXP34-C
  718    
M 720 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  719    


[ Top of Report | Procedure Table | Contents ]







message_parser_init_from_parts
(732 to 744 message-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 743 Local structure returned in function result : ctx  
M 740 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 741 Pointer not checked for null before use : ctx CERT EXP08-C,EXP34-C
  740    


[ Top of Report | Procedure Table | Contents ]







message_parser_parse_header
(799 to 821 message-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 808 Pointer not checked for null before use : block.part CERT EXP08-C,EXP34-C
  807    
M 804 Procedure contains UR data flow anomalies. : block.data CERT EXP33-C
  807    
M 804 Procedure contains UR data flow anomalies. : block.hdr CERT EXP33-C
  808    
M 804 Procedure contains UR data flow anomalies. : block.part CERT EXP33-C
  808    
M 804 Procedure contains UR data flow anomalies. : block.size CERT EXP33-C
  807    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-parser.c 804 message-parser.c 807 block.data
message-parser.c 804 message-parser.c 808 block.hdr
message-parser.c 804 message-parser.c 808 block.part
message-parser.c 804 message-parser.c 807 block.size

[ Top of Report | Procedure Table | Contents ]







message_parser_parse_body
(824 to 836 message-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 833 Pointer not checked for null before use : block.part CERT EXP08-C,EXP34-C
  831    
M 828 Procedure contains UR data flow anomalies. : block.data CERT EXP33-C
  831    
M 828 Procedure contains UR data flow anomalies. : block.hdr CERT EXP33-C
  833    
M 828 Procedure contains UR data flow anomalies. : block.part CERT EXP33-C
  833    
M 828 Procedure contains UR data flow anomalies. : block.size CERT EXP33-C
  831    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-parser.c 828 message-parser.c 831 block.data
message-parser.c 828 message-parser.c 833 block.hdr
message-parser.c 828 message-parser.c 833 block.part
message-parser.c 828 message-parser.c 831 block.size

[ Top of Report | Procedure Table | Contents ]







part_serialize
(42 to 98 message-part-serialize.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 52 Sizeof argument is a pointer. CERT EXP01-C
M 56 Sizeof argument is a pointer. CERT EXP01-C
M 59 Sizeof argument is a pointer. CERT EXP01-C
M 61 Sizeof argument is a pointer. CERT EXP01-C
M 63 Sizeof argument is a pointer. CERT EXP01-C
M 65 Sizeof argument is a pointer. CERT EXP01-C
M 70 Sizeof argument is a pointer. CERT EXP01-C


[ Top of Report | Procedure Table | Contents ]







message_part_deserialize_part
(118 to 240 message-part-serialize.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 137 Sizeof argument is a pointer. CERT EXP01-C
M 143 Sizeof argument is a pointer. CERT EXP01-C
M 153 Sizeof argument is a pointer. CERT EXP01-C
M 157 Sizeof argument is a pointer. CERT EXP01-C
M 167 Sizeof argument is a pointer. CERT EXP01-C
M 171 Sizeof argument is a pointer. CERT EXP01-C
M 177 Sizeof argument is a pointer. CERT EXP01-C
M 238 Pointer not checked for null before use : first_part CERT EXP08-C,EXP34-C
  129    
M 218 Pointer not checked for null before use : ctx.data CERT EXP08-C,EXP34-C
  190    
M 135 Pointer not checked for null before use : part CERT EXP08-C,EXP34-C
  134    
M 125 Procedure contains UR data flow anomalies. : children_count CERT EXP33-C
  199    
M 129 Procedure contains UR data flow anomalies. : first_part CERT EXP33-C
  124    
M 130 Procedure contains UR data flow anomalies. : next_part CERT EXP33-C
  124    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-part-serialize.c 125 message-part-serialize.c 199 children_count
message-part-serialize.c 129 message-part-serialize.c 238 first_part
message-part-serialize.c 130 message-part-serialize.c 233 next_part

[ Top of Report | Procedure Table | Contents ]







message_part_deserialize
(242 to 265 message-part-serialize.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 255 Pointer not checked for null before use : ctx.error CERT EXP08-C,EXP34-C
  254    
M 252 Pointer not checked for null before use : ctx.data CERT EXP08-C,EXP34-C
  251    
M 254 Pointer not checked for null before use : ctx.pool CERT EXP08-C,EXP34-C
  250    
M 254 Pointer not checked for null before use : ctx.end CERT EXP08-C,EXP34-C
  252    
M 254 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 247 Procedure contains UR data flow anomalies. : part CERT EXP33-C
  254    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-part-serialize.c 247 message-part-serialize.c 254 part

[ Top of Report | Procedure Table | Contents ]







message_search_init_real
(27 to 54 message-search.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







message_search_deinit
(68 to 78 message-search.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 75 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  74    
M 76 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  75    
M 76 Attempt to read from freed memory. : default_pool CERT MEM30-C
M 77 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  76    
M 77 Attempt to read from freed memory. : default_pool CERT MEM30-C
M 77 Pointer not checked for null before use : (ctx)->key CERT EXP08-C,EXP34-C
  75    
M 77 Pointer not checked for null before use : (ctx)->key_charset CERT EXP08-C,EXP34-C
  76    
M 74 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  Ref. Line -1101 (Module 470)    


[ Top of Report | Procedure Table | Contents ]







parse_content_type
(80 to 95 message-search.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







message_search_more
(140 to 186 message-search.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 176 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  149    
M 144 Procedure contains UR data flow anomalies. : block.data CERT EXP33-C
  176    
M 144 Procedure contains UR data flow anomalies. : block.hdr CERT EXP33-C
  179    
M 144 Procedure contains UR data flow anomalies. : block.part CERT EXP33-C
  185    
M 144 Procedure contains UR data flow anomalies. : block.size CERT EXP33-C
  185    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-search.c 144 message-search.c 176 block.data
message-search.c 144 message-search.c 179 block.hdr
message-search.c 144 message-search.c 185 block.part
message-search.c 144 message-search.c 185 block.size

[ Top of Report | Procedure Table | Contents ]







message_search_msg_real
(210 to 249 message-search.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 233 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  221    
M 243 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  233    
M 218 Procedure contains UR data flow anomalies. : new_parts CERT EXP33-C
  243    
M 217 Procedure contains UR data flow anomalies. : raw_block.data CERT EXP33-C
  231    
M 217 Procedure contains UR data flow anomalies. : raw_block.hdr CERT EXP33-C
  233    
M 217 Procedure contains UR data flow anomalies. : raw_block.part CERT EXP33-C
  233    
M 217 Procedure contains UR data flow anomalies. : raw_block.size CERT EXP33-C
  231    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-search.c 218 message-search.c 243 new_parts
message-search.c 217 message-search.c 231 raw_block.data
message-search.c 217 message-search.c 233 raw_block.hdr
message-search.c 217 message-search.c 233 raw_block.part
message-search.c 217 message-search.c 231 raw_block.size

[ Top of Report | Procedure Table | Contents ]







message_skip_virtual
(10 to 70 message-send.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 14 Procedure contains UR data flow anomalies. : msg CERT EXP33-C
  25    
M 15 Procedure contains UR data flow anomalies. : size CERT EXP33-C
  25    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-send.c 14 message-send.c 25 msg
message-send.c 15 message-send.c 25 size

[ Top of Report | Procedure Table | Contents ]







message_get_header_size
(8 to 65 message-size.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 60 Pointer not checked for null before use : hdr CERT EXP08-C,EXP34-C
  15    
M 11 Procedure contains UR data flow anomalies. : msg CERT EXP33-C
  20    
M 12 Procedure contains UR data flow anomalies. : size CERT EXP33-C
  20    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-size.c 11 message-size.c 20 msg
message-size.c 12 message-size.c 20 size

[ Top of Report | Procedure Table | Contents ]







message_get_body_size
(67 to 118 message-size.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 107 Pointer not checked for null before use : body CERT EXP08-C,EXP34-C
  74    
M 70 Procedure contains UR data flow anomalies. : msg CERT EXP33-C
  79    
M 71 Procedure contains UR data flow anomalies. : size CERT EXP33-C
  79    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
message-size.c 70 message-size.c 79 msg
message-size.c 71 message-size.c 79 size

[ Top of Report | Procedure Table | Contents ]







quoted_printable_decode
(11 to 84 quoted-printable.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 27 Array Bound exceeded. CERT ARR30-C


[ Top of Report | Procedure Table | Contents ]







rfc2231_parse
(40 to 172 rfc2231-parser.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 : rfc2231_param.value CERT EXP08-C,EXP34-C
  89    
M 90 Pointer not checked for null before use : rfc2231_param.key CERT EXP08-C,EXP34-C
  88    
M 166 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  164    
M 163 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  161    
M 165 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  163    
M 142 Pointer not checked for null before use : key CERT EXP08-C,EXP34-C
  137    
M 96 Pointer not checked for null before use : value CERT EXP08-C,EXP34-C
  59    
M 74 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  72    
M 85 Pointer not checked for null before use : p CERT EXP08-C,EXP34-C
  83    
M 88 Pointer not checked for null before use : p2 CERT EXP08-C,EXP34-C
  70    
M 148 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  115    
M 90 Pointer not checked for null before use : (arr)->buffer CERT EXP08-C,EXP34-C
  58    
M 90 Pointer not checked for null before use : (arr)->element_size CERT EXP08-C,EXP34-C
  58    
M 43 Procedure contains UR data flow anomalies. : result.arr.buffer CERT EXP33-C
  102    
M 43 Procedure contains UR data flow anomalies. : result.arr.element_size CERT EXP33-C
  102    
M 44 Procedure contains UR data flow anomalies. : rfc2231_params_arr.arr.buffer CERT EXP33-C
  110    
M 44 Procedure contains UR data flow anomalies. : rfc2231_params_arr.arr.element_size CERT EXP33-C
  110    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
rfc2231-parser.c 43 rfc2231-parser.c 102 result.arr.buffer
rfc2231-parser.c 43 rfc2231-parser.c 102 result.arr.element_size
rfc2231-parser.c 44 rfc2231-parser.c 110 rfc2231_params_arr.arr.buffer
rfc2231-parser.c 44 rfc2231-parser.c 110 rfc2231_params_arr.arr.element_size

[ Top of Report | Procedure Table | Contents ]







rfc822_parser_init
(54 to 62 rfc822-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







rfc822_skip_comment
(64 to 106 rfc822-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 92 Pointer not checked for null before use : start CERT EXP08-C,EXP34-C
  74    


[ Top of Report | Procedure Table | Contents ]







rfc822_parse_atom
(126 to 148 rfc822-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 146 Pointer not checked for null before use : start CERT EXP08-C,EXP34-C
  138    


[ Top of Report | Procedure Table | Contents ]







rfc822_parse_dot_atom
(150 to 189 rfc822-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







rfc822_parse_mime_token
(191 to 205 rfc822-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 203 Pointer not checked for null before use : start CERT EXP08-C,EXP34-C
  195    


[ Top of Report | Procedure Table | Contents ]







rfc822_parse_quoted_string
(207 to 242 rfc822-parser.c) - FAIL

Standards Violation Summary

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


[ Top of Report | Procedure Table | Contents ]







rfc822_parse_atom_or_dot
(244 to 267 rfc822-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 265 Pointer not checked for null before use : start CERT EXP08-C,EXP34-C
  257    


[ Top of Report | Procedure Table | Contents ]







rfc822_parse_domain_literal
(301 to 330 rfc822-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 323 Pointer not checked for null before use : start CERT EXP08-C,EXP34-C
  316    


[ Top of Report | Procedure Table | Contents ]







rfc822_parse_content_param
(372 to 418 rfc822-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 416 Pointer not checked for null before use : key_r CERT EXP08-C,EXP34-C
  415    


[ Top of Report | Procedure Table | Contents ]







test_istream_dot_one
(15 to 102 test-istream-dot.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 27 Pointer not checked for null before use : test_input CERT EXP08-C,EXP34-C
  26    
M 46 Pointer not checked for null before use : input CERT EXP08-C,EXP34-C
  27    
M 91 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  43    
M 20 Procedure contains UR data flow anomalies. : size CERT EXP33-C
  68    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
test-istream-dot.c 20 test-istream-dot.c 68 size

[ Top of Report | Procedure Table | Contents ]







test_istream_dot
(104 to 125 test-istream-dot.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 104 Procedure not called in code analysed : test_istream_dot  


[ Top of Report | Procedure Table | Contents ]







test_istream_filter
(18 to 65 test-istream-header-filter.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 31 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 36 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 42 Pointer not checked for null before use : filter2 CERT EXP08-C,EXP34-C
  36    
M 36 Pointer not checked for null before use : filter CERT EXP08-C,EXP34-C
  31    
M 27 Procedure contains UR data flow anomalies. : size CERT EXP33-C
  52    
C 18 Procedure not called in code analysed : test_istream_filter  


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
test-istream-header-filter.c 27 test-istream-header-filter.c 52 size

[ Top of Report | Procedure Table | Contents ]







test_mbox_from_parse
(17 to 81 test-mbox-from.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 61 Sizeof argument is a pointer. CERT EXP01-C
M 69 free parameter is not heap item. CERT MEM34-C
M 76 Pointer not checked for null before use : tm CERT EXP08-C,EXP34-C
  75    
M 62 Pointer not checked for null before use : input CERT EXP08-C,EXP34-C
  63    
M 69 Pointer not checked for null before use : sender CERT EXP08-C,EXP34-C
  63    
M 68 Pointer not checked for null before use : sender CERT EXP08-C,EXP34-C
  63    
M 69 Attempt to read from freed memory. : default_pool CERT MEM30-C
M 69 Attempt to read from freed memory. : sender CERT MEM30-C
M 58 Procedure contains UR data flow anomalies. : tz CERT EXP33-C
  67    
C 17 Procedure not called in code analysed : test_mbox_from_parse  


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
test-mbox-from.c 58 test-mbox-from.c 67 tz

[ Top of Report | Procedure Table | Contents ]







test_mbox_from_create
(83 to 93 test-mbox-from.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 83 Procedure not called in code analysed : test_mbox_from_create  


[ Top of Report | Procedure Table | Contents ]







test_message_address
(18 to 112 test-message-address.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 55 Sizeof argument is a pointer. CERT EXP01-C
M 60 Pointer not checked for null before use : group CERT EXP08-C,EXP34-C
  59    
M 70 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  58    
M 74 Pointer not checked for null before use : wanted_string CERT EXP08-C,EXP34-C
  72    
C 18 Procedure not called in code analysed : test_message_address  


[ Top of Report | Procedure Table | Contents ]







test_message_date_parse
(13 to 57 test-message-date.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 49 Sizeof argument is a pointer. CERT EXP01-C
M 45 Procedure contains UR data flow anomalies. : t CERT EXP33-C
  53    
M 46 Procedure contains UR data flow anomalies. : tz CERT EXP33-C
  54    
C 13 Procedure not called in code analysed : test_message_date_parse  


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
test-message-date.c 45 test-message-date.c 53 t
test-message-date.c 46 test-message-date.c 54 tz

[ Top of Report | Procedure Table | Contents ]







message_header_decode_utf8
(12 to 17 test-message-decoder.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 12 Procedure not called in code analysed : message_header_decode_utf8  


[ Top of Report | Procedure Table | Contents ]







quoted_printable_decode
(19 to 26 test-message-decoder.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 19 Procedure not called in code analysed : quoted_printable_decode  


[ Top of Report | Procedure Table | Contents ]







charset_to_utf8_begin
(28 to 34 test-message-decoder.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 28 Procedure not called in code analysed : charset_to_utf8_begin  


[ Top of Report | Procedure Table | Contents ]







charset_to_utf8_end
(35 to 35 test-message-decoder.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 35 Procedure not called in code analysed : charset_to_utf8_end  


[ Top of Report | Procedure Table | Contents ]







charset_is_utf8
(36 to 36 test-message-decoder.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 36 Procedure not called in code analysed : charset_is_utf8  


[ Top of Report | Procedure Table | Contents ]







charset_to_utf8
(38 to 44 test-message-decoder.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 38 Procedure not called in code analysed : charset_to_utf8  


[ Top of Report | Procedure Table | Contents ]







test_message_decoder
(46 to 91 test-message-decoder.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 68 Pointer not checked for null before use : input.data CERT EXP08-C,EXP34-C
  56    
M 68 Pointer not checked for null before use : output.data CERT EXP08-C,EXP34-C
  57    
M 71 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  68    
M 74 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  71    
M 78 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  74    
M 88 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  84    
M 84 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  78    
C 46 Procedure not called in code analysed : test_message_decoder  


[ Top of Report | Procedure Table | Contents ]







charset_is_utf8
(10 to 10 test-message-header-decode.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 10 Procedure not called in code analysed : charset_is_utf8  


[ Top of Report | Procedure Table | Contents ]







charset_to_utf8_begin
(12 to 14 test-message-header-decode.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 12 Procedure not called in code analysed : charset_to_utf8_begin  


[ Top of Report | Procedure Table | Contents ]







charset_to_utf8_end
(15 to 15 test-message-header-decode.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 15 Procedure not called in code analysed : charset_to_utf8_end  


[ Top of Report | Procedure Table | Contents ]







charset_to_utf8
(17 to 23 test-message-header-decode.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
C 17 Procedure not called in code analysed : charset_to_utf8  


[ Top of Report | Procedure Table | Contents ]







test_message_header_decode
(25 to 49 test-message-header-decode.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 41 Sizeof argument is a pointer. CERT EXP01-C
M 42 Pointer not checked for null before use : dest CERT EXP08-C,EXP34-C
  40    
C 25 Procedure not called in code analysed : test_message_header_decode  


[ Top of Report | Procedure Table | Contents ]







test_message_header_encode_q
(50 to 75 test-message-header-encode.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 58 Pointer not checked for null before use : input CERT EXP08-C,EXP34-C
  52    
M 63 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  53    
C 50 Procedure not called in code analysed : test_message_header_encode_q  


[ Top of Report | Procedure Table | Contents ]







verify_b
(77 to 134 test-message-header-encode.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 81 Procedure contains UR data flow anomalies. : buf.data CERT EXP33-C
  83    
M 81 Procedure contains UR data flow anomalies. : buf.priv CERT EXP33-C
  83    
M 81 Procedure contains UR data flow anomalies. : buf.used CERT EXP33-C
  83    
M 80 Procedure contains UR data flow anomalies. : bufdata CERT EXP33-C
  83    


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
test-message-header-encode.c 81 test-message-header-encode.c 83 buf.data
test-message-header-encode.c 81 test-message-header-encode.c 83 buf.priv
test-message-header-encode.c 81 test-message-header-encode.c 83 buf.used
test-message-header-encode.c 80 test-message-header-encode.c 83 bufdata

[ Top of Report | Procedure Table | Contents ]







test_message_header_encode_b
(136 to 161 test-message-header-encode.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 144 Pointer not checked for null before use : input CERT EXP08-C,EXP34-C
  138    
M 149 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  139    
C 136 Procedure not called in code analysed : test_message_header_encode_b  


[ Top of Report | Procedure Table | Contents ]







test_message_header_encode
(163 to 182 test-message-header-encode.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 176 Sizeof argument is a pointer. CERT EXP01-C
M 177 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  172    
C 163 Procedure not called in code analysed : test_message_header_encode  


[ Top of Report | Procedure Table | Contents ]







test_message_header_parser_one
(21 to 35 test-message-header-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 31 Pointer not checked for null before use : hdr CERT EXP08-C,EXP34-C
  30    


[ Top of Report | Procedure Table | Contents ]







test_message_header_parser
(126 to 151 test-message-header-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 143 Pointer not checked for null before use : parser CERT EXP08-C,EXP34-C
  142    
M 141 Pointer not checked for null before use : input CERT EXP08-C,EXP34-C
  138    
M 142 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  144    
M 134 Procedure contains UR data flow anomalies. : hdr_size.lines CERT EXP33-C
  142    
M 134 Procedure contains UR data flow anomalies. : hdr_size.physical_size CERT EXP33-C
  142    
M 134 Procedure contains UR data flow anomalies. : hdr_size.virtual_size CERT EXP33-C
  142    
C 126 Procedure not called in code analysed : test_message_header_parser  


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
test-message-header-parser.c 134 test-message-header-parser.c 142 hdr_size.lines
test-message-header-parser.c 134 test-message-header-parser.c 142 hdr_size.physical_size
test-message-header-parser.c 134 test-message-header-parser.c 142 hdr_size.virtual_size

[ Top of Report | Procedure Table | Contents ]







test_message_header_parser_partial
(167 to 195 test-message-header-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 178 Pointer not checked for null before use : input CERT EXP08-C,EXP34-C
  177    
M 181 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
M 189 Pointer not checked for null before use : parser CERT EXP08-C,EXP34-C
  181    
M 185 Pointer not checked for null before use : hdr CERT EXP08-C,EXP34-C
  184    
M 191 Pointer not checked for null before use : str CERT EXP08-C,EXP34-C
  180    
C 167 Procedure not called in code analysed : test_message_header_parser_partial  


[ Top of Report | Procedure Table | Contents ]







test_message_header_parser_long_lines_str
(197 to 217 test-message-header-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 208 Pointer not checked for null before use : input CERT EXP08-C,EXP34-C
  207    
M 215 Pointer not checked for null before use : parser CERT EXP08-C,EXP34-C
  210    


[ Top of Report | Procedure Table | Contents ]







test_message_header_parser_long_lines
(219 to 240 test-message-header-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 235 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  229    
M 223 Procedure contains UR data flow anomalies. : hdr_size.lines CERT EXP33-C
  229    
M 223 Procedure contains UR data flow anomalies. : hdr_size.physical_size CERT EXP33-C
  229    
M 223 Procedure contains UR data flow anomalies. : hdr_size.virtual_size CERT EXP33-C
  229    
C 219 Procedure not called in code analysed : test_message_header_parser_long_lines  


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
test-message-header-parser.c 223 test-message-header-parser.c 229 hdr_size.lines
test-message-header-parser.c 223 test-message-header-parser.c 229 hdr_size.physical_size
test-message-header-parser.c 223 test-message-header-parser.c 229 hdr_size.virtual_size

[ Top of Report | Procedure Table | Contents ]







test_message_id_get_next
(7 to 34 test-message-id.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 23 Sizeof argument is a pointer. CERT EXP01-C
M 32 Sizeof argument is a pointer. CERT EXP01-C
M 25 Pointer not checked for null before use : msgid CERT EXP08-C,EXP34-C
  24    
C 7 Procedure not called in code analysed : test_message_id_get_next  


[ Top of Report | Procedure Table | Contents ]







test_message_parser_small_blocks
(70 to 129 test-message-parser.c) - FAIL

Standards Violation Summary

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

Code Line Violation Standard
M 112 Pointer not checked for null before use : parts CERT EXP08-C,EXP34-C
  88    
M 104 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  88    
M 123 Pointer not checked for null before use : default_pool CERT EXP08-C,EXP34-C
  104    
M 124 Pointer not checked for null before use : (parts2)->children CERT EXP08-C,EXP34-C
  105    
M 85 Pointer not checked for null before use : pool CERT EXP08-C,EXP34-C
  81    
M 85 Pointer not checked for null before use : input CERT EXP08-C,EXP34-C
  82    
M 75 Procedure contains UR data flow anomalies. : block.size CERT EXP33-C
  86    
M 75 Procedure contains UR data flow anomalies. : block.data CERT EXP33-C
  86    
C 70 Procedure not called in code analysed : test_message_parser_small_blocks  


Possible UR Anomalies

The following variables may be referenced before being given a value

File Undefine File Reference Variable
test-message-parser.c 75 test-message-parser.c 86 block.size
test-message-parser.c 75 test-message-parser.c 86 block.data

[ Top of Report | Procedure Table | Contents ]







test_quoted_printable_decode
(15 to 60 test-quoted-printable.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 39 Pointer not checked for null before use : buf CERT EXP08-C,EXP34-C
  36    
C 15 Procedure not called in code analysed : test_quoted_printable_decode  


[ Top of Report | Procedure Table | Contents ]







test_quoted_printable_q_decode
(62 to 84 test-quoted-printable.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 77 Sizeof argument is a pointer. CERT EXP01-C
M 78 Pointer not checked for null before use : buf CERT EXP08-C,EXP34-C
  76    
C 62 Procedure not called in code analysed : test_quoted_printable_q_decode  


[ Top of Report | Procedure Table | Contents ]







test_rfc2231_parser
(8 to 41 test-rfc2231-parser.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 35 Pointer not checked for null before use : NULL CERT EXP08-C,EXP34-C
C 8 Procedure not called in code analysed : test_rfc2231_parser  


[ Top of Report | Procedure Table | Contents ]



End of Code Review Report

Copyright © 2010 Liverpool Data Research Associates