LDRA Testbed Code Review Report

LDRA Testbed ® Code Review Report

# System : Dovecot-src-doveadm

Overall Result: FAIL

Report Production | Report Configuration | Analysis phases
--- | --- | ---
C/C++ LDRA Testbed Version: 8.3.0 Config. File: C:\Testbed\CCPP_830_Release\C\sate_creport.dat Produced On: Mon Aug 09 2010 at 17:17:27 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

- Totals of Violations for each Standard
- Table of Procedure Results
- Table of Source Files in System
- Table of Global Basic Information

Report on Program Components

- Quality Results Global Program and Selected Procedures

## Overall Quality Summary

#### Totals for Violated Quality Standards

Number of Violations | LDRA Code | (M) Mandatory Standards | CERT Code
--- | --- | --- | ---
1 | 47 S | Array Bound exceeded. | CERT ARR30-C
81 | 77 S | Macro replacement list needs parentheses. | CERT PRE02-C
59 | 78 S | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
1 | 403 S | Negative (or potentially negative) shift. | CERT INT34-C
2 | 480 S | String function params access same variable. | CERT DCL33-C
5 | 484 S | Attempt to use already freed object. | CERT MEM31-C
9 | 486 S | Insufficient formats in output function. | CERT FIO00-C
5 | 489 S | Insufficient space for operation. | CERT DCL33-C,FIO43-C
10 | 577 S | Sizeof argument is a pointer. | CERT EXP01-C
52 | 5 D | Procedure contains UR data flow anomalies. | CERT EXP33-C
290 | 45 D | Pointer not checked for null before use | CERT EXP08-C,EXP34-C
2 | 51 D | Attempt to read from freed memory. | CERT MEM30-C
24 | 57 D | Global not initialised at declaration. | CERT EXP33-C
130 | 69 D | Procedure contains UR data flow anomalies. | CERT EXP33-C
11 | 77 D | Local structure returned in function result |
7 | 86 D | User input not checked before use. | CERT FIO30-C
49 | 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
--- | --- | --- | ---
1 | 80 D | Potentially unused function return value. | CERT FIO04-C

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

### OVERALL RESULT: FAIL

Out of 276 program components, 102 (36.96 %) pass ( of which 0 conditionally pass ) and 174 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 doveadm-auth.c |  | 0 |  | 0 |
Pass |  | buffer_get_used_size |  | buffer.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_create_from_buffer_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
FAIL |  | array_create_i |  | array.h analysed in doveadm-auth.c |  | 1 | - |  | 17 | - |
Pass |  | array_free_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_is_created_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_get_pool_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_clear_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_append_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_append_array_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_insert_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_delete_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_get_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_idx_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_get_modifiable_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_append_space_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_copy |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
Pass |  | array_count_i |  | array.h analysed in doveadm-auth.c |  | 0 |  | 0 |
FAIL |  | cmd_user_input |  | doveadm-auth.c |  | 1 | - |  | 7 | - |
Pass |  | auth_callback |  | doveadm-auth.c |  | 0 |  | 0 |
FAIL |  | auth_connected |  | doveadm-auth.c |  | 1 | - |  | 18 | - |
FAIL |  | cmd_auth_input |  | doveadm-auth.c |  | 1 | - |  | 9 | - |
Pass |  | auth_user_info_parse |  | doveadm-auth.c |  | 0 |  | 0 |
FAIL |  | cmd_user_list |  | doveadm-auth.c |  | 1 | - |  | 6 | - |
FAIL |  | auth_cmd_common |  | doveadm-auth.c |  | 1 | - |  | 2 | - |
FAIL |  | cmd_auth |  | doveadm-auth.c |  | 1 | - |  | 60 | - |
FAIL |  | cmd_user |  | doveadm-auth.c |  | 1 | - |  | 60 | - |
Pass |  | director_send |  | doveadm-director.c |  | 0 |  | 0 |
Pass |  | director_connect |  | doveadm-director.c |  | 0 |  | 0 |
Pass |  | director_disconnect |  | doveadm-director.c |  | 0 |  | 0 |
FAIL |  | cmd_director_init |  | doveadm-director.c |  | 1 | - |  | 16 | - |
FAIL |  | cmd_director_status_user |  | doveadm-director.c |  | 1 | - |  | 7 | - |
FAIL |  | cmd_director_status |  | doveadm-director.c |  | 1 | - |  | 8 | - |
FAIL |  | cmd_director_add |  | doveadm-director.c |  | 1 | - |  | 5 | - |
FAIL |  | cmd_director_remove |  | doveadm-director.c |  | 1 | - |  | 8 | - |
Pass |  | cmd_director_flush_all |  | doveadm-director.c |  | 0 |  | 0 |
FAIL |  | cmd_director_flush |  | doveadm-director.c |  | 1 | - |  | 7 | - |
Pass |  | doveadm_registe _director_commands |  | doveadm-director.c |  | 0 |  | 0 |
FAIL |  | dump_hdr |  | doveadm-dump-index.c |  | 1 | - |  | 2 | - |
FAIL |  | dump_extension_header |  | doveadm-dump-index.c |  | 1 | - |  | 6 | - |
FAIL |  | dump_extensions |  | doveadm-dump-index.c |  | 1 | - |  | 2 | - |
FAIL |  | dump_keywords |  | doveadm-dump-index.c |  | 1 | - |  | 6 | - |
Pass |  | cache_decision2str |  | doveadm-dump-index.c |  | 0 |  | 0 |
Pass |  | cache_type2str |  | doveadm-dump-index.c |  | 0 |  | 0 |
FAIL |  | dump_cache_hdr |  | doveadm-dump-index.c |  | 1 | - |  | 3 | - |
FAIL |  | dump_cache |  | doveadm-dump-index.c |  | 1 | - |  | 16 | - |
FAIL |  | flags2str |  | doveadm-dump-index.c |  | 1 | - |  | 2 | - |
FAIL |  | dump_record |  | doveadm-dump-index.c |  | 1 | - |  | 6 | - |

`Quality Result` |  | `Procedure` |  | `Source File` |  | `Unique Violations` |  | `Failure Density` |
`` |  |  |  |  | `(Viols/R.Line %)` |
Pass |  | dir_has_index |  | doveadm-dump-index.c |  | 0 |  | 0 |
Pass |  | path_open_index |  | doveadm-dump-index.c |  | 0 |  | 0 |
FAIL |  | cmd_dump_index |  | doveadm-dump-index.c |  | 1 | - |  | 4 | - |
Pass |  | test_dump_index |  | doveadm-dump-index.c |  | 0 |  | 0 |
FAIL |  | dump_hdr |  | doveadm-dump-log.c |  | 1 | - |  | 6 | - |
Pass |  | mail_transactio _header_has_modseq |  | doveadm-dump-log.c |  | 0 |  | 0 |
Pass |  | log_record_type |  | doveadm-dump-log.c |  | 0 |  | 0 |
Pass |  | print_data |  | doveadm-dump-log.c |  | 0 |  | 0 |
FAIL |  | print_try_uint |  | doveadm-dump-log.c |  | 1 | - |  | 7 | - |
FAIL |  | log_header_update |  | doveadm-dump-log.c |  | 1 | - |  | 2 | - |
FAIL |  | log_record_print |  | doveadm-dump-log.c |  | 1 | - |  | 3 | - |
FAIL |  | dump_record |  | doveadm-dump-log.c |  | 1 | - |  | 7 | - |
Pass |  | cmd_dump_log |  | doveadm-dump-log.c |  | 0 |  | 0 |
FAIL |  | test_dump_log |  | doveadm-dump-log.c |  | 1 | - |  | 8 | - |
Pass |  | dump_record |  | doveadm-dump-mailboxlog.c |  | 0 |  | 0 |
Pass |  | cmd_dump_mailboxlog |  | doveadm-dump-mailboxlog.c |  | 0 |  | 0 |
FAIL |  | test_dump_mailboxlog |  | doveadm-dump-mailboxlog.c |  | 1 | - |  | 8 | - |
Pass |  | dump_hdr |  | doveadm-dump-thread.c |  | 0 |  | 0 |
FAIL |  | dump_record |  | doveadm-dump-thread.c |  | 1 | - |  | 7 | - |
FAIL |  | dump_block |  | doveadm-dump-thread.c |  | 1 | - |  | 4 | - |
FAIL |  | cmd_dump_thread |  | doveadm-dump-thread.c |  | 1 | - |  | 2 | - |
Pass |  | test_dump_thread |  | doveadm-dump-thread.c |  | 0 |  | 0 |
FAIL |  | dump_find_name |  | doveadm-dump.c |  | 1 | - |  | 5 | - |
FAIL |  | dump_find_test |  | doveadm-dump.c |  | 1 | - |  | 5 | - |
FAIL |  | cmd_dump |  | doveadm-dump.c |  | 1 | - |  | 2 | - |
FAIL |  | kick_aggregate_line |  | doveadm-kick.c |  | 1 | - |  | 6 | - |
FAIL |  | kick_pid_want_kicked |  | doveadm-kick.c |  | 1 | - |  | 1 | - |
FAIL |  | kick_print_kicked |  | doveadm-kick.c |  | 1 | - |  | 2 | - |
FAIL |  | kick_users |  | doveadm-kick.c |  | 1 | - |  | 5 | - |
FAIL |  | cmd_kick |  | doveadm-kick.c |  | 1 | - |  | 25 | - |
FAIL |  | cmd_log_test |  | doveadm-log.c |  | 1 | - |  | 6 | - |
Pass |  | cmd_log_reopen |  | doveadm-log.c |  | 0 |  | 0 |
FAIL |  | cmd_log_find_add |  | doveadm-log.c |  | 1 | - |  | 21 | - |
FAIL |  | cmd_log_find_syslog_files |  | doveadm-log.c |  | 1 | - |  | 5 | - |
Pass |  | log_type_find |  | doveadm-log.c |  | 0 |  | 0 |
FAIL |  | cmd_log_find_syslog_file_messages |  | doveadm-log.c |  | 1 | - |  | 9 | - |
FAIL |  | cmd_log_find_syslog_messages |  | doveadm-log.c |  | 1 | - |  | 9 | - |
FAIL |  | cmd_log_find_syslog |  | doveadm-log.c |  | 1 | - |  | 2 | - |
FAIL |  | cmd_log_find |  | doveadm-log.c |  | 1 | - |  | 10 | - |
Pass |  | doveadm_register_log_commands |  | doveadm-log.c |  | 0 |  | 0 |
Pass |  | module_get_context_id |  | module-context.h analysed in doveadm-mail-altmove.c |  | 0 |  | 0 |
FAIL |  | cmd_altmove_box |  | doveadm-mail-altmove.c |  | 1 | - |  | 19 | - |
Pass |  | ns_purge |  | doveadm-mail-altmove.c |  | 0 |  | 0 |
FAIL |  | cmd_altmove_run |  | doveadm-mail-altmove.c |  | 1 | - |  | 7 | - |
Pass |  | cmd_altmove_init |  | doveadm-mail-altmove.c |  | 0 |  | 0 |
FAIL |  | cmd_altmove_alloc |  | doveadm-mail-altmove.c |  | 1 | - |  | 50 | - |
FAIL |  | cmd_expunge_box |  | doveadm-mail-expunge.c |  | 1 | - |  | 19 | - |
Pass |  | expunge_search_ rgs_is_mailbox_or_ok |  | doveadm-mail-expunge.c |  | 0 |  | 0 |
Pass |  | expunge_search_ rgs_is_mailbox_ok |  | doveadm-mail-expunge.c |  | 0 |  | 0 |

`Quality Result` |  | `Procedure` |  | `Source File` |  | `Unique Violations` |  | `Failure Density` |
`` |  |  |  |  | `(Viols/R.Line %)` |
Pass |  | expunge_search_ rgs_is_msgset_or_ok |  | doveadm-mail-expunge.c |  | 0 |  | 0 |
Pass |  | expunge_search_ rgs_is_msgset_ok |  | doveadm-mail-expunge.c |  | 0 |  | 0 |
FAIL |  | cmd_expunge_run |  | doveadm-mail-expunge.c |  | 1 | - |  | 3 | - |
Pass |  | cmd_expunge_init |  | doveadm-mail-expunge.c |  | 0 |  | 0 |
FAIL |  | cmd_expunge_alloc |  | doveadm-mail-expunge.c |  | 1 | - |  | 50 | - |
Pass |  | fetch_user |  | doveadm-mail-fetch.c |  | 0 |  | 0 |
FAIL |  | fetch_mailbox |  | doveadm-mail-fetch.c |  | 1 | - |  | 13 | - |
FAIL |  | fetch_mailbox_guid |  | doveadm-mail-fetch.c |  | 1 | - |  | 15 | - |
Pass |  | fetch_seq |  | doveadm-mail-fetch.c |  | 0 |  | 0 |
Pass |  | fetch_uid |  | doveadm-mail-fetch.c |  | 0 |  | 0 |
FAIL |  | fetch_guid |  | doveadm-mail-fetch.c |  | 1 | - |  | 17 | - |
FAIL |  | fetch_flags |  | doveadm-mail-fetch.c |  | 1 | - |  | 13 | - |
FAIL |  | fetch_hdr |  | doveadm-mail-fetch.c |  | 1 | - |  | 11 | - |
FAIL |  | fetch_hdr_field |  | doveadm-mail-fetch.c |  | 1 | - |  | 16 | - |
FAIL |  | fetch_body |  | doveadm-mail-fetch.c |  | 1 | - |  | 12 | - |
FAIL |  | fetch_text |  | doveadm-mail-fetch.c |  | 1 | - |  | 10 | - |
FAIL |  | fetch_size_physical |  | doveadm-mail-fetch.c |  | 1 | - |  | 17 | - |
FAIL |  | fetch_size_virtual |  | doveadm-mail-fetch.c |  | 1 | - |  | 17 | - |
FAIL |  | fetch_date_received |  | doveadm-mail-fetch.c |  | 1 | - |  | 15 | - |
FAIL |  | fetch_date_sent |  | doveadm-mail-fetch.c |  | 1 | - |  | 11 | - |
FAIL |  | fetch_date_saved |  | doveadm-mail-fetch.c |  | 1 | - |  | 15 | - |
FAIL |  | fetch_imap_envelope |  | doveadm-mail-fetch.c |  | 1 | - |  | 17 | - |
FAIL |  | fetch_imap_body |  | doveadm-mail-fetch.c |  | 1 | - |  | 17 | - |
FAIL |  | fetch_imap_bodystructure |  | doveadm-mail-fetch.c |  | 1 | - |  | 17 | - |
Pass |  | fetch_field_find |  | doveadm-mail-fetch.c |  | 0 |  | 0 |
FAIL |  | print_fetch_fields |  | doveadm-mail-fetch.c |  | 1 | - |  | 6 | - |
FAIL |  | parse_fetch_fields |  | doveadm-mail-fetch.c |  | 1 | - |  | 10 | - |
FAIL |  | cmd_fetch_mail |  | doveadm-mail-fetch.c |  | 1 | - |  | 5 | - |
FAIL |  | cmd_fetch_box |  | doveadm-mail-fetch.c |  | 1 | - |  | 16 | - |
FAIL |  | cmd_fetch_run |  | doveadm-mail-fetch.c |  | 1 | - |  | 12 | - |
FAIL |  | cmd_fetch_deinit |  | doveadm-mail-fetch.c |  | 1 | - |  | 33 | - |
FAIL |  | cmd_fetch_init |  | doveadm-mail-fetch.c |  | 1 | - |  | 6 | - |
FAIL |  | cmd_fetch_alloc |  | doveadm-mail-fetch.c |  | 1 | - |  | 25 | - |
FAIL |  | doveadm_mail_iter_init |  | doveadm-mail-iter.c |  | 1 | - |  | 28 | - |
Pass |  | doveadm_mail_it r_deinit_transaction |  | doveadm-mail-iter.c |  | 0 |  | 0 |
FAIL |  | doveadm_mail_iter_deinit |  | doveadm-mail-iter.c |  | 1 | - |  | 8 | - |
Pass |  | doveadm_mail_iter_next |  | doveadm-mail-iter.c |  | 0 |  | 0 |
Pass |  | search_args_get mailbox_patterns |  | doveadm-mail-list-iter.c |  | 0 |  | 0 |
FAIL |  | doveadm_mail_list_iter_init |  | doveadm-mail-list-iter.c |  | 1 | - |  | 16 | - |
FAIL |  | doveadm_mail_list_iter_full_init |  | doveadm-mail-list-iter.c |  | 1 | - |  | 29 | - |
Pass |  | doveadm_mail_list_iter_deinit |  | doveadm-mail-list-iter.c |  | 0 |  | 0 |
FAIL |  | doveadm_mail_list_iter_next |  | doveadm-mail-list-iter.c |  | 1 | - |  | 3 | - |
Pass |  | status_parse_fields |  | doveadm-mail-mailbox-status.c |  | 0 |  | 0 |
Pass |  | status_output |  | doveadm-mail-mailbox-status.c |  | 0 |  | 0 |
Pass |  | status_sum |  | doveadm-mail-mailbox-status.c |  | 0 |  | 0 |
FAIL |  | status_mailbox |  | doveadm-mail-mailbox-status.c |  | 1 | - |  | 33 | - |
FAIL |  | cmd_mailbox_status_run |  | doveadm-mail-mailbox-status.c |  | 1 | - |  | 11 | - |
FAIL |  | cmd_mailbox_status_init |  | doveadm-mail-mailbox-status.c |  | 1 | - |  | 1 | - |
FAIL |  | cmd_mailbox_status_parse_arg |  | doveadm-mail-mailbox-status.c |  | 1 | - |  | 6 | - |

`Quality Result` |  | `Procedure` |  | `Source File` |  | `Unique Violations` |  | `Failure Density` |
`` |  |  |  |  | `(Viols/R.Line %)` |
FAIL |  | cmd_mailbox_status_alloc |  | doveadm-mail-mailbox-status.c |  | 1 | - |  | 22 | - |
FAIL |  | doveadm_mailbox_args_to_mutf7 |  | doveadm-mail-mailbox.c |  | 1 | - |  | 22 | - |
FAIL |  | cmd_mailbox_parse_arg |  | doveadm-mail-mailbox.c |  | 1 | - |  | 6 | - |
FAIL |  | doveadm_mailbox_cmd_alloc_size |  | doveadm-mail-mailbox.c |  | 1 | - |  | 50 | - |
FAIL |  | cmd_mailbox_list_parse_arg |  | doveadm-mail-mailbox.c |  | 1 | - |  | 4 | - |
FAIL |  | cmd_mailbox_list_run |  | doveadm-mail-mailbox.c |  | 1 | - |  | 6 | - |
FAIL |  | doveadm_mail_mailbox_search_args_build |  | doveadm-mail-mailbox.c |  | 1 | - |  | 14 | - |
FAIL |  | cmd_mailbox_list_init |  | doveadm-mail-mailbox.c |  | 1 | - |  | 33 | - |
FAIL |  | cmd_mailbox_list_alloc |  | doveadm-mail-mailbox.c |  | 1 | - |  | 18 | - |
FAIL |  | cmd_mailbox_create_run |  | doveadm-mail-mailbox.c |  | 1 | - |  | 7 | - |
FAIL |  | cmd_mailbox_create_init |  | doveadm-mail-mailbox.c |  | 1 | - |  | 8 | - |
FAIL |  | cmd_mailbox_create_alloc |  | doveadm-mail-mailbox.c |  | 1 | - |  | 18 | - |
FAIL |  | cmd_mailbox_delete_run |  | doveadm-mail-mailbox.c |  | 1 | - |  | 7 | - |
FAIL |  | cmd_mailbox_delete_init |  | doveadm-mail-mailbox.c |  | 1 | - |  | 8 | - |
FAIL |  | cmd_mailbox_delete_alloc |  | doveadm-mail-mailbox.c |  | 1 | - |  | 18 | - |
FAIL |  | cmd_mailbox_rename_run |  | doveadm-mail-mailbox.c |  | 1 | - |  | 6 | - |
FAIL |  | cmd_mailbox_rename_init |  | doveadm-mail-mailbox.c |  | 1 | - |  | 7 | - |
FAIL |  | cmd_mailbox_rename_alloc |  | doveadm-mail-mailbox.c |  | 1 | - |  | 25 | - |
FAIL |  | cmd_mailbox_subscribe_run |  | doveadm-mail-mailbox.c |  | 1 | - |  | 6 | - |
FAIL |  | cmd_mailbox_subscribe_init |  | doveadm-mail-mailbox.c |  | 1 | - |  | 6 | - |
FAIL |  | cmd_mailbox_subscriptions_alloc |  | doveadm-mail-mailbox.c |  | 1 | - |  | 18 | - |
Pass |  | cmd_mailbox_subscribe_alloc |  | doveadm-mail-mailbox.c |  | 0 |  | 0 |
Pass |  | cmd_mailbox_unsubscribe_alloc |  | doveadm-mail-mailbox.c |  | 0 |  | 0 |
FAIL |  | cmd_mailbox_mutf7 |  | doveadm-mail-mailbox.c |  | 1 | - |  | 1 | - |
FAIL |  | cmd_search_box |  | doveadm-mail-search.c |  | 1 | - |  | 18 | - |
FAIL |  | cmd_search_run |  | doveadm-mail-search.c |  | 1 | - |  | 6 | - |
Pass |  | cmd_search_init |  | doveadm-mail-search.c |  | 0 |  | 0 |
FAIL |  | cmd_search_alloc |  | doveadm-mail-search.c |  | 1 | - |  | 43 | - |
FAIL |  | doveadm_mail_cmd_alloc_size |  | doveadm-mail.c |  | 1 | - |  | 27 | - |
Pass |  | cmd_purge_run |  | doveadm-mail.c |  | 0 |  | 0 |
FAIL |  | cmd_purge_alloc |  | doveadm-mail.c |  | 1 | - |  | 43 | - |
FAIL |  | mailbox_find_and_open |  | doveadm-mail.c |  | 1 | - |  | 6 | - |
FAIL |  | doveadm_mailbox_find_and_sync |  | doveadm-mail.c |  | 1 | - |  | 4 | - |
FAIL |  | doveadm_mail_build_search_args |  | doveadm-mail.c |  | 1 | - |  | 31 | - |
FAIL |  | cmd_force_resync_run |  | doveadm-mail.c |  | 1 | - |  | 16 | - |
FAIL |  | cmd_force_resync_init |  | doveadm-mail.c |  | 1 | - |  | 7 | - |
FAIL |  | cmd_force_resync_alloc |  | doveadm-mail.c |  | 1 | - |  | 25 | - |
FAIL |  | doveadm_mail_next_user |  | doveadm-mail.c |  | 1 | - |  | 9 | - |
FAIL |  | doveadm_mail_single_user |  | doveadm-mail.c |  | 1 | - |  | 10 | - |
Pass |  | sig_die |  | doveadm-mail.c |  | 0 |  | 0 |
FAIL |  | doveadm_mail_all_users |  | doveadm-mail.c |  | 1 | - |  | 4 | - |
Pass |  | doveadm_mail_cmd_init_noop |  | doveadm-mail.c |  | 0 |  | 0 |
Pass |  | doveadm_mail_cmd_get_next_user |  | doveadm-mail.c |  | 0 |  | 0 |
Pass |  | doveadm_mail_cmd_deinit_noop |  | doveadm-mail.c |  | 0 |  | 0 |
FAIL |  | doveadm_mail_cmd |  | doveadm-mail.c |  | 1 | - |  | 5 | - |
Pass |  | doveadm_mail_tr _run_multi_word |  | doveadm-mail.c |  | 0 |  | 0 |
FAIL |  | doveadm_mail_try_run |  | doveadm-mail.c |  | 1 | - |  | 2 | - |
FAIL |  | doveadm_mail_register_cmd |  | doveadm-mail.c |  | 1 | - |  | 60 | - |
FAIL |  | doveadm_mail_usage |  | doveadm-mail.c |  | 1 | - |  | 10 | - |

`Quality Result` |  | `Procedure` |  | `Source File` |  | `Unique Violations` |  | `Failure Density` |
`` |  |  |  |  | `(Viols/R.Line %)` |
Pass |  | doveadm_mail_help |  | doveadm-mail.c |  | 0 |  | 0 |
FAIL |  | doveadm_mail_try_help_name |  | doveadm-mail.c |  | 1 | - |  | 10 | - |
FAIL |  | doveadm_mail_has_subcommands |  | doveadm-mail.c |  | 1 | - |  | 8 | - |
Pass |  | doveadm_mail_help_name |  | doveadm-mail.c |  | 0 |  | 0 |
FAIL |  | doveadm_mail_init |  | doveadm-mail.c |  | 1 | - |  | 24 | - |
FAIL |  | doveadm_mail_deinit |  | doveadm-mail.c |  | 1 | - |  | 60 | - |
FAIL |  | pid_file_read |  | doveadm-master.c |  | 1 | - |  | 3 | - |
FAIL |  | doveadm_master_send_signal |  | doveadm-master.c |  | 1 | - |  | 8 | - |
Pass |  | cmd_stop |  | doveadm-master.c |  | 0 |  | 0 |
Pass |  | cmd_reload |  | doveadm-master.c |  | 0 |  | 0 |
FAIL |  | penalty_parse_line |  | doveadm-penalty.c |  | 1 | - |  | 43 | - |
FAIL |  | penalty_print_line |  | doveadm-penalty.c |  | 1 | - |  | 5 | - |
Pass |  | penalty_lookup |  | doveadm-penalty.c |  | 0 |  | 0 |
FAIL |  | cmd_penalty |  | doveadm-penalty.c |  | 1 | - |  | 7 | - |
FAIL |  | doveadm_print_flow_header |  | doveadm-print-flow.c |  | 1 | - |  | 40 | - |
Pass |  | flow_next_hdr |  | doveadm-print-flow.c |  | 0 |  | 0 |
FAIL |  | doveadm_print_flow_print |  | doveadm-print-flow.c |  | 1 | - |  | 8 | - |
FAIL |  | doveadm_print_flow_print_stream |  | doveadm-print-flow.c |  | 1 | - |  | 4 | - |
FAIL |  | doveadm_print_flow_init |  | doveadm-print-flow.c |  | 1 | - |  | 22 | - |
Pass |  | doveadm_print_flow_flush |  | doveadm-print-flow.c |  | 0 |  | 0 |
FAIL |  | doveadm_print_flow_deinit |  | doveadm-print-flow.c |  | 1 | - |  | 20 | - |
FAIL |  | doveadm_print_pager_header |  | doveadm-print-pager.c |  | 1 | - |  | 50 | - |
Pass |  | pager_next_hdr |  | doveadm-print-pager.c |  | 0 |  | 0 |
FAIL |  | doveadm_print_pager_print |  | doveadm-print-pager.c |  | 1 | - |  | 20 | - |
FAIL |  | doveadm_print_pager_print_stream |  | doveadm-print-pager.c |  | 1 | - |  | 5 | - |
FAIL |  | doveadm_print_pager_init |  | doveadm-print-pager.c |  | 1 | - |  | 22 | - |
Pass |  | doveadm_print_pager_flush |  | doveadm-print-pager.c |  | 0 |  | 0 |
FAIL |  | doveadm_print_pager_deinit |  | doveadm-print-pager.c |  | 1 | - |  | 20 | - |
Pass |  | doveadm_print_tab_header |  | doveadm-print-tab.c |  | 0 |  | 0 |
Pass |  | doveadm_print_tab_print |  | doveadm-print-tab.c |  | 0 |  | 0 |
FAIL |  | doveadm_print_tab_print_stream |  | doveadm-print-tab.c |  | 1 | - |  | 3 | - |
Pass |  | doveadm_print_tab_flush |  | doveadm-print-tab.c |  | 0 |  | 0 |
FAIL |  | doveadm_print_table_header |  | doveadm-print-table.c |  | 1 | - |  | 29 | - |
FAIL |  | doveadm_calc_header_length |  | doveadm-print-table.c |  | 1 | - |  | 4 | - |
FAIL |  | doveadm_print_next |  | doveadm-print-table.c |  | 1 | - |  | 14 | - |
FAIL |  | doveadm_buffer_flush |  | doveadm-print-table.c |  | 1 | - |  | 6 | - |
FAIL |  | doveadm_print_table_print |  | doveadm-print-table.c |  | 1 | - |  | 3 | - |
Pass |  | doveadm_print_t ble_print_stream |  | doveadm-print-table.c |  | 0 |  | 0 |
Pass |  | doveadm_print_table_flush |  | doveadm-print-table.c |  | 0 |  | 0 |
FAIL |  | doveadm_print_table_init |  | doveadm-print-table.c |  | 1 | - |  | 12 | - |
FAIL |  | doveadm_print_table_deinit |  | doveadm-print-table.c |  | 1 | - |  | 13 | - |
Pass |  | doveadm_print_is_initialized |  | doveadm-print.c |  | 0 |  | 0 |
FAIL |  | doveadm_print_header |  | doveadm-print.c |  | 1 | - |  | 18 | - |
Pass |  | doveadm_print_header_simple |  | doveadm-print.c |  | 0 |  | 0 |
FAIL |  | doveadm_print |  | doveadm-print.c |  | 1 | - |  | 3 | - |
Pass |  | doveadm_print_num |  | doveadm-print.c |  | 0 |  | 0 |
FAIL |  | doveadm_print_stream |  | doveadm-print.c |  | 1 | - |  | 33 | - |
Pass |  | doveadm_print_sticky |  | doveadm-print.c |  | 0 |  | 0 |
Pass |  | doveadm_print_flush |  | doveadm-print.c |  | 0 |  | 0 |

`Quality Result` |  | `Procedure` |  | `Source File` |  | `Unique Violations` |  | `Failure Density` |
`` |  |  |  |  | `(Viols/R.Line %)` |
FAIL |  | doveadm_print_init |  | doveadm-print.c |  | 1 | - |  | 6 | - |
FAIL |  | doveadm_print_deinit |  | doveadm-print.c |  | 1 | - |  | 5 | - |
FAIL |  | cmd_pw |  | doveadm-pw.c |  | 1 | - |  | 7 | - |
Pass |  | who_user_hash |  | doveadm-who.c |  | 0 |  | 0 |
Pass |  | who_user_cmp |  | doveadm-who.c |  | 0 |  | 0 |
Pass |  | who_user_has_ip |  | doveadm-who.c |  | 0 |  | 0 |
FAIL |  | who_parse_line |  | doveadm-who.c |  | 1 | - |  | 60 | - |
Pass |  | who_user_has_pid |  | doveadm-who.c |  | 0 |  | 0 |
FAIL |  | who_aggregate_line |  | doveadm-who.c |  | 1 | - |  | 28 | - |
FAIL |  | who_parse_args |  | doveadm-who.c |  | 1 | - |  | 14 | - |
Pass |  | who_lookup |  | doveadm-who.c |  | 0 |  | 0 |
Pass |  | who_user_filter_match |  | doveadm-who.c |  | 0 |  | 0 |
FAIL |  | who_print_user |  | doveadm-who.c |  | 1 | - |  | 2 | - |
FAIL |  | who_print |  | doveadm-who.c |  | 1 | - |  | 7 | - |
Pass |  | who_line_filter_match |  | doveadm-who.c |  | 0 |  | 0 |
Pass |  | who_print_line |  | doveadm-who.c |  | 0 |  | 0 |
FAIL |  | cmd_who |  | doveadm-who.c |  | 1 | - |  | 12 | - |
Pass |  | doveadm_register_cmd |  | doveadm.c |  | 0 |  | 0 |
FAIL |  | doveadm_usage_compress_lines |  | doveadm.c |  | 1 | - |  | 6 | - |
FAIL |  | usage_to |  | doveadm.c |  | 1 | - |  | 7 | - |
Pass |  | usage |  | doveadm.c |  | 0 |  | 0 |
Pass |  | help_to |  | doveadm.c |  | 0 |  | 0 |
Pass |  | help |  | doveadm.c |  | 0 |  | 0 |
FAIL |  | unixdate2str |  | doveadm.c |  | 1 | - |  | 20 | - |
FAIL |  | doveadm_plugin_getenv |  | doveadm.c |  | 1 | - |  | 6 | - |
Pass |  | doveadm_has_subcommands |  | doveadm.c |  | 0 |  | 0 |
FAIL |  | cmd_help |  | doveadm.c |  | 1 | - |  | 3 | - |
Pass |  | doveadm_try_run_multi_word |  | doveadm.c |  | 0 |  | 0 |
Pass |  | doveadm_try_run |  | doveadm.c |  | 0 |  | 0 |
FAIL |  | doveadm_load_modules |  | doveadm.c |  | 1 | - |  | 20 | - |
FAIL |  | main |  | doveadm.c |  | 2 | - |  | 8 | - |

#### Global Information

#### Source Files in System

Name | Last Modification Date
--- | ---
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm.c | Fri Jun 11 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-who.c | Fri Jun 11 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-settings.c | Thu May 27 19:00:08 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-pw.c | Sun May 09 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-print.c | Mon Jun 21 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-print-table.c | Mon Jun 21 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-print-tab.c | Mon Jun 21 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-print-pager.c | Mon Jun 21 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-print-flow.c | Mon Jun 21 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-penalty.c | Thu May 20 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-master.c | Fri May 28 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-mail.c | Mon Jun 21 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-mail-search.c | Fri Jun 11 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-mail-mailbox.c | Mon Jun 21 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-mail-mailbox-status.c | Wed Jun 16 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-mail-list-iter.c | Mon Jun 21 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-mail-iter.c | Wed Apr 28 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-mail-fetch.c | Mon Jun 21 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-mail-expunge.c | Thu May 27 19:00:08 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-mail-altmove.c | Thu May 27 19:00:08 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-log.c | Wed Jun 16 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-kick.c | Thu May 20 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-dump.c | Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-dump-thread.c | Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-dump-mailboxlog.c | Fri Mar 26 07:16:36 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-dump-log.c | Sun Apr 04 19:00:04 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-dump-index.c | Wed Jun 23 19:00:06 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-director.c | Thu Jun 17 19:00:06 2010
C:\Code\SAMATE\SATE2010\dovecot-2.0.beta6.20100626\dovecot-2.0.beta6\src\doveadm\doveadm-auth.c | Fri May 28 19:00:04 2010

#### Global Basic Information

Number of procedures: | 275
Number of locally uncalled procedures: | 3
Maximum loop depth: | 2
Total Cyclomatic Complexity: | 986
Number of reformatted executable lines: | 10869
Number of lines of comments: | 23696

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

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

Code | File: Src Line | Violation | Standard
--- | --- | --- | ---
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 | mail-cache-private.h: 42 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | mail-index-transaction-private.h: 103 | Global not initialised at declaration. : hook_mail_index_transaction_created | CERT EXP33-C
M | doveadm-dump-log.c: 181 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | doveadm-dump-log.c: 181 | Macro replacement list needs parentheses. | CERT PRE02-C
M | doveadm-dump-log.c: 11 | Global not initialised at declaration. : prev_intro | CERT EXP33-C
M | doveadm-dump-thread.c: 14 | Global not initialised at declaration. : max_likely_index | CERT EXP33-C
M | mail-error.h: 19 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | mail-error.h: 19 | Macro replacement list needs parentheses. | CERT PRE02-C
M | mail-storage.h: 414 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | module-context.h: 45 | Macro replacement list needs parentheses. | CERT PRE02-C
M | module-context.h: 48 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | module-context.h: 62 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | module-context.h: 62 | Macro replacement list needs parentheses. | CERT PRE02-C
M | module-context.h: 66 | Macro replacement list needs parentheses. | CERT PRE02-C
M | module-context.h: 70 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | module-context.h: 70 | Macro replacement list needs parentheses. | CERT PRE02-C
M | module-context.h: 89 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | module-context.h: 89 | Macro replacement list needs parentheses. | CERT PRE02-C
M | module-context.h: 98 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | module-context.h: 98 | Macro replacement list needs parentheses. | CERT PRE02-C
M | module-context.h: 100 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | module-context.h: 100 | Macro replacement list needs parentheses. | CERT PRE02-C
M | module-context.h: 103 | Macro replacement list needs parentheses. | CERT PRE02-C
M | doveadm-mail.h: 84 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | doveadm-mail.h: 59 | Global not initialised at declaration. : hook_doveadm_mail_init | CERT EXP33-C
M | doveadm-mail.h: 87 | Global not initialised at declaration. : cmd_expunge | CERT EXP33-C
M | doveadm-mail.h: 88 | Global not initialised at declaration. : cmd_search | CERT EXP33-C
M | doveadm-mail.h: 89 | Global not initialised at declaration. : cmd_fetch | CERT EXP33-C
M | doveadm-mail.h: 90 | Global not initialised at declaration. : cmd_altmove | CERT EXP33-C
M | doveadm-mail.h: 91 | Global not initialised at declaration. : cmd_mailbox_list | CERT EXP33-C
M | doveadm-mail.h: 92 | Global not initialised at declaration. : cmd_mailbox_create | CERT EXP33-C
M | doveadm-mail.h: 93 | Global not initialised at declaration. : cmd_mailbox_delete | CERT EXP33-C
M | doveadm-mail.h: 94 | Global not initialised at declaration. : cmd_mailbox_rename | CERT EXP33-C
M | doveadm-mail.h: 95 | Global not initialised at declaration. : cmd_mailbox_subscribe | CERT EXP33-C
M | doveadm-mail.h: 96 | Global not initialised at declaration. : cmd_mailbox_unsubscribe | CERT EXP33-C
M | doveadm-mail.h: 97 | Global not initialised at declaration. : cmd_mailbox_status | CERT EXP33-C
M | mail-search.h: 115 | Macro replacement list needs parentheses. | CERT PRE02-C
M | mail-search.h: 156 | Macro parameter not in brackets. | CERT PRE01-C,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 | doveadm-mail-mailbox.c: 72 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | doveadm-mail.c: 27 | Global not initialised at declaration. : doveadm_mail_cmds | CERT EXP33-C
M | doveadm-mail.c: 28 | Global not initialised at declaration. : hook_doveadm_mail_init | CERT EXP33-C
M | doveadm-print-flow.c: 22 | Global not initialised at declaration. : ctx | CERT EXP33-C
M | doveadm-print-pager.c: 21 | Global not initialised at declaration. : ctx | CERT EXP33-C
M | doveadm-print-pager.c: 21 | Declaration types do not match across a system. : ctx | CERT ARR31-C
| 22 (doveadm-print-flow.c) |  |
M | doveadm-print-tab.c: 15 | Global not initialised at declaration. : ctx | CERT EXP33-C

Code | File: Src Line | Violation | Standard
--- | --- | --- | ---
M | doveadm-print-table.c: 33 | Global not initialised at declaration. : ctx | CERT EXP33-C
M | doveadm-print-table.c: 33 | Declaration types do not match across a system. : ctx | CERT ARR31-C
| 22 (doveadm-print-flow.c) |  |
M | doveadm-print.c: 23 | Global not initialised at declaration. : ctx | CERT EXP33-C
M | doveadm-print.c: 23 | Declaration types do not match across a system. : ctx | CERT ARR31-C
| 22 (doveadm-print-flow.c) |  |
M | settings-parser.h: 46 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | settings-parser.h: 46 | Macro replacement list needs parentheses. | CERT PRE02-C
M | settings-parser.h: 50 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | settings-parser.h: 50 | Macro replacement list needs parentheses. | CERT PRE02-C
M | settings-parser.h: 54 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | settings-parser.h: 54 | Macro replacement list needs parentheses. | CERT PRE02-C
M | settings-parser.h: 58 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | settings-parser.h: 58 | Macro replacement list needs parentheses. | CERT PRE02-C
M | settings-parser.h: 62 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | settings-parser.h: 62 | Macro replacement list needs parentheses. | CERT PRE02-C
M | doveadm-settings.c: 9 | Macro parameter not in brackets. | CERT PRE01-C,PRE02-C
M | doveadm-settings.c: 9 | Macro replacement list needs parentheses. | CERT PRE02-C
M | doveadm-settings.c: 46 | Global not initialised at declaration. : doveadm_settings | CERT EXP33-C
M | doveadm.c: 22 | Global not initialised at declaration. : doveadm_cmds | CERT EXP33-C
M | doveadm.c: 22 | Procedure contains UR data flow anomalies. : doveadm_cmds.arr.element_size | CERT EXP33-C
| 330 |  |
M | doveadm.c: 22 | Procedure contains UR data flow anomalies. : doveadm_cmds.v | CERT EXP33-C
| 330 |  |
M | doveadm.c: 22 | Procedure contains UR data flow anomalies. : doveadm_cmds.v_modifiable | CERT EXP33-C
| 330 |  |
M | doveadm-mail.h: 58 | Procedure contains UR data flow anomalies. : doveadm_mail_cmds.arr.buffer.used | CERT EXP33-C
M | doveadm-mail.h: 59 | Procedure contains UR data flow anomalies. : hook_doveadm_mail_init | CERT EXP33-C
| 59 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

array_create_i (93 to 101 array.h analysed in doveadm-auth.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_user_input (26 to 69 doveadm-auth.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 42 | Pointer not checked for null before use : conn | CERT EXP08-C,EXP34-C
| 41 |  |
M | 42 | Pointer not checked for null before use : pool | CERT EXP08-C,EXP34-C
| 39 |  |
M | 41 | Pointer not checked for null before use : auth_socket_path | CERT EXP08-C,EXP34-C
| 35 |  |
M | 31 | Procedure contains UR data flow anomalies. : username | CERT EXP33-C
| 42 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-auth.c | 31 | doveadm-auth.c | 42 | username

[ | Top of Report | | | Procedure Table | | | Contents | ]

auth_connected (100 to 130 doveadm-auth.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 111 | Pointer not checked for null before use : init_resp | CERT EXP08-C,EXP34-C
| 110 |  |
M | 117 | Pointer not checked for null before use : base64_resp | CERT EXP08-C,EXP34-C
| 116 |  |
M | 128 | Pointer not checked for null before use : info.initial_resp_base64 | CERT EXP08-C,EXP34-C
| 126 |  |
M | 128 | Pointer not checked for null before use : info.cert_username | CERT EXP08-C,EXP34-C
| 119 |  |
M | 128 | Pointer not checked for null before use : info.service | CERT EXP08-C,EXP34-C
| 121 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_auth_input (132 to 151 doveadm-auth.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_user_list (172 to 200 doveadm-auth.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 186 | Pointer not checked for null before use : conn | CERT EXP08-C,EXP34-C
| 185 |  |
M | 185 | Pointer not checked for null before use : auth_socket_path | CERT EXP08-C,EXP34-C
| 181 |  |
M | 175 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

auth_cmd_common (202 to 263 doveadm-auth.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 245 | Pointer not checked for null before use : input.info.service | CERT EXP08-C,EXP34-C
| 220 |  |
M | 245 | Pointer not checked for null before use : input.password | CERT EXP08-C,EXP34-C
| 241 |  |
M | 245 | Pointer not checked for null before use : input.username | CERT EXP08-C,EXP34-C
| 240 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_auth (265 to 268 doveadm-auth.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 267 | Pointer not checked for null before use : doveadm_cmd_auth.long_usage | CERT EXP08-C,EXP34-C
| Ref. Line 4044 (doveadm-auth.c) |  |
M | 267 | Pointer not checked for null before use : doveadm_cmd_auth.short_usage | CERT EXP08-C,EXP34-C
| Ref. Line 4044 (doveadm-auth.c) |  |
M | 267 | Pointer not checked for null before use : doveadm_cmd_auth.name | CERT EXP08-C,EXP34-C
| Ref. Line 4044 (doveadm-auth.c) |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_user (270 to 273 doveadm-auth.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 272 | Pointer not checked for null before use : doveadm_cmd_user.long_usage | CERT EXP08-C,EXP34-C
| Ref. Line 4047 (doveadm-auth.c) |  |
M | 272 | Pointer not checked for null before use : doveadm_cmd_user.short_usage | CERT EXP08-C,EXP34-C
| Ref. Line 4047 (doveadm-auth.c) |  |
M | 272 | Pointer not checked for null before use : doveadm_cmd_user.name | CERT EXP08-C,EXP34-C
| Ref. Line 4047 (doveadm-auth.c) |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_director_init (58 to 79 doveadm-director.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 78 | Local structure returned in function result : ctx |
M | 65 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 64 |  |
M | 65 | Pointer not checked for null before use : doveadm_settings | CERT EXP08-C,EXP34-C
| Ref. Line -2123 (Module 285) |  |
M | 61 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_director_status_user (81 to 110 doveadm-director.c) - FAIL

#### Standards Violation Summary

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

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

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-director.c | 85 | doveadm-director.c | 96 | expires

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_director_status (112 to 137 doveadm-director.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 130 | Pointer not checked for null before use : args | CERT EXP08-C,EXP34-C
| 129 |  |
M | 119 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 117 |  |
M | 124 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 117 |  |
M | 114 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_director_add (139 to 186 doveadm-director.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 172 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 147 |  |
M | 172 | Pointer not checked for null before use : cmd | CERT EXP08-C,EXP34-C
| 167 |  |
M | 142 | Procedure contains UR data flow anomalies. : ips | CERT EXP33-C
| 162 |  |
M | 143 | Procedure contains UR data flow anomalies. : ips_count | CERT EXP33-C
| 162 |  |
M | 141 | Declaration types do not match across a system. : ctx | CERT ARR31-C

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-director.c | 142 | doveadm-director.c | 162 | ips
doveadm-director.c | 143 | doveadm-director.c | 162 | ips_count

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_director_remove (188 to 227 doveadm-director.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 210 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 196 |  |
M | 193 | Procedure contains UR data flow anomalies. : ip.family | CERT EXP33-C
| 211 |  |
M | 193 | Procedure contains UR data flow anomalies. : ip.u.ip4 | CERT EXP33-C
| 211 |  |
M | 193 | Procedure contains UR data flow anomalies. : ip.u.ip6 | CERT EXP33-C
| 211 |  |
M | 191 | Procedure contains UR data flow anomalies. : ips | CERT EXP33-C
| 205 |  |
M | 192 | Procedure contains UR data flow anomalies. : ips_count | CERT EXP33-C
| 205 |  |
M | 190 | Declaration types do not match across a system. : ctx | CERT ARR31-C

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-director.c | 193 | doveadm-director.c | 211 | ip.family
doveadm-director.c | 193 | doveadm-director.c | 211 | ip.u.ip4
doveadm-director.c | 193 | doveadm-director.c | 211 | ip.u.ip6
doveadm-director.c | 191 | doveadm-director.c | 205 | ips
doveadm-director.c | 192 | doveadm-director.c | 205 | ips_count

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_director_flush (245 to 288 doveadm-director.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 259 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 253 |  |
M | 250 | Procedure contains UR data flow anomalies. : ip.family | CERT EXP33-C
| 272 |  |
M | 250 | Procedure contains UR data flow anomalies. : ip.u.ip4 | CERT EXP33-C
| 272 |  |
M | 250 | Procedure contains UR data flow anomalies. : ip.u.ip6 | CERT EXP33-C
| 272 |  |
M | 248 | Procedure contains UR data flow anomalies. : ips | CERT EXP33-C
| 266 |  |
M | 249 | Procedure contains UR data flow anomalies. : ips_count | CERT EXP33-C
| 266 |  |
M | 247 | Declaration types do not match across a system. : ctx | CERT ARR31-C

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-director.c | 250 | doveadm-director.c | 272 | ip.family
doveadm-director.c | 250 | doveadm-director.c | 272 | ip.u.ip4
doveadm-director.c | 250 | doveadm-director.c | 272 | ip.u.ip6
doveadm-director.c | 248 | doveadm-director.c | 266 | ips
doveadm-director.c | 249 | doveadm-director.c | 266 | ips_count

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_hdr (69 to 102 doveadm-dump-index.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_extension_header (104 to 189 doveadm-dump-index.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 142 | Sizeof argument is a pointer. | CERT EXP01-C
M | 151 | Sizeof argument is a pointer. | CERT EXP01-C
M | 174 | Pointer not checked for null before use : rec | CERT EXP08-C,EXP34-C
| 173 |  |
M | 114 | Pointer not checked for null before use : data | CERT EXP08-C,EXP34-C
| 112 |  |
M | 121 | Pointer not checked for null before use : data | CERT EXP08-C,EXP34-C
| 112 |  |
M | 176 | Pointer not checked for null before use : rec | CERT EXP08-C,EXP34-C
| 175 |  |
M | 176 | Pointer not checked for null before use : name | CERT EXP08-C,EXP34-C
| 174 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_extensions (191 to 218 doveadm-dump-index.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 206 | Pointer not checked for null before use : extensions | CERT EXP08-C,EXP34-C
| 197 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_keywords (220 to 237 doveadm-dump-index.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 236 | Pointer not checked for null before use : kw_indexes | CERT EXP08-C,EXP34-C
| 230 |  |
M | 236 | Pointer not checked for null before use : keywords | CERT EXP08-C,EXP34-C
| 234 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_cache_hdr (283 to 329 doveadm-dump-index.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 296 | Pointer not checked for null before use : hdr | CERT EXP08-C,EXP34-C
| 295 |  |
M | 316 | Pointer not checked for null before use : fields | CERT EXP08-C,EXP34-C
| 310 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_cache (331 to 419 doveadm-dump-index.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 362 | Insufficient space for operation. | CERT DCL33-C,FIO43-C
M | 366 | Insufficient space for operation. | CERT DCL33-C,FIO43-C
M | 371 | Pointer not checked for null before use : data | CERT EXP08-C,EXP34-C
| 353 |  |
M | 378 | Pointer not checked for null before use : data | CERT EXP08-C,EXP34-C
| 353 |  |
M | 362 | Pointer not checked for null before use : data | CERT EXP08-C,EXP34-C
| 353 |  |
M | 375 | Pointer not checked for null before use : data | CERT EXP08-C,EXP34-C
| 353 |  |
M | 407 | Pointer not checked for null before use : data | CERT EXP08-C,EXP34-C
| 394 |  |
M | 356 | Pointer not checked for null before use : str | CERT EXP08-C,EXP34-C
| 342 |  |
M | 333 | Procedure contains UR data flow anomalies. : iter.appends_checked | CERT EXP33-C
| 343 |  |
M | 333 | Procedure contains UR data flow anomalies. : iter.failed | CERT EXP33-C
| 343 |  |
M | 333 | Procedure contains UR data flow anomalies. : iter.offset | CERT EXP33-C
| 343 |  |
M | 333 | Procedure contains UR data flow anomalies. : iter.pos | CERT EXP33-C
| 343 |  |
M | 333 | Procedure contains UR data flow anomalies. : iter.rec | CERT EXP33-C
| 343 |  |
M | 333 | Procedure contains UR data flow anomalies. : iter.rec_size | CERT EXP33-C
| 343 |  |
M | 333 | Procedure contains UR data flow anomalies. : iter.remap_counter | CERT EXP33-C
| 343 |  |
M | 333 | Procedure contains UR data flow anomalies. : iter.seq | CERT EXP33-C
| 343 |  |
M | 333 | Procedure contains UR data flow anomalies. : iter.stop | CERT EXP33-C
| 343 |  |
M | 333 | Procedure contains UR data flow anomalies. : iter.view | CERT EXP33-C
| 343 |  |
M | 336 | Procedure contains UR data flow anomalies. : iter_field.data | CERT EXP33-C
| 344 |  |
M | 336 | Procedure contains UR data flow anomalies. : iter_field.field_idx | CERT EXP33-C
| 344 |  |
M | 336 | Procedure contains UR data flow anomalies. : iter_field.size | CERT EXP33-C
| 344 |  |
M | 338 | Procedure contains UR data flow anomalies. : size | CERT EXP33-C
| 346 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-dump-index.c | 333 | doveadm-dump-index.c | 343 | iter.appends_checked
doveadm-dump-index.c | 333 | doveadm-dump-index.c | 343 | iter.failed
doveadm-dump-index.c | 333 | doveadm-dump-index.c | 343 | iter.offset
doveadm-dump-index.c | 333 | doveadm-dump-index.c | 343 | iter.pos
doveadm-dump-index.c | 333 | doveadm-dump-index.c | 343 | iter.rec
doveadm-dump-index.c | 333 | doveadm-dump-index.c | 343 | iter.rec_size
doveadm-dump-index.c | 333 | doveadm-dump-index.c | 343 | iter.remap_counter
doveadm-dump-index.c | 333 | doveadm-dump-index.c | 343 | iter.seq
doveadm-dump-index.c | 333 | doveadm-dump-index.c | 343 | iter.stop
doveadm-dump-index.c | 333 | doveadm-dump-index.c | 343 | iter.view
doveadm-dump-index.c | 336 | doveadm-dump-index.c | 344 | iter_field.data
doveadm-dump-index.c | 336 | doveadm-dump-index.c | 344 | iter_field.field_idx
doveadm-dump-index.c | 336 | doveadm-dump-index.c | 344 | iter_field.size
doveadm-dump-index.c | 338 | doveadm-dump-index.c | 346 | size

[ | Top of Report | | | Procedure Table | | | Contents | ]

flags2str (421 to 443 doveadm-dump-index.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_record (445 to 499 doveadm-dump-index.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 456 | Pointer not checked for null before use : rec | CERT EXP08-C,EXP34-C
| 455 |  |
M | 460 | Pointer not checked for null before use : index | CERT EXP08-C,EXP34-C
| 447 |  |
M | 466 | Pointer not checked for null before use : str | CERT EXP08-C,EXP34-C
| 459 |  |
M | 453 | Procedure contains UR data flow anomalies. : expunged | CERT EXP33-C
| 462 |  |
M | 451 | Procedure contains UR data flow anomalies. : ext_count | CERT EXP33-C
| 461 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-dump-index.c | 453 | doveadm-dump-index.c | 462 | expunged
doveadm-dump-index.c | 451 | doveadm-dump-index.c | 461 | ext_count

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_dump_index (527 to 568 doveadm-dump-index.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 542 | Pointer not checked for null before use : view | CERT EXP08-C,EXP34-C
| 541 |  |
M | 564 | Pointer not checked for null before use : cache_view | CERT EXP08-C,EXP34-C
| 542 |  |
M | 559 | Pointer not checked for null before use : cache_view | CERT EXP08-C,EXP34-C
| 542 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_hdr (13 to 39 doveadm-dump-log.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 24 | User input not checked before use. : hdr | CERT FIO30-C
M | 27 | User input not checked before use. : hdr | CERT FIO30-C
| 18 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

print_try_uint (141 to 179 doveadm-dump-log.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 155 | Insufficient space for operation. | CERT DCL33-C,FIO43-C
M | 163 | Insufficient space for operation. | CERT DCL33-C,FIO43-C
M | 171 | Insufficient space for operation. | CERT DCL33-C,FIO43-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

log_header_update (213 to 243 doveadm-dump-log.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

log_record_print (245 to 426 doveadm-dump-log.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 266 | Sizeof argument is a pointer. | CERT EXP01-C
M | 313 | Insufficient formats in output function. | CERT FIO00-C
M | 375 | Insufficient formats in output function. | CERT FIO00-C
M | 256 | Pointer not checked for null before use : exp | CERT EXP08-C,EXP34-C
| 255 |  |
M | 265 | Pointer not checked for null before use : exp | CERT EXP08-C,EXP34-C
| 264 |  |
M | 276 | Pointer not checked for null before use : rec | CERT EXP08-C,EXP34-C
| 275 |  |
M | 288 | Pointer not checked for null before use : u | CERT EXP08-C,EXP34-C
| 287 |  |
M | 384 | Pointer not checked for null before use : uid | CERT EXP08-C,EXP34-C
| 380 |  |
M | 394 | Pointer not checked for null before use : u | CERT EXP08-C,EXP34-C
| 393 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_record (428 to 476 doveadm-dump-log.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 451 | Insufficient formats in output function. | CERT FIO00-C
M | 456 | Insufficient formats in output function. | CERT FIO00-C
M | 459 | Pointer not checked for null before use : modseq | CERT EXP08-C,EXP34-C
| 458 |  |
M | 446 | User input not checked before use. : hdr | CERT FIO30-C
| 437 |  |
M | 471 | User input not checked before use. : buf | CERT FIO30-C
| 466 |  |
M | 471 | Pointer not checked for null before use : buf | CERT EXP08-C,EXP34-C
| 466 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

test_dump_log (495 to 519 doveadm-dump-log.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 505 | Pointer not checked for null before use : p | CERT EXP08-C,EXP34-C
| 504 |  |
M | 497 | Procedure contains UR data flow anomalies. : hdr.hdr_size | CERT EXP33-C
| 515 |  |
M | 497 | Procedure contains UR data flow anomalies. : hdr.major_version | CERT EXP33-C
| 514 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-dump-log.c | 497 | doveadm-dump-log.c | 515 | hdr.hdr_size
doveadm-dump-log.c | 497 | doveadm-dump-log.c | 514 | hdr.major_version

[ | Top of Report | | | Procedure Table | | | Contents | ]

test_dump_mailboxlog (75 to 105 doveadm-dump-mailboxlog.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 92 | User input not checked before use. : rec | CERT FIO30-C
| 90 |  |
M | 79 | Procedure contains UR data flow anomalies. : rec.padding | CERT EXP33-C
| 91 |  |
M | 79 | Procedure contains UR data flow anomalies. : rec.type | CERT EXP33-C
| 92 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-dump-mailboxlog.c | 79 | doveadm-dump-mailboxlog.c | 91 | rec.padding
doveadm-dump-mailboxlog.c | 79 | doveadm-dump-mailboxlog.c | 92 | rec.type

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_record (23 to 60 doveadm-dump-thread.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 52 | String function params access same variable. | CERT DCL33-C
M | 53 | String function params access same variable. | CERT DCL33-C
M | 35 | Pointer not checked for null before use : uid | CERT EXP08-C,EXP34-C
| 31 |  |
M | 25 | Procedure contains UR data flow anomalies. : uid_diff | CERT EXP33-C
| 29 |  |
M | 25 | Procedure contains UR data flow anomalies. : n | CERT EXP33-C
| 33 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-dump-thread.c | 25 | doveadm-dump-thread.c | 29 | uid_diff
doveadm-dump-thread.c | 25 | doveadm-dump-thread.c | 33 | n

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_block (62 to 92 doveadm-dump-thread.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_dump_thread (94 to 123 doveadm-dump-thread.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 108 | User input not checked before use. : st | CERT FIO30-C
| 106 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_find_name (17 to 27 doveadm-dump.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

dump_find_test (29 to 39 doveadm-dump.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_dump (41 to 74 doveadm-dump.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 63 | Pointer not checked for null before use : type | CERT EXP08-C,EXP34-C
| 50 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

kick_aggregate_line (35 to 63 doveadm-kick.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 48 | Pointer not checked for null before use : k_pid | CERT EXP08-C,EXP34-C
| 47 |  |
M | 62 | Pointer not checked for null before use : new_user.username | CERT EXP08-C,EXP34-C
| 60 |  |
M | 38 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

kick_pid_want_kicked (65 to 96 doveadm-kick.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

kick_print_kicked (98 to 126 doveadm-kick.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

kick_users (128 to 170 doveadm-kick.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 162 | Pointer not checked for null before use : (arr)->buffer | CERT EXP08-C,EXP34-C
| 136 |  |
M | 162 | Pointer not checked for null before use : (arr)->element_size | CERT EXP08-C,EXP34-C
| 136 |  |
M | 131 | Procedure contains UR data flow anomalies. : key | CERT EXP33-C
| 139 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-kick.c | 131 | doveadm-kick.c | 139 | key

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_kick (172 to 206 doveadm-kick.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 181 | Pointer not checked for null before use : ctx.who.pool | CERT EXP08-C,EXP34-C
| 180 |  |
M | 178 | Pointer not checked for null before use : doveadm_settings | CERT EXP08-C,EXP34-C
| Ref. Line -2123 (Module 291) |  |
M | 181 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| Ref. Line -1101 (Module 291) |  |
M | 202 | Pointer not checked for null before use : ctx.kicked_users.v_modifiable | CERT EXP08-C,EXP34-C
| 177 |  |
M | 202 | Pointer not checked for null before use : ctx.kicked_users.v | CERT EXP08-C,EXP34-C
| 177 |  |
M | 202 | Pointer not checked for null before use : ctx.kicked_users.arr.buffer | CERT EXP08-C,EXP34-C
| 177 |  |
M | 202 | Pointer not checked for null before use : ctx.pids | CERT EXP08-C,EXP34-C
| 181 |  |
M | 199 | Pointer not checked for null before use : ctx.who.users | CERT EXP08-C,EXP34-C
| 177 |  |
M | 199 | Pointer not checked for null before use : ctx.who.filter.username | CERT EXP08-C,EXP34-C
| 177 |  |
M | 199 | Pointer not checked for null before use : ctx.who.anvil_path | CERT EXP08-C,EXP34-C
| 178 |  |
M | 174 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_log_test (22 to 38 doveadm-log.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 27 | Pointer not checked for null before use : master_service | CERT EXP08-C,EXP34-C
| Ref. Line -2763 (Module 292) |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_log_find_add (58 to 72 doveadm-log.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 71 | Negative (or potentially negative) shift. | CERT INT34-C
M | 67 | Pointer not checked for null before use : file | CERT EXP08-C,EXP34-C
| 66 |  |
M | 68 | Pointer not checked for null before use : key | CERT EXP08-C,EXP34-C
| 67 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_log_find_syslog_files (74 to 119 doveadm-log.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 92 | Pointer not checked for null before use : full_path | CERT EXP08-C,EXP34-C
| 91 |  |
M | 111 | Pointer not checked for null before use : file | CERT EXP08-C,EXP34-C
| 110 |  |
M | 114 | Pointer not checked for null before use : key | CERT EXP08-C,EXP34-C
| 112 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_log_find_syslog_file_messages (135 to 161 doveadm-log.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 147 | Pointer not checked for null before use : input | CERT EXP08-C,EXP34-C
| 146 |  |
M | 156 | Pointer not checked for null before use : p | CERT EXP08-C,EXP34-C
| 152 |  |
M | 139 | Procedure contains UR data flow anomalies. : type | CERT EXP33-C
| 157 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-log.c | 139 | doveadm-log.c | 157 | type

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_log_find_syslog_messages (163 to 180 doveadm-log.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 167 | Procedure contains UR data flow anomalies. : key | CERT EXP33-C
| 170 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-log.c | 167 | doveadm-log.c | 170 | key

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_log_find_syslog (182 to 204 doveadm-log.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 197 | Pointer not checked for null before use : log_dir | CERT EXP08-C,EXP34-C
| 189 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_log_find (206 to 272 doveadm-log.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 232 | Pointer not checked for null before use : log_file_path | CERT EXP08-C,EXP34-C
| 231 |  |
M | 239 | Pointer not checked for null before use : log_file_path | CERT EXP08-C,EXP34-C
| 238 |  |
M | 224 | Pointer not checked for null before use : ctx.files | CERT EXP08-C,EXP34-C
| 216 |  |
M | 248 | Pointer not checked for null before use : ctx.files | CERT EXP08-C,EXP34-C
| 216 |  |
M | 224 | Pointer not checked for null before use : ctx.pool | CERT EXP08-C,EXP34-C
| 213 |  |
M | 248 | Pointer not checked for null before use : ctx.pool | CERT EXP08-C,EXP34-C
| 213 |  |
M | 220 | Pointer not checked for null before use : set | CERT EXP08-C,EXP34-C
| 219 |  |
M | 221 | Pointer not checked for null before use : log_file_path | CERT EXP08-C,EXP34-C
| 220 |  |
M | 216 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| Ref. Line -1101 (Module 292) |  |
M | 219 | Pointer not checked for null before use : master_service | CERT EXP08-C,EXP34-C
| Ref. Line -2763 (Module 292) |  |
M | 254 | Procedure contains UR data flow anomalies. : key | CERT EXP33-C
| 258 |  |
M | 210 | Declaration types do not match across a system. : ctx | CERT ARR31-C

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-log.c | 254 | doveadm-log.c | 258 | key

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_altmove_box (12 to 34 doveadm-mail-altmove.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 23 | Pointer not checked for null before use : trans | CERT EXP08-C,EXP34-C
| 20 |  |
M | 33 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| 20 |  |
M | 16 | Procedure contains UR data flow anomalies. : iter | CERT EXP33-C
| 20 |  |
M | 17 | Procedure contains UR data flow anomalies. : trans | CERT EXP33-C
| 20 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-altmove.c | 16 | doveadm-mail-altmove.c | 20 | iter
doveadm-mail-altmove.c | 17 | doveadm-mail-altmove.c | 20 | trans

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_altmove_run (44 to 89 doveadm-mail-altmove.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 65 | Pointer not checked for null before use : (arr)->buffer | CERT EXP08-C,EXP34-C
| 59 |  |
M | 65 | Pointer not checked for null before use : (arr)->element_size | CERT EXP08-C,EXP34-C
| 59 |  |
M | 72 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| 70 |  |
M | 55 | Procedure contains UR data flow anomalies. : purged_storages.arr.buffer | CERT EXP33-C
| 75 |  |
M | 55 | Procedure contains UR data flow anomalies. : purged_storages.arr.element_size | CERT EXP33-C
| 75 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-altmove.c | 55 | doveadm-mail-altmove.c | 75 | purged_storages.arr.buffer
doveadm-mail-altmove.c | 55 | doveadm-mail-altmove.c | 75 | purged_storages.arr.element_size

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_altmove_alloc (99 to 107 doveadm-mail-altmove.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 106 | Local structure returned in function result : ctx |
M | 104 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 103 |  |
M | 101 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_expunge_box (12 to 33 doveadm-mail-expunge.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 23 | Pointer not checked for null before use : trans | CERT EXP08-C,EXP34-C
| 20 |  |
M | 32 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| 20 |  |
M | 17 | Procedure contains UR data flow anomalies. : trans | CERT EXP33-C
| 20 |  |
M | 16 | Procedure contains UR data flow anomalies. : iter | CERT EXP33-C
| 20 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-expunge.c | 17 | doveadm-mail-expunge.c | 20 | trans
doveadm-mail-expunge.c | 16 | doveadm-mail-expunge.c | 20 | iter

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_expunge_run (164 to 190 doveadm-mail-expunge.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_expunge_alloc (202 to 210 doveadm-mail-expunge.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 209 | Local structure returned in function result : ctx |
M | 207 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 206 |  |
M | 204 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_mailbox (47 to 62 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

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

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 49 | doveadm-mail-fetch.c | 52 | value

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_mailbox_guid (64 to 72 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 66 | Procedure contains UR data flow anomalies. : guid | CERT EXP33-C
| 68 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 66 | doveadm-mail-fetch.c | 68 | guid

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_guid (86 to 94 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 88 | Procedure contains UR data flow anomalies. : value | CERT EXP33-C
| 90 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 88 | doveadm-mail-fetch.c | 90 | value

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_flags (96 to 104 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_hdr (106 to 133 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 131 | Pointer not checked for null before use : NULL | CERT EXP08-C,EXP34-C
M | 110 | Procedure contains UR data flow anomalies. : data | CERT EXP33-C
| 119 |  |
M | 109 | Procedure contains UR data flow anomalies. : hdr_size.physical_size | CERT EXP33-C
| 117 |  |
M | 111 | Procedure contains UR data flow anomalies. : size | CERT EXP33-C
| 119 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 110 | doveadm-mail-fetch.c | 119 | data
doveadm-mail-fetch.c | 109 | doveadm-mail-fetch.c | 117 | hdr_size.physical_size
doveadm-mail-fetch.c | 111 | doveadm-mail-fetch.c | 119 | size

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_hdr_field (135 to 152 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 144 | Pointer not checked for null before use : value | CERT EXP08-C,EXP34-C
| 144 |  |
M | 150 | Pointer not checked for null before use : str | CERT EXP08-C,EXP34-C
| 138 |  |
M | 146 | Pointer not checked for null before use : str | CERT EXP08-C,EXP34-C
| 138 |  |
M | 137 | Procedure contains UR data flow anomalies. : value | CERT EXP33-C
| 141 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 137 | doveadm-mail-fetch.c | 141 | value

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_body (154 to 180 doveadm-mail-fetch.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 : NULL | CERT EXP08-C,EXP34-C
M | 158 | Procedure contains UR data flow anomalies. : data | CERT EXP33-C
| 167 |  |
M | 157 | Procedure contains UR data flow anomalies. : hdr_size.physical_size | CERT EXP33-C
| 165 |  |
M | 159 | Procedure contains UR data flow anomalies. : size | CERT EXP33-C
| 167 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 158 | doveadm-mail-fetch.c | 167 | data
doveadm-mail-fetch.c | 157 | doveadm-mail-fetch.c | 165 | hdr_size.physical_size
doveadm-mail-fetch.c | 159 | doveadm-mail-fetch.c | 167 | size

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_text (182 to 206 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 204 | Pointer not checked for null before use : NULL | CERT EXP08-C,EXP34-C
M | 185 | Procedure contains UR data flow anomalies. : data | CERT EXP33-C
| 193 |  |
M | 186 | Procedure contains UR data flow anomalies. : size | CERT EXP33-C
| 193 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 185 | doveadm-mail-fetch.c | 193 | data
doveadm-mail-fetch.c | 186 | doveadm-mail-fetch.c | 193 | size

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_size_physical (208 to 216 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 210 | Procedure contains UR data flow anomalies. : size | CERT EXP33-C
| 212 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 210 | doveadm-mail-fetch.c | 212 | size

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_size_virtual (218 to 226 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 220 | Procedure contains UR data flow anomalies. : size | CERT EXP33-C
| 222 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 220 | doveadm-mail-fetch.c | 222 | size

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_date_received (228 to 236 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 230 | Procedure contains UR data flow anomalies. : t | CERT EXP33-C
| 232 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 230 | doveadm-mail-fetch.c | 232 | t

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_date_sent (238 to 252 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 240 | Procedure contains UR data flow anomalies. : t | CERT EXP33-C
| 244 |  |
M | 241 | Procedure contains UR data flow anomalies. : tz | CERT EXP33-C
| 244 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 240 | doveadm-mail-fetch.c | 244 | t
doveadm-mail-fetch.c | 241 | doveadm-mail-fetch.c | 244 | tz

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_date_saved (254 to 262 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 256 | Procedure contains UR data flow anomalies. : t | CERT EXP33-C
| 258 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 256 | doveadm-mail-fetch.c | 258 | t

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_imap_envelope (264 to 272 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 266 | Procedure contains UR data flow anomalies. : value | CERT EXP33-C
| 268 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 266 | doveadm-mail-fetch.c | 268 | value

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_imap_body (274 to 282 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 276 | Procedure contains UR data flow anomalies. : value | CERT EXP33-C
| 278 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 276 | doveadm-mail-fetch.c | 278 | value

[ | Top of Report | | | Procedure Table | | | Contents | ]

fetch_imap_bodystructure (284 to 292 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 286 | Procedure contains UR data flow anomalies. : value | CERT EXP33-C
| 288 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 286 | doveadm-mail-fetch.c | 288 | value

[ | Top of Report | | | Procedure Table | | | Contents | ]

print_fetch_fields (327 to 335 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 331 | Pointer not checked for null before use : fetch_fields.name | CERT EXP08-C,EXP34-C
| 294 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

parse_fetch_fields (337 to 369 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 352 | Pointer not checked for null before use : name | CERT EXP08-C,EXP34-C
| 350 |  |
M | 355 | Pointer not checked for null before use : name | CERT EXP08-C,EXP34-C
| 354 |  |
M | 356 | Pointer not checked for null before use : hdr_field.name | CERT EXP08-C,EXP34-C
| 355 |  |
M | 349 | Pointer not checked for null before use : fields | CERT EXP08-C,EXP34-C
| 348 |  |
M | 356 | Pointer not checked for null before use : (arr)->buffer | CERT EXP08-C,EXP34-C
| 347 |  |
M | 356 | Pointer not checked for null before use : (arr)->element_size | CERT EXP08-C,EXP34-C
| 347 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_fetch_mail (371 to 387 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_fetch_box (389 to 418 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 403 | Pointer not checked for null before use : trans | CERT EXP08-C,EXP34-C
| 397 |  |
M | 409 | Pointer not checked for null before use : mail | CERT EXP08-C,EXP34-C
| 406 |  |
M | 406 | Pointer not checked for null before use : headers | CERT EXP08-C,EXP34-C
| 402 |  |
M | 417 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| 397 |  |
M | 392 | Procedure contains UR data flow anomalies. : iter | CERT EXP33-C
| 397 |  |
M | 393 | Procedure contains UR data flow anomalies. : trans | CERT EXP33-C
| 397 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-fetch.c | 392 | doveadm-mail-fetch.c | 397 | iter
doveadm-mail-fetch.c | 393 | doveadm-mail-fetch.c | 397 | trans

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_fetch_run (420 to 436 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 435 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| 433 |  |
M | 423 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_fetch_deinit (438 to 443 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 440 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_fetch_init (445 to 458 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 448 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_fetch_alloc (460 to 470 doveadm-mail-fetch.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 465 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 464 |  |
M | 462 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_iter_init (18 to 50 doveadm-mail-iter.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 43 | Attempt to use already freed object. | CERT MEM31-C
M | 44 | Attempt to use already freed object. | CERT MEM31-C
M | 45 | Attempt to use already freed object. | CERT MEM31-C
M | 47 | Attempt to use already freed object. | CERT MEM31-C
M | 48 | Attempt to use already freed object. | CERT MEM31-C
M | 29 | Pointer not checked for null before use : iter | CERT EXP08-C,EXP34-C
| 28 |  |
M | 29 | Pointer not checked for null before use : storage_name | CERT EXP08-C,EXP34-C
| 26 |  |
M | 28 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| Ref. Line -1101 (Module 296) |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_iter_deinit (73 to 84 doveadm-mail-iter.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_list_iter_init (52 to 83 doveadm-mail-list-iter.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 82 | Local structure returned in function result : iter |
M | 64 | Pointer not checked for null before use : iter | CERT EXP08-C,EXP34-C
| 63 |  |
M | 68 | Pointer not checked for null before use : (arr)->buffer | CERT EXP08-C,EXP34-C
| 66 |  |
M | 68 | Pointer not checked for null before use : (arr)->element_size | CERT EXP08-C,EXP34-C
| 66 |  |
M | 59 | Procedure contains UR data flow anomalies. : patterns.arr.element_size | CERT EXP33-C
| 67 |  |
M | 59 | Procedure contains UR data flow anomalies. : patterns.arr.buffer | CERT EXP33-C
| 67 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-list-iter.c | 59 | doveadm-mail-list-iter.c | 67 | patterns.arr.element_size
doveadm-mail-list-iter.c | 59 | doveadm-mail-list-iter.c | 67 | patterns.arr.buffer

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_list_iter_full_init (85 to 95 doveadm-mail-list-iter.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 94 | Local structure returned in function result : iter |
M | 93 | Pointer not checked for null before use : iter | CERT EXP08-C,EXP34-C
| 92 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_list_iter_next (108 to 131 doveadm-mail-list-iter.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 130 | Local structure returned in function result : info |

[ | Top of Report | | | Procedure Table | | | Contents | ]

status_mailbox (107 to 129 doveadm-mail-mailbox-status.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 110 | Procedure contains UR data flow anomalies. : box | CERT EXP33-C
| 114 |  |
M | 112 | Procedure contains UR data flow anomalies. : mailbox_guid | CERT EXP33-C
| 121 |  |
M | 111 | Procedure contains UR data flow anomalies. : status.cache_fields | CERT EXP33-C
| 119 |  |
M | 111 | Procedure contains UR data flow anomalies. : status.first_unseen_seq | CERT EXP33-C
| 119 |  |
M | 111 | Procedure contains UR data flow anomalies. : status.highest_modseq | CERT EXP33-C
| 119 |  |
M | 111 | Procedure contains UR data flow anomalies. : status.keywords | CERT EXP33-C
| 119 |  |
M | 111 | Procedure contains UR data flow anomalies. : status.messages | CERT EXP33-C
| 119 |  |
M | 111 | Procedure contains UR data flow anomalies. : status.nonpermanent_modseqs | CERT EXP33-C
| 119 |  |
M | 111 | Procedure contains UR data flow anomalies. : status.recent | CERT EXP33-C
| 119 |  |
M | 111 | Procedure contains UR data flow anomalies. : status.uidnext | CERT EXP33-C
| 119 |  |
M | 111 | Procedure contains UR data flow anomalies. : status.uidvalidity | CERT EXP33-C
| 119 |  |
M | 111 | Procedure contains UR data flow anomalies. : status.unseen | CERT EXP33-C
| 119 |  |
M | 111 | Procedure contains UR data flow anomalies. : status.virtual_size | CERT EXP33-C
| 119 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-mailbox-status.c | 110 | doveadm-mail-mailbox-status.c | 114 | box
doveadm-mail-mailbox-status.c | 112 | doveadm-mail-mailbox-status.c | 121 | mailbox_guid
doveadm-mail-mailbox-status.c | 111 | doveadm-mail-mailbox-status.c | 119 | status.cache_fields
doveadm-mail-mailbox-status.c | 111 | doveadm-mail-mailbox-status.c | 119 | status.first_unseen_seq
doveadm-mail-mailbox-status.c | 111 | doveadm-mail-mailbox-status.c | 119 | status.highest_modseq
doveadm-mail-mailbox-status.c | 111 | doveadm-mail-mailbox-status.c | 119 | status.keywords
doveadm-mail-mailbox-status.c | 111 | doveadm-mail-mailbox-status.c | 119 | status.messages
doveadm-mail-mailbox-status.c | 111 | doveadm-mail-mailbox-status.c | 119 | status.nonpermanent_modseqs
doveadm-mail-mailbox-status.c | 111 | doveadm-mail-mailbox-status.c | 119 | status.recent
doveadm-mail-mailbox-status.c | 111 | doveadm-mail-mailbox-status.c | 119 | status.uidnext
doveadm-mail-mailbox-status.c | 111 | doveadm-mail-mailbox-status.c | 119 | status.uidvalidity
doveadm-mail-mailbox-status.c | 111 | doveadm-mail-mailbox-status.c | 119 | status.unseen
doveadm-mail-mailbox-status.c | 111 | doveadm-mail-mailbox-status.c | 119 | status.virtual_size

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_status_run (131 to 156 doveadm-mail-mailbox-status.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 144 | Sizeof argument is a pointer. | CERT EXP01-C
M | 155 | Pointer not checked for null before use : NULL | CERT EXP08-C,EXP34-C
M | 135 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_status_init (158 to 190 doveadm-mail-mailbox-status.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 161 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_status_parse_arg (192 to 205 doveadm-mail-mailbox-status.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 195 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_status_alloc (207 to 218 doveadm-mail-mailbox-status.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 212 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 211 |  |
M | 209 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mailbox_args_to_mutf7 (37 to 55 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 51 | Pointer not checked for null before use : mutf7 | CERT EXP08-C,EXP34-C
| 50 |  |
M | 47 | Pointer not checked for null before use : str | CERT EXP08-C,EXP34-C
| 44 |  |
M | 51 | Pointer not checked for null before use : (arr)->buffer | CERT EXP08-C,EXP34-C
| 45 |  |
M | 51 | Pointer not checked for null before use : (arr)->element_size | CERT EXP08-C,EXP34-C
| 45 |  |
M | 39 | Procedure contains UR data flow anomalies. : dest.arr.element_size | CERT EXP33-C
| 53 |  |
M | 39 | Procedure contains UR data flow anomalies. : dest.arr.buffer | CERT EXP33-C
| 53 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-mailbox.c | 39 | doveadm-mail-mailbox.c | 53 | dest.arr.element_size
doveadm-mail-mailbox.c | 39 | doveadm-mail-mailbox.c | 53 | dest.arr.buffer

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_parse_arg (57 to 70 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 59 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mailbox_cmd_alloc_size (74 to 83 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 82 | Local structure returned in function result : ctx |
M | 80 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 79 |  |
M | 77 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_list_parse_arg (85 to 104 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 88 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_list_run (106 to 133 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 126 | Pointer not checked for null before use : str | CERT EXP08-C,EXP34-C
| 118 |  |
M | 110 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_mailbox_search_args_build (135 to 156 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 155 | Local structure returned in function result : search_args |
M | 146 | Pointer not checked for null before use : arg | CERT EXP08-C,EXP34-C
| 145 |  |
M | 153 | Pointer not checked for null before use : arg | CERT EXP08-C,EXP34-C
| 152 |  |
M | 145 | Pointer not checked for null before use : search_args | CERT EXP08-C,EXP34-C
| 143 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_list_init (158 to 166 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 161 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_list_alloc (168 to 179 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 173 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 172 |  |
M | 170 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_create_run (181 to 221 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 206 | Pointer not checked for null before use : box | CERT EXP08-C,EXP34-C
| 205 |  |
M | 210 | Pointer not checked for null before use : storage | CERT EXP08-C,EXP34-C
| 207 |  |
M | 205 | Pointer not checked for null before use : storage_name | CERT EXP08-C,EXP34-C
| 201 |  |
M | 185 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_create_init (223 to 238 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 236 | Pointer not checked for null before use : name | CERT EXP08-C,EXP34-C
| 235 |  |
M | 226 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_create_alloc (240 to 249 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 245 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 244 |  |
M | 242 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_delete_run (251 to 283 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 268 | Pointer not checked for null before use : box | CERT EXP08-C,EXP34-C
| 267 |  |
M | 272 | Pointer not checked for null before use : storage | CERT EXP08-C,EXP34-C
| 269 |  |
M | 255 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_delete_init (285 to 300 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 298 | Pointer not checked for null before use : name | CERT EXP08-C,EXP34-C
| 297 |  |
M | 288 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_delete_alloc (302 to 311 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 307 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 306 |  |
M | 304 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_rename_run (313 to 351 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 332 | Pointer not checked for null before use : newbox | CERT EXP08-C,EXP34-C
| 331 |  |
M | 336 | Pointer not checked for null before use : storage | CERT EXP08-C,EXP34-C
| 333 |  |
M | 317 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_rename_init (353 to 364 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 356 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_rename_alloc (366 to 374 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 371 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 370 |  |
M | 368 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_subscribe_run (376 to 402 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 400 | Pointer not checked for null before use : box | CERT EXP08-C,EXP34-C
| 392 |  |
M | 380 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_subscribe_init (404 to 422 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 420 | Pointer not checked for null before use : name | CERT EXP08-C,EXP34-C
| 419 |  |
M | 407 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_subscriptions_alloc (424 to 437 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 430 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 429 |  |
M | 427 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_mailbox_mutf7 (449 to 490 doveadm-mail-mailbox.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_search_box (12 to 42 doveadm-mail-search.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 : mail | CERT EXP08-C,EXP34-C
| 26 |  |
M | 26 | Pointer not checked for null before use : trans | CERT EXP08-C,EXP34-C
| 23 |  |
M | 32 | Pointer not checked for null before use : guid_str | CERT EXP08-C,EXP34-C
| 30 |  |
M | 39 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| 23 |  |
M | 19 | Procedure contains UR data flow anomalies. : guid | CERT EXP33-C
| 27 |  |
M | 16 | Procedure contains UR data flow anomalies. : iter | CERT EXP33-C
| 23 |  |
M | 17 | Procedure contains UR data flow anomalies. : trans | CERT EXP33-C
| 23 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail-search.c | 19 | doveadm-mail-search.c | 27 | guid
doveadm-mail-search.c | 16 | doveadm-mail-search.c | 23 | iter
doveadm-mail-search.c | 17 | doveadm-mail-search.c | 23 | trans

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_search_run (44 to 60 doveadm-mail-search.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_search_alloc (76 to 85 doveadm-mail-search.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 84 | Local structure returned in function result : ctx |
M | 81 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 80 |  |
M | 78 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_cmd_alloc_size (34 to 46 doveadm-mail.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 45 | Local structure returned in function result : ctx |
M | 43 | Pointer not checked for null before use : pool | CERT EXP08-C,EXP34-C
| 42 |  |
M | 44 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 43 |  |
M | 37 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_purge_alloc (65 to 72 doveadm-mail.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 71 | Local structure returned in function result : ctx |
M | 70 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 69 |  |
M | 67 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

mailbox_find_and_open (74 to 102 doveadm-mail.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 87 | Pointer not checked for null before use : mailbox | CERT EXP08-C,EXP34-C
| 85 |  |
M | 93 | Pointer not checked for null before use : box | CERT EXP08-C,EXP34-C
| 91 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mailbox_find_and_sync (104 to 116 doveadm-mail.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 109 | Pointer not checked for null before use : box_r | CERT EXP08-C,EXP34-C
| 107 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_build_search_args (118 to 131 doveadm-mail.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 126 | Pointer not checked for null before use : parser | CERT EXP08-C,EXP34-C
| 125 |  |
M | 123 | Procedure contains UR data flow anomalies. : error | CERT EXP33-C
| 126 |  |
M | 122 | Procedure contains UR data flow anomalies. : sargs | CERT EXP33-C
| 126 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail.c | 123 | doveadm-mail.c | 126 | error
doveadm-mail.c | 122 | doveadm-mail.c | 126 | sargs

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_force_resync_run (138 to 159 doveadm-mail.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 155 | Pointer not checked for null before use : storage | CERT EXP08-C,EXP34-C
| 150 |  |
M | 144 | Procedure contains UR data flow anomalies. : box | CERT EXP33-C
| 146 |  |
M | 141 | Declaration types do not match across a system. : ctx | CERT ARR31-C

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail.c | 144 | doveadm-mail.c | 146 | box

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_force_resync_init (161 to 172 doveadm-mail.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 164 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_force_resync_alloc (174 to 182 doveadm-mail.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 179 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 178 |  |
M | 176 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_next_user (184 to 217 doveadm-mail.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 190 | Procedure contains UR data flow anomalies. : error | CERT EXP33-C
| 195 |  |
M | 189 | Procedure contains UR data flow anomalies. : service_user | CERT EXP33-C
| 195 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail.c | 190 | doveadm-mail.c | 195 | error
doveadm-mail.c | 189 | doveadm-mail.c | 195 | service_user

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_single_user (219 to 245 doveadm-mail.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 239 | Pointer not checked for null before use : input.username | CERT EXP08-C,EXP34-C
| 232 |  |
M | 241 | Pointer not checked for null before use : error | CERT EXP08-C,EXP34-C
| 239 |  |
M | 225 | Procedure contains UR data flow anomalies. : error | CERT EXP33-C
| 241 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail.c | 225 | doveadm-mail.c | 241 | error

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_all_users (252 to 315 doveadm-mail.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 289 | Pointer not checked for null before use : input.username | CERT EXP08-C,EXP34-C
| 286 |  |
M | 291 | Pointer not checked for null before use : error | CERT EXP08-C,EXP34-C
| 289 |  |
M | 259 | Procedure contains UR data flow anomalies. : error | CERT EXP33-C
| 291 |  |
M | 259 | Procedure contains UR data flow anomalies. : user | CERT EXP33-C
| 281 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail.c | 259 | doveadm-mail.c | 291 | error
doveadm-mail.c | 259 | doveadm-mail.c | 281 | user

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_cmd (335 to 406 doveadm-mail.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 349 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 348 |  |
M | 370 | Pointer not checked for null before use : username | CERT EXP08-C,EXP34-C
| 369 |  |
M | 361 | Pointer not checked for null before use : getopt_args | CERT EXP08-C,EXP34-C
| 358 |  |
M | 360 | Procedure contains UR data flow anomalies. : wildcard_user | CERT EXP33-C
| 341 |  |
M | 340 | Declaration types do not match across a system. : ctx | CERT ARR31-C

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-mail.c | 360 | doveadm-mail.c | 386 | wildcard_user
doveadm-mail.c | 360 | doveadm-mail.c | 399 | wildcard_user

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_try_run (434 to 460 doveadm-mail.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_register_cmd (462 to 466 doveadm-mail.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 465 | Pointer not checked for null before use : doveadm_mail_cmds.v_modifiable | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |
M | 465 | Pointer not checked for null before use : doveadm_mail_cmds.v | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |
M | 465 | Pointer not checked for null before use : doveadm_mail_cmds.arr.buffer | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_usage (468 to 478 doveadm-mail.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 472 | Pointer not checked for null before use : doveadm_mail_cmds.v | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |
M | 472 | Pointer not checked for null before use : doveadm_mail_cmds.arr.buffer | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_try_help_name (487 to 495 doveadm-mail.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 491 | Pointer not checked for null before use : doveadm_mail_cmds.v | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |
M | 491 | Pointer not checked for null before use : doveadm_mail_cmds.arr.buffer | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_has_subcommands (497 to 508 doveadm-mail.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 502 | Pointer not checked for null before use : doveadm_mail_cmds.v | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |
M | 502 | Pointer not checked for null before use : doveadm_mail_cmds.arr.buffer | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_init (539 to 559 doveadm-mail.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 545 | Sizeof argument is a pointer. | CERT EXP01-C
M | 554 | Pointer not checked for null before use : mod_set.version | CERT EXP08-C,EXP34-C
| 549 |  |
M | 544 | Pointer not checked for null before use : doveadm_mail_cmds.v_modifiable | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |
M | 544 | Pointer not checked for null before use : doveadm_mail_cmds.v | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |
M | 544 | Pointer not checked for null before use : doveadm_mail_cmds.arr.buffer | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |
M | 544 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| Ref. Line -1101 (Module 301) |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_mail_deinit (561 to 564 doveadm-mail.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 563 | Pointer not checked for null before use : doveadm_mail_cmds.v_modifiable | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |
M | 563 | Pointer not checked for null before use : doveadm_mail_cmds.v | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |
M | 563 | Pointer not checked for null before use : doveadm_mail_cmds.arr.buffer | CERT EXP08-C,EXP34-C
| 58 (doveadm-mail.h) |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

pid_file_read (12 to 46 doveadm-master.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 34 | Array Bound exceeded. | CERT ARR30-C
M | 37 | User input not checked before use. : buf | CERT FIO30-C
| 36 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_master_send_signal (48 to 75 doveadm-master.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 57 | Pointer not checked for null before use : pidfile_path | CERT EXP08-C,EXP34-C
| 54 |  |
M | 54 | Pointer not checked for null before use : doveadm_settings | CERT EXP08-C,EXP34-C
| Ref. Line -2123 (Module 302) |  |
M | 52 | Procedure contains UR data flow anomalies. : pid | CERT EXP33-C
| 57 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-master.c | 52 | doveadm-master.c | 57 | pid
doveadm-master.c | 52 | doveadm-master.c | 60 | pid

[ | Top of Report | | | Procedure Table | | | Contents | ]

penalty_parse_line (28 to 42 doveadm-penalty.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 31 | Pointer not checked for null before use : args | CERT EXP08-C,EXP34-C
| 30 |  |
M | 38 | Pointer not checked for null before use : ident | CERT EXP08-C,EXP34-C
| 31 |  |
M | 38 | Pointer not checked for null before use : line_r | CERT EXP08-C,EXP34-C
| 36 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

penalty_print_line (44 to 61 doveadm-penalty.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_penalty (95 to 121 doveadm-penalty.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 101 | Pointer not checked for null before use : doveadm_settings | CERT EXP08-C,EXP34-C
| Ref. Line -2123 (Module 303) |  |
M | 120 | Pointer not checked for null before use : ctx.anvil_path | CERT EXP08-C,EXP34-C
| 101 |  |
M | 97 | Declaration types do not match across a system. : ctx | CERT ARR31-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_flow_header (24 to 32 doveadm-print-flow.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 30 | Pointer not checked for null before use : fhdr | CERT EXP08-C,EXP34-C
| 29 |  |
M | 30 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 22 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_flow_print (44 to 53 doveadm-print-flow.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_flow_print_stream (55 to 71 doveadm-print-flow.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 66 | Insufficient formats in output function. | CERT FIO00-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_flow_init (73 to 81 doveadm-print-flow.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 78 | Pointer not checked for null before use : pool | CERT EXP08-C,EXP34-C
| 77 |  |
M | 79 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 78 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_flow_deinit (91 to 95 doveadm-print-flow.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_pager_header (23 to 30 doveadm-print-pager.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 29 | Pointer not checked for null before use : fhdr | CERT EXP08-C,EXP34-C
| 28 |  |
M | 29 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 21 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_pager_print (40 to 47 doveadm-print-pager.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_pager_print_stream (49 to 64 doveadm-print-pager.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 59 | Insufficient formats in output function. | CERT FIO00-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_pager_init (66 to 74 doveadm-print-pager.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 71 | Pointer not checked for null before use : pool | CERT EXP08-C,EXP34-C
| 70 |  |
M | 72 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 71 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_pager_deinit (84 to 88 doveadm-print-pager.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_tab_print_stream (43 to 57 doveadm-print-tab.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 56 | Insufficient formats in output function. | CERT FIO00-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_table_header (35 to 45 doveadm-print-table.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 41 | Pointer not checked for null before use : thdr | CERT EXP08-C,EXP34-C
| 40 |  |
M | 42 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 33 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_calc_header_length (47 to 108 doveadm-print-table.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 65 | Pointer not checked for null before use : value | CERT EXP08-C,EXP34-C
| 64 |  |
M | 57 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 33 |  |
M | 78 | Pointer not checked for null before use : headers | CERT EXP08-C,EXP34-C
| 56 |  |
M | 64 | Pointer not checked for null before use : values | CERT EXP08-C,EXP34-C
| 57 |  |
M | 51 | Procedure contains UR data flow anomalies. : value_count | CERT EXP33-C
| 58 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-print-table.c | 51 | doveadm-print-table.c | 58 | value_count

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_next (110 to 127 doveadm-print-table.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 117 | Insufficient formats in output function. | CERT FIO00-C
M | 119 | Insufficient formats in output function. | CERT FIO00-C
M | 116 | Pointer not checked for null before use : hdr | CERT EXP08-C,EXP34-C
| 114 |  |
M | 114 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 33 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_buffer_flush (129 to 155 doveadm-print-table.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 137 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 33 |  |
M | 133 | Procedure contains UR data flow anomalies. : count | CERT EXP33-C
| 138 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-print-table.c | 133 | doveadm-print-table.c | 138 | count

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_table_print (157 to 172 doveadm-print-table.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_table_init (187 to 203 doveadm-print-table.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 193 | Pointer not checked for null before use : pool | CERT EXP08-C,EXP34-C
| 192 |  |
M | 194 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 193 |  |
M | 196 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| Ref. Line -1101 (Module 307) |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_table_deinit (205 to 210 doveadm-print-table.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_header (36 to 54 doveadm-print.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 49 | Pointer not checked for null before use : hdr.title | CERT EXP08-C,EXP34-C
| 47 |  |
M | 49 | Pointer not checked for null before use : hdr.key | CERT EXP08-C,EXP34-C
| 46 |  |
M | 52 | Pointer not checked for null before use : hdr_ctx | CERT EXP08-C,EXP34-C
| 51 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print (61 to 80 doveadm-print.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_stream (89 to 92 doveadm-print.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_init (120 to 145 doveadm-print.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 135 | Sizeof argument is a pointer. | CERT EXP01-C
M | 131 | Pointer not checked for null before use : pool | CERT EXP08-C,EXP34-C
| 130 |  |
M | 132 | Pointer not checked for null before use : ctx | CERT EXP08-C,EXP34-C
| 131 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_print_deinit (147 to 162 doveadm-print.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 158 | Pointer not checked for null before use : (hdr)->sticky_value | CERT EXP08-C,EXP34-C
| 158 |  |
M | 158 | Attempt to read from freed memory. : default_pool | CERT MEM30-C

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_pw (18 to 115 doveadm-pw.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 81 | Pointer not checked for null before use : plaintext | CERT EXP08-C,EXP34-C
| 79 |  |
M | 81 | Pointer not checked for null before use : check | CERT EXP08-C,EXP34-C
| 80 |  |
M | 89 | Pointer not checked for null before use : user | CERT EXP08-C,EXP34-C
| 46 |  |
M | 71 | Pointer not checked for null before use : scheme | CERT EXP08-C,EXP34-C
| 43 |  |
M | 89 | Pointer not checked for null before use : scheme | CERT EXP08-C,EXP34-C
| 71 |  |
M | 63 | Pointer not checked for null before use : schemes | CERT EXP08-C,EXP34-C
| 61 |  |
M | 85 | Procedure contains UR data flow anomalies. : plaintext | CERT EXP33-C
| 23 |  |
M | 94 | Procedure contains UR data flow anomalies. : raw_password | CERT EXP33-C
| 97 |  |
M | 95 | Procedure contains UR data flow anomalies. : size | CERT EXP33-C
| 97 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-pw.c | 85 | doveadm-pw.c | 75 | plaintext
doveadm-pw.c | 94 | doveadm-pw.c | 97 | raw_password
doveadm-pw.c | 95 | doveadm-pw.c | 97 | size

[ | Top of Report | | | Procedure Table | | | Contents | ]

who_parse_line (56 to 73 doveadm-who.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 59 | Pointer not checked for null before use : args | CERT EXP08-C,EXP34-C
| 58 |  |
M | 66 | Pointer not checked for null before use : ident | CERT EXP08-C,EXP34-C
| 59 |  |
M | 67 | Pointer not checked for null before use : line_r | CERT EXP08-C,EXP34-C
| 64 |  |
M | 68 | Pointer not checked for null before use : p | CERT EXP08-C,EXP34-C
| 66 |  |
M | 69 | Pointer not checked for null before use : p | CERT EXP08-C,EXP34-C
| 68 |  |
M | 72 | Pointer not checked for null before use : ip_str | CERT EXP08-C,EXP34-C
| 71 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

who_aggregate_line (86 to 110 doveadm-who.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 94 | Pointer not checked for null before use : lookup_user.service | CERT EXP08-C,EXP34-C
| 92 |  |
M | 94 | Pointer not checked for null before use : lookup_user.username | CERT EXP08-C,EXP34-C
| 91 |  |
M | 97 | Pointer not checked for null before use : user | CERT EXP08-C,EXP34-C
| 96 |  |
M | 89 | Procedure contains UR data flow anomalies. : lookup_user.connection_count | CERT EXP33-C
| 94 |  |
M | 89 | Procedure contains UR data flow anomalies. : lookup_user.ips.arr.buffer | CERT EXP33-C
| 94 |  |
M | 89 | Procedure contains UR data flow anomalies. : lookup_user.ips.arr.element_size | CERT EXP33-C
| 94 |  |
M | 89 | Procedure contains UR data flow anomalies. : lookup_user.ips.v | CERT EXP33-C
| 94 |  |
M | 89 | Procedure contains UR data flow anomalies. : lookup_user.ips.v_modifiable | CERT EXP33-C
| 94 |  |
M | 89 | Procedure contains UR data flow anomalies. : lookup_user.pids.arr.buffer | CERT EXP33-C
| 94 |  |
M | 89 | Procedure contains UR data flow anomalies. : lookup_user.pids.arr.element_size | CERT EXP33-C
| 94 |  |
M | 89 | Procedure contains UR data flow anomalies. : lookup_user.pids.v | CERT EXP33-C
| 94 |  |
M | 89 | Procedure contains UR data flow anomalies. : lookup_user.pids.v_modifiable | CERT EXP33-C
| 94 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-who.c | 89 | doveadm-who.c | 94 | lookup_user.connection_count
doveadm-who.c | 89 | doveadm-who.c | 94 | lookup_user.ips.arr.buffer
doveadm-who.c | 89 | doveadm-who.c | 94 | lookup_user.ips.arr.element_size
doveadm-who.c | 89 | doveadm-who.c | 94 | lookup_user.ips.v
doveadm-who.c | 89 | doveadm-who.c | 94 | lookup_user.ips.v_modifiable
doveadm-who.c | 89 | doveadm-who.c | 94 | lookup_user.pids.arr.buffer
doveadm-who.c | 89 | doveadm-who.c | 94 | lookup_user.pids.arr.element_size
doveadm-who.c | 89 | doveadm-who.c | 94 | lookup_user.pids.v
doveadm-who.c | 89 | doveadm-who.c | 94 | lookup_user.pids.v_modifiable

[ | Top of Report | | | Procedure Table | | | Contents | ]

who_parse_args (112 to 130 doveadm-who.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 115 | Procedure contains UR data flow anomalies. : net_bits | CERT EXP33-C
| 118 |  |
M | 114 | Procedure contains UR data flow anomalies. : net_ip.family | CERT EXP33-C
| 121 |  |
M | 114 | Procedure contains UR data flow anomalies. : net_ip.u.ip4 | CERT EXP33-C
| 121 |  |
M | 114 | Procedure contains UR data flow anomalies. : net_ip.u.ip6 | CERT EXP33-C
| 121 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-who.c | 115 | doveadm-who.c | 118 | net_bits
doveadm-who.c | 114 | doveadm-who.c | 121 | net_ip.family
doveadm-who.c | 114 | doveadm-who.c | 121 | net_ip.u.ip4
doveadm-who.c | 114 | doveadm-who.c | 121 | net_ip.u.ip6

[ | Top of Report | | | Procedure Table | | | Contents | ]

who_print_user (188 to 214 doveadm-who.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

who_print (216 to 237 doveadm-who.c) - FAIL

#### Standards Violation Summary

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

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

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm-who.c | 219 | doveadm-who.c | 229 | key

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_who (270 to 312 doveadm-who.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 279 | Pointer not checked for null before use : ctx.pool | CERT EXP08-C,EXP34-C
| 278 |  |
M | 277 | Pointer not checked for null before use : doveadm_settings | CERT EXP08-C,EXP34-C
| Ref. Line -2123 (Module 311) |  |
M | 279 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| Ref. Line -1101 (Module 311) |  |
M | 310 | Pointer not checked for null before use : ctx.users | CERT EXP08-C,EXP34-C
| 279 |  |
M | 301 | Pointer not checked for null before use : ctx.filter.username | CERT EXP08-C,EXP34-C
| 296 |  |
M | 307 | Pointer not checked for null before use : ctx.anvil_path | CERT EXP08-C,EXP34-C
| 277 |  |
M | 272 | Declaration types do not match across a system. : ctx | CERT ARR31-C
| 22 (doveadm-print-flow.c) |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_usage_compress_lines (29 to 82 doveadm.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 69 | Pointer not checked for null before use : short_name | CERT EXP08-C,EXP34-C
| 68 |  |
M | 60 | Pointer not checked for null before use : cmd | CERT EXP08-C,EXP34-C
| 57 |  |
M | 66 | Pointer not checked for null before use : args | CERT EXP08-C,EXP34-C
| 51 |  |
M | 45 | Pointer not checked for null before use : lines | CERT EXP08-C,EXP34-C
| 41 |  |
M | 32 | Procedure contains UR data flow anomalies. : short_name | CERT EXP33-C
| 80 |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
doveadm.c | 32 | doveadm.c | 80 | short_name

[ | Top of Report | | | Procedure Table | | | Contents | ]

usage_to (84 to 102 doveadm.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 98 | Pointer not checked for null before use : str | CERT EXP08-C,EXP34-C
| 88 |  |
M | 95 | Pointer not checked for null before use : str | CERT EXP08-C,EXP34-C
| 88 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

unixdate2str (123 to 131 doveadm.c) - FAIL

#### Standards Violation Summary

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

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_plugin_getenv (133 to 147 doveadm.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 143 | Pointer not checked for null before use : envs | CERT EXP08-C,EXP34-C
| 141 |  |
C | 133 | Procedure not called in code analysed : doveadm_plugin_getenv |

[ | Top of Report | | | Procedure Table | | | Contents | ]

cmd_help (162 to 190 doveadm.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 174 | Pointer not checked for null before use : name | CERT EXP08-C,EXP34-C
| 172 |  |
C | 162 | Procedure not called in code analysed : cmd_help |

[ | Top of Report | | | Procedure Table | | | Contents | ]

doveadm_load_modules (250 to 266 doveadm.c) - FAIL

#### Standards Violation Summary

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 263 | Pointer not checked for null before use : mod_set.version | CERT EXP08-C,EXP34-C
| 258 |  |
M | 265 | Pointer not checked for null before use : modules | CERT EXP08-C,EXP34-C
| 263 |  |

[ | Top of Report | | | Procedure Table | | | Contents | ]

main (283 to 378 doveadm.c) - FAIL

#### Standards Violation Summary

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

Code | Line | Violation | Standard
--- | --- | --- | ---
M | 331 | Sizeof argument is a pointer. | CERT EXP01-C
M | 373 | Pointer not checked for null before use : default_pool | CERT EXP08-C,EXP34-C
| 364 |  |
M | 344 | Pointer not checked for null before use : doveadm_settings | CERT EXP08-C,EXP34-C
| 328 |  |
M | 330 | Attempt to read from freed memory. : default_pool | CERT MEM30-C
M | 375 | Pointer not checked for null before use : (arr)->buffer | CERT EXP08-C,EXP34-C
| 330 |  |
M | 364 | Procedure contains UR data flow anomalies. : (default_pool)->v | CERT EXP33-C
M | 373 | Procedure contains UR data flow anomalies. : (default_pool)->v | CERT EXP33-C
M | 344 | Procedure contains UR data flow anomalies. : (doveadm_settings)->mail_plugin_dir | CERT EXP33-C
M | 344 | Procedure contains UR data flow anomalies. : (doveadm_settings)->mail_plugins | CERT EXP33-C
M | 294 | Procedure contains UR data flow anomalies. : error | CERT EXP33-C
| 325 |  |
M | 344 | Procedure contains UR data flow anomalies. : mail_storage_service_modules | CERT EXP33-C
| Ref. Line 5209 (doveadm.c) |  |

#### Possible UR Anomalies

The following variables may be referenced before being given a value

File | Undefine | File | Reference | Variable
--- | --- | --- | --- | ---
[external declaration] |  | doveadm.c | 364 | (default_pool)->v
[external declaration] |  | doveadm.c | 373 | (default_pool)->v
[external declaration] |  | doveadm.c | 344 | (doveadm_settings)->mail_plugin_dir
[external declaration] |  | doveadm.c | 344 | (doveadm_settings)->mail_plugins
doveadm.c | 22 | doveadm.c | 330 | doveadm_cmds.arr.element_size
doveadm.c | 22 | doveadm.c | 330 | doveadm_cmds.v
doveadm.c | 22 | doveadm.c | 330 | doveadm_cmds.v_modifiable
doveadm-mail.h | 58 | doveadm.c | 344 | doveadm_mail_cmds.arr.buffer.used
doveadm-mail.h | 58 | doveadm.c | 344 | doveadm_mail_cmds.arr.element_size
doveadm-mail.h | 58 | doveadm.c | 344 | doveadm_mail_cmds.v
doveadm-mail.h | 58 | doveadm.c | 344 | doveadm_mail_cmds.v_modifiable
doveadm.c | 294 | doveadm.c | 325 | error
doveadm-mail.h | 59 | doveadm.c | 364 | hook_doveadm_mail_init
[external declaration] |  | doveadm.c | 344 | mail_storage_service_modules

[ | Top of Report | | | Procedure Table | | | Contents | ]

### End of Code Review Report

###

### Copyright © 2010 Liverpool Data Research Associates