---
Fuzzer filename: '/src/dovecot/src/lib-mail/fuzz-message-parser.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/dovecot/src/lib-mail/fuzz-message-parser.c'
      linkageType:     externalLinkage
      functionLinenumber: 10
      functionLinenumberEnd: 28
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - data
        - size
      BBCount:         12
      ICount:          76
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - fuzzer_deinit
        - fuzzer_init
        - i_panic
        - i_stream_unref
        - message_parser_deinit
        - message_parser_init
        - message_parser_parse_next_block
        - pool_datastack_create
        - t_pop
        - t_push
        - test_istream_create_data
      functionUses:    0
      BranchProfiles:
        - Branch String:   'fuzz-message-parser.c:23,2'
          Branch Sides:
            - BranchSide:      'fuzz-message-parser.c:23,40'
              BranchSideFuncs:
                - message_parser_parse_next_block
                - message_parser_deinit
                - i_stream_unref
                - t_pop
                - fuzzer_deinit
                - i_panic
            - BranchSide:      'fuzz-message-parser.c:25,2'
              BranchSideFuncs:
                - message_parser_deinit
                - i_stream_unref
                - t_pop
                - fuzzer_deinit
                - i_panic
        - Branch String:   'fuzz-message-parser.c:28,1'
          Branch Sides:
            - BranchSide:      'fuzz-message-parser.c:28,1'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'fuzz-message-parser.c:28,1'
              BranchSideFuncs:
                - fuzzer_deinit
      Callsites:
        - Src:             'fuzz-message-parser.c:10,1'
          Dst:             fuzzer_init
        - Src:             'fuzz-message-parser.c:10,1'
          Dst:             t_push
        - Src:             'fuzz-message-parser.c:12,26'
          Dst:             test_istream_create_data
        - Src:             'fuzz-message-parser.c:20,24'
          Dst:             pool_datastack_create
        - Src:             'fuzz-message-parser.c:20,4'
          Dst:             message_parser_init
        - Src:             'fuzz-message-parser.c:23,8'
          Dst:             message_parser_parse_next_block
        - Src:             'fuzz-message-parser.c:25,2'
          Dst:             message_parser_deinit
        - Src:             'fuzz-message-parser.c:26,2'
          Dst:             i_stream_unref
        - Src:             'fuzz-message-parser.c:28,1'
          Dst:             t_pop
        - Src:             'fuzz-message-parser.c:28,1'
          Dst:             i_panic
        - Src:             'fuzz-message-parser.c:28,1'
          Dst:             fuzzer_deinit
    - functionName:    message_boundary_free
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - b
      BBCount:         7
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'message-parser.c:192,2'
          Dst:             p_free_internal
        - Src:             'message-parser.c:193,2'
          Dst:             p_free_internal
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   '../../src/lib/mempool.h:150,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      '../../src/lib/mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    array_delete_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
        - count
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/array.h:244,2'
          Dst:             buffer_delete
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_idx_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
      BBCount:         7
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/array.h:275,2'
          Branch Sides:
            - BranchSide:      '../../src/lib/array.h:275,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/array.h:275,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             '../../src/lib/array.h:275,2'
          Dst:             i_panic
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_append_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - data
        - count
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/array.h:212,2'
          Dst:             buffer_append
    - functionName:    message_part_append
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         23
      ICount:          185
      EdgeCount:       23
      CyclomaticComplexity: 2
      functionsReached:
        - array_append_i
        - i_panic
        - malloc_multiply_check
        - p_malloc
      functionUses:    2
      BranchProfiles:
        - Branch String:   'message-parser.c:141,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:141,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:142,2'
              BranchSideFuncs:
                - malloc_multiply_check
                - p_malloc
                - array_append_i
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:142,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:142,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:143,2'
              BranchSideFuncs:
                - malloc_multiply_check
                - p_malloc
                - array_append_i
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:143,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:143,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:146,9'
              BranchSideFuncs:
                - malloc_multiply_check
                - p_malloc
                - array_append_i
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:167,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:167,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:168,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'message-parser.c:168,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:168,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:168,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-parser.c:141,2'
          Dst:             i_panic
        - Src:             'message-parser.c:142,2'
          Dst:             i_panic
        - Src:             'message-parser.c:143,2'
          Dst:             i_panic
        - Src:             'message-parser.c:146,9'
          Dst:             malloc_multiply_check
        - Src:             'message-parser.c:146,9'
          Dst:             p_malloc
        - Src:             'message-parser.c:159,2'
          Dst:             array_append_i
        - Src:             'message-parser.c:167,2'
          Dst:             i_panic
        - Src:             'message-parser.c:168,2'
          Dst:             i_panic
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    4
      BranchProfiles:
        - Branch String:   '../../src/lib/malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   '../../src/lib/malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             '../../src/lib/malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    4
      BranchProfiles:
        - Branch String:   '../../src/lib/mempool.h:118,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/mempool.h:118,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             '../../src/lib/mempool.h:119,3'
          Dst:             i_panic
    - functionName:    parse_next_mime_header_init
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - block_r
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - message_part_append
        - parse_next_header_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'message-parser.c:298,2'
          Dst:             message_part_append
        - Src:             'message-parser.c:301,9'
          Dst:             parse_next_header_init
    - functionName:    parse_next_header_init
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 747
      functionLinenumberEnd: 757
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - block_r
      BBCount:         7
      ICount:          67
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - message_parse_header_init
        - parse_next_header
      functionUses:    3
      BranchProfiles:
        - Branch String:   'message-parser.c:748,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:748,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:748,2'
              BranchSideFuncs:
                - message_parse_header_init
                - parse_next_header
      Callsites:
        - Src:             'message-parser.c:748,2'
          Dst:             i_panic
        - Src:             'message-parser.c:751,3'
          Dst:             message_parse_header_init
        - Src:             'message-parser.c:757,9'
          Dst:             parse_next_header
    - functionName:    parse_next_header
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 577
      functionLinenumberEnd: 743
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - block_r
      BBCount:         135
      ICount:          852
      EdgeCount:       173
      CyclomaticComplexity: 40
      functionsReached:
        - block_is_at_eoh
        - boundary_line_find
        - i_panic
        - i_stream_get_data_size
        - message_parse_header_deinit
        - message_parse_header_has_nuls
        - message_parse_header_lower_limit
        - message_parse_header_next
        - message_parser_read_more
        - p_free_internal
        - parse_content_type
        - parse_next_body_multipart_init
        - parse_too_many_nested_mime_parts
        - strcasecmp
        - t_pop
        - t_push
      functionUses:    2
      BranchProfiles:
        - Branch String:   'message-parser.c:584,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:585,10'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:587,6'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
                - boundary_line_find
                - block_is_at_eoh
                - parse_too_many_nested_mime_parts
                - parse_next_body_multipart_init
        - Branch String:   'message-parser.c:587,14'
          Branch Sides:
            - BranchSide:      'message-parser.c:587,33'
              BranchSideFuncs:
                - block_is_at_eoh
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
                - boundary_line_find
                - parse_too_many_nested_mime_parts
                - parse_next_body_multipart_init
            - BranchSide:      'message-parser.c:607,6'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
                - boundary_line_find
        - Branch String:   'message-parser.c:587,42'
          Branch Sides:
            - BranchSide:      'message-parser.c:588,6'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
                - boundary_line_find
                - parse_too_many_nested_mime_parts
                - parse_next_body_multipart_init
            - BranchSide:      'message-parser.c:607,6'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
                - boundary_line_find
        - Branch String:   'message-parser.c:588,33'
          Branch Sides:
            - BranchSide:      'message-parser.c:589,7'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
                - boundary_line_find
                - parse_too_many_nested_mime_parts
                - parse_next_body_multipart_init
            - BranchSide:      'message-parser.c:607,6'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
                - boundary_line_find
        - Branch String:   'message-parser.c:587,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:596,41'
              BranchSideFuncs:
                - parse_too_many_nested_mime_parts
                - parse_next_body_multipart_init
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
                - boundary_line_find
            - BranchSide:      'message-parser.c:607,6'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
                - boundary_line_find
        - Branch String:   'message-parser.c:596,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:597,35'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
                - boundary_line_find
            - BranchSide:      'message-parser.c:600,4'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
                - boundary_line_find
        - Branch String:   'message-parser.c:607,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:608,9'
              BranchSideFuncs:
                - boundary_line_find
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
            - BranchSide:      'message-parser.c:617,6'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
        - Branch String:   'message-parser.c:608,9'
          Branch Sides:
            - BranchSide:      'message-parser.c:608,7'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
            - BranchSide:      'message-parser.c:609,23'
              BranchSideFuncs:
                - boundary_line_find
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
        - Branch String:   'message-parser.c:611,15'
          Branch Sides:
            - BranchSide:      'message-parser.c:611,18'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
            - BranchSide:      'message-parser.c:616,2'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
        - Branch String:   'message-parser.c:611,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:614,8'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
            - BranchSide:      'message-parser.c:616,2'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
                - message_parse_header_lower_limit
                - message_parse_header_next
                - i_stream_get_data_size
        - Branch String:   'message-parser.c:617,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:620,4'
              BranchSideFuncs:
                - message_parse_header_lower_limit
                - message_parse_header_next
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_stream_get_data_size
            - BranchSide:      'message-parser.c:635,13'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:620,4'
          Branch Sides:
            - BranchSide:      'message-parser.c:619,10'
              BranchSideFuncs:
                - message_parse_header_lower_limit
                - message_parse_header_next
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_stream_get_data_size
            - BranchSide:      'message-parser.c:621,4'
              BranchSideFuncs:
                - message_parse_header_lower_limit
                - message_parse_header_next
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_stream_get_data_size
        - Branch String:   'message-parser.c:624,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:625,9'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_stream_get_data_size
            - BranchSide:      'message-parser.c:631,7'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_stream_get_data_size
        - Branch String:   'message-parser.c:625,8'
          Branch Sides:
            - BranchSide:      'message-parser.c:626,36'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_stream_get_data_size
            - BranchSide:      'message-parser.c:629,35'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_stream_get_data_size
        - Branch String:   'message-parser.c:631,16'
          Branch Sides:
            - BranchSide:      'message-parser.c:631,20'
              BranchSideFuncs:
                - i_stream_get_data_size
            - BranchSide:      'message-parser.c:632,45'
              BranchSideFuncs:
                - i_stream_get_data_size
        - Branch String:   'message-parser.c:631,28'
          Branch Sides:
            - BranchSide:      'message-parser.c:631,31'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_stream_get_data_size
            - BranchSide:      'message-parser.c:635,2'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
        - Branch String:   'message-parser.c:631,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:632,45'
              BranchSideFuncs:
                - i_stream_get_data_size
            - BranchSide:      'message-parser.c:635,2'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
        - Branch String:   'message-parser.c:635,13'
          Branch Sides:
            - BranchSide:      'message-parser.c:637,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:641,7'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:641,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:642,4'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:654,7'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
        - Branch String:   'message-parser.c:642,4'
          Branch Sides:
            - BranchSide:      'message-parser.c:642,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:644,4'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
        - Branch String:   'message-parser.c:657,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:658,7'
              BranchSideFuncs:
                - strcasecmp
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
            - BranchSide:      'message-parser.c:683,7'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:658,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:660,23'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:675,18'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:660,12'
          Branch Sides:
            - BranchSide:      'message-parser.c:662,4'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:663,25'
              BranchSideFuncs:
                - strcasecmp
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
        - Branch String:   'message-parser.c:664,8'
          Branch Sides:
            - BranchSide:      'message-parser.c:666,5'
              BranchSideFuncs:
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
            - BranchSide:      'message-parser.c:668,8'
              BranchSideFuncs:
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
        - Branch String:   'message-parser.c:668,8'
          Branch Sides:
            - BranchSide:      'message-parser.c:669,5'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:670,9'
              BranchSideFuncs:
                - t_push
                - parse_content_type
                - t_pop
                - i_panic
        - Branch String:   'message-parser.c:672,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:672,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:672,6'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:677,32'
          Branch Sides:
            - BranchSide:      'message-parser.c:677,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:678,5'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:683,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:686,3'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:689,2'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:686,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:686,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:687,3'
              BranchSideFuncs:
                - p_free_internal
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:691,35'
          Branch Sides:
            - BranchSide:      'message-parser.c:692,7'
              BranchSideFuncs:
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:693,7'
              BranchSideFuncs:
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:691,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:693,7'
              BranchSideFuncs:
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:706,36'
              BranchSideFuncs:
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:693,28'
          Branch Sides:
            - BranchSide:      'message-parser.c:694,8'
              BranchSideFuncs:
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:702,4'
              BranchSideFuncs:
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:693,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:699,4'
              BranchSideFuncs:
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:702,4'
              BranchSideFuncs:
                - message_parse_header_has_nuls
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:706,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:707,3'
              BranchSideFuncs:
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:708,31'
              BranchSideFuncs:
                - message_parse_header_deinit
                - parse_too_many_nested_mime_parts
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:710,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:710,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:712,2'
              BranchSideFuncs:
                - parse_too_many_nested_mime_parts
                - i_panic
        - Branch String:   'message-parser.c:713,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:714,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:717,14'
              BranchSideFuncs:
                - parse_too_many_nested_mime_parts
        - Branch String:   'message-parser.c:714,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:714,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:715,3'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:717,13'
          Branch Sides:
            - BranchSide:      'message-parser.c:719,7'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:723,47'
              BranchSideFuncs:
                - parse_too_many_nested_mime_parts
        - Branch String:   'message-parser.c:719,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:720,4'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:722,4'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:723,52'
          Branch Sides:
            - BranchSide:      'message-parser.c:724,6'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:729,3'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:723,13'
          Branch Sides:
            - BranchSide:      'message-parser.c:726,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:729,3'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:731,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:732,4'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:734,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-parser.c:584,13'
          Dst:             message_parser_read_more
        - Src:             'message-parser.c:587,17'
          Dst:             block_is_at_eoh
        - Src:             'message-parser.c:596,8'
          Dst:             parse_too_many_nested_mime_parts
        - Src:             'message-parser.c:597,4'
          Dst:             parse_next_body_multipart_init
        - Src:             'message-parser.c:609,4'
          Dst:             boundary_line_find
        - Src:             'message-parser.c:622,3'
          Dst:             message_parse_header_lower_limit
        - Src:             'message-parser.c:623,9'
          Dst:             message_parse_header_next
        - Src:             'message-parser.c:632,22'
          Dst:             i_stream_get_data_size
        - Src:             'message-parser.c:642,4'
          Dst:             i_panic
        - Src:             'message-parser.c:660,12'
          Dst:             strcasecmp
        - Src:             'message-parser.c:663,14'
          Dst:             strcasecmp
        - Src:             'message-parser.c:670,9'
          Dst:             t_push
        - Src:             'message-parser.c:671,5'
          Dst:             parse_content_type
        - Src:             'message-parser.c:672,6'
          Dst:             t_pop
        - Src:             'message-parser.c:672,6'
          Dst:             i_panic
        - Src:             'message-parser.c:686,3'
          Dst:             i_panic
        - Src:             'message-parser.c:689,2'
          Dst:             p_free_internal
        - Src:             'message-parser.c:706,6'
          Dst:             message_parse_header_has_nuls
        - Src:             'message-parser.c:708,2'
          Dst:             message_parse_header_deinit
        - Src:             'message-parser.c:710,2'
          Dst:             i_panic
        - Src:             'message-parser.c:714,3'
          Dst:             i_panic
        - Src:             'message-parser.c:723,14'
          Dst:             parse_too_many_nested_mime_parts
    - functionName:    message_parser_read_more
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - block_r
        - full_r
      BBCount:         33
      ICount:          207
      EdgeCount:       37
      CyclomaticComplexity: 6
      functionsReached:
        - i_panic
        - i_stream_read_bytes
        - i_stream_skip
        - i_unreached
      functionUses:    5
      BranchProfiles:
        - Branch String:   'message-parser.c:94,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:95,17'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes
                - i_panic
                - i_panic
                - i_unreached
            - BranchSide:      'message-parser.c:99,3'
              BranchSideFuncs:
                - i_stream_read_bytes
                - i_panic
                - i_panic
                - i_unreached
        - Branch String:   'message-parser.c:102,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:103,11'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - i_unreached
            - BranchSide:      'message-parser.c:128,8'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:103,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:105,9'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:111,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:121,5'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:124,4'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'message-parser.c:105,8'
          Branch Sides:
            - BranchSide:      'message-parser.c:106,5'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:109,4'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:106,5'
          Branch Sides:
            - BranchSide:      'message-parser.c:106,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:107,5'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:111,4'
          Branch Sides:
            - BranchSide:      'message-parser.c:111,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:111,4'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'message-parser.c:111,4'
          Branch Sides:
            - BranchSide:      'message-parser.c:111,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:113,4'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:114,8'
          Branch Sides:
            - BranchSide:      'message-parser.c:117,5'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:119,4'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:128,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:130,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:132,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-parser.c:95,3'
          Dst:             i_stream_skip
        - Src:             'message-parser.c:100,8'
          Dst:             i_stream_read_bytes
        - Src:             'message-parser.c:106,5'
          Dst:             i_panic
        - Src:             'message-parser.c:111,4'
          Dst:             i_panic
        - Src:             'message-parser.c:124,4'
          Dst:             i_unreached
    - functionName:    block_is_at_eoh
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 565
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - block
      BBCount:         13
      ICount:          78
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'message-parser.c:554,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:555,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:556,6'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:556,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:557,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:558,6'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:558,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:559,7'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:564,2'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:559,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:560,4'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:561,7'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:561,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:562,4'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:563,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    parse_too_many_nested_mime_parts
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 568
      functionLinenumberEnd: 569
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_next_body_multipart_init
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         3
      ICount:          53
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - p_malloc
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'message-parser.c:215,6'
          Dst:             malloc_multiply_check
        - Src:             'message-parser.c:215,6'
          Dst:             p_malloc
        - Src:             'message-parser.c:219,11'
          Dst:             strlen
    - functionName:    boundary_line_find
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - data
        - size
        - full
        - boundary_r
      BBCount:         51
      ICount:          330
      EdgeCount:       69
      CyclomaticComplexity: 20
      functionsReached:
        - boundary_find
        - i_panic
        - memchr
        - memcmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'message-parser.c:239,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:240,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:248,6'
              BranchSideFuncs:
                - memchr
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:240,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:240,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:242,7'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:242,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:243,4'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:244,3'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:248,21'
          Branch Sides:
            - BranchSide:      'message-parser.c:248,24'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:250,3'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:248,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:250,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:253,6'
              BranchSideFuncs:
                - memchr
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:253,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:256,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:261,7'
              BranchSideFuncs:
                - memchr
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:264,21'
          Branch Sides:
            - BranchSide:      'message-parser.c:265,6'
              BranchSideFuncs:
                - boundary_find
                - memcmp
            - BranchSide:      'message-parser.c:271,21'
              BranchSideFuncs:
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:265,36'
          Branch Sides:
            - BranchSide:      'message-parser.c:266,7'
              BranchSideFuncs:
                - boundary_find
                - memcmp
            - BranchSide:      'message-parser.c:271,21'
              BranchSideFuncs:
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:266,23'
          Branch Sides:
            - BranchSide:      'message-parser.c:266,27'
              BranchSideFuncs:
                - boundary_find
                - memcmp
            - BranchSide:      'message-parser.c:271,21'
              BranchSideFuncs:
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:264,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:268,3'
              BranchSideFuncs:
                - boundary_find
                - memcmp
            - BranchSide:      'message-parser.c:271,21'
              BranchSideFuncs:
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:274,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:275,15'
              BranchSideFuncs:
                - boundary_find
                - memcmp
            - BranchSide:      'message-parser.c:281,13'
              BranchSideFuncs:
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:276,21'
          Branch Sides:
            - BranchSide:      'message-parser.c:276,24'
              BranchSideFuncs:
                - boundary_find
                - memcmp
            - BranchSide:      'message-parser.c:278,7'
              BranchSideFuncs:
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:276,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:277,13'
              BranchSideFuncs:
                - boundary_find
                - memcmp
            - BranchSide:      'message-parser.c:278,7'
              BranchSideFuncs:
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:278,21'
          Branch Sides:
            - BranchSide:      'message-parser.c:278,24'
              BranchSideFuncs:
                - boundary_find
                - memcmp
            - BranchSide:      'message-parser.c:281,2'
              BranchSideFuncs:
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:278,49'
          Branch Sides:
            - BranchSide:      'message-parser.c:279,7'
              BranchSideFuncs:
                - boundary_find
                - memcmp
            - BranchSide:      'message-parser.c:281,2'
              BranchSideFuncs:
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:278,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:280,20'
              BranchSideFuncs:
                - boundary_find
                - memcmp
            - BranchSide:      'message-parser.c:281,2'
              BranchSideFuncs:
                - boundary_find
                - memcmp
        - Branch String:   'message-parser.c:286,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:287,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:290,3'
              BranchSideFuncs:
                - memcmp
        - Branch String:   'message-parser.c:290,34'
          Branch Sides:
            - BranchSide:      'message-parser.c:289,4'
              BranchSideFuncs:
                - memcmp
            - BranchSide:      'message-parser.c:291,10'
              BranchSideFuncs:
                - memcmp
      Callsites:
        - Src:             'message-parser.c:240,3'
          Dst:             i_panic
        - Src:             'message-parser.c:263,32'
          Dst:             memchr
        - Src:             'message-parser.c:284,16'
          Dst:             boundary_find
        - Src:             'message-parser.c:291,3'
          Dst:             memcmp
    - functionName:    strcasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_content_type
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 504
      functionLinenumberEnd: 550
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - hdr
      BBCount:         58
      ICount:          297
      EdgeCount:       78
      CyclomaticComplexity: 22
      functionsReached:
        - i_strndup
        - p_free_internal
        - rfc2231_parse
        - rfc822_parse_content_type
        - rfc822_parser_deinit
        - rfc822_parser_init
        - rfc822_skip_lwsp
        - str_begins_builtin_success
        - str_begins_icase
        - str_c
        - strcasecmp
        - strncasecmp
        - t_str_new
      functionUses:    1
      BranchProfiles:
        - Branch String:   'message-parser.c:510,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:511,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:512,2'
              BranchSideFuncs:
                - rfc822_parser_init
                - rfc822_skip_lwsp
                - t_str_new
                - rfc822_parse_content_type
                - str_c
                - strcasecmp
                - str_c
                - str_begins_icase
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
        - Branch String:   'message-parser.c:520,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:521,3'
              BranchSideFuncs:
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
            - BranchSide:      'message-parser.c:522,66'
              BranchSideFuncs:
                - str_c
                - str_begins_icase
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
        - Branch String:   'message-parser.c:522,66'
          Branch Sides:
            - BranchSide:      'message-parser.c:522,11'
              BranchSideFuncs:
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
            - BranchSide:      'message-parser.c:522,11'
              BranchSideFuncs:
                - str_c
                - str_begins_icase
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
        - Branch String:   'message-parser.c:522,11'
          Branch Sides:
            - BranchSide:      'message-parser.c:523,5'
              BranchSideFuncs:
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
            - BranchSide:      'message-parser.c:525,11'
              BranchSideFuncs:
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
        - Branch String:   'message-parser.c:522,66'
          Branch Sides:
            - BranchSide:      'message-parser.c:522,11'
              BranchSideFuncs:
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
            - BranchSide:      'message-parser.c:522,11'
              BranchSideFuncs:
                - str_c
                - str_begins_builtin_success
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
        - Branch String:   'message-parser.c:522,11'
          Branch Sides:
            - BranchSide:      'message-parser.c:523,5'
              BranchSideFuncs:
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
            - BranchSide:      'message-parser.c:525,11'
              BranchSideFuncs:
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
        - Branch String:   'message-parser.c:522,66'
          Branch Sides:
            - BranchSide:      'message-parser.c:523,5'
              BranchSideFuncs:
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
            - BranchSide:      'message-parser.c:525,11'
              BranchSideFuncs:
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
        - Branch String:   'message-parser.c:523,23'
          Branch Sides:
            - BranchSide:      'message-parser.c:523,26'
              BranchSideFuncs:
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
            - BranchSide:      'message-parser.c:524,3'
              BranchSideFuncs:
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
        - Branch String:   'message-parser.c:522,11'
          Branch Sides:
            - BranchSide:      'message-parser.c:524,3'
              BranchSideFuncs:
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
            - BranchSide:      'message-parser.c:525,11'
              BranchSideFuncs:
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
        - Branch String:   'message-parser.c:525,11'
          Branch Sides:
            - BranchSide:      'message-parser.c:525,11'
              BranchSideFuncs:
                - str_c
                - strncasecmp
                - str_c
                - str_begins_builtin_success
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
            - BranchSide:      'message-parser.c:525,11'
              BranchSideFuncs:
                - str_c
                - str_begins_icase
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
        - Branch String:   'message-parser.c:525,11'
          Branch Sides:
            - BranchSide:      'message-parser.c:525,11'
              BranchSideFuncs:
                - strcasecmp
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
            - BranchSide:      'message-parser.c:525,11'
              BranchSideFuncs:
                - str_c
                - str_begins_builtin_success
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
                - strcasecmp
        - Branch String:   'message-parser.c:528,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:529,4'
              BranchSideFuncs:
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
            - BranchSide:      'message-parser.c:530,2'
              BranchSideFuncs:
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
        - Branch String:   'message-parser.c:532,14'
          Branch Sides:
            - BranchSide:      'message-parser.c:533,7'
              BranchSideFuncs:
                - rfc822_parser_deinit
            - BranchSide:      'message-parser.c:535,3'
              BranchSideFuncs:
                - rfc822_parser_deinit
        - Branch String:   'message-parser.c:533,60'
          Branch Sides:
            - BranchSide:      'message-parser.c:534,6'
              BranchSideFuncs:
                - rfc822_parser_deinit
            - BranchSide:      'message-parser.c:535,3'
              BranchSideFuncs:
                - rfc822_parser_deinit
        - Branch String:   'message-parser.c:532,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:535,3'
              BranchSideFuncs:
                - rfc822_parser_deinit
            - BranchSide:      'message-parser.c:539,2'
              BranchSideFuncs:
                - rfc2231_parse
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
        - Branch String:   'message-parser.c:540,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:541,18'
              BranchSideFuncs:
                - strcasecmp
                - rfc822_parser_deinit
                - p_free_internal
                - i_strndup
            - BranchSide:      'message-parser.c:549,2'
              BranchSideFuncs:
                - rfc822_parser_deinit
        - Branch String:   'message-parser.c:541,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:543,4'
              BranchSideFuncs:
                - p_free_internal
                - i_strndup
                - rfc822_parser_deinit
            - BranchSide:      'message-parser.c:548,2'
              BranchSideFuncs:
                - rfc822_parser_deinit
                - strcasecmp
                - p_free_internal
                - i_strndup
      Callsites:
        - Src:             'message-parser.c:514,2'
          Dst:             rfc822_parser_init
        - Src:             'message-parser.c:515,2'
          Dst:             rfc822_skip_lwsp
        - Src:             'message-parser.c:517,17'
          Dst:             t_str_new
        - Src:             'message-parser.c:518,8'
          Dst:             rfc822_parse_content_type
        - Src:             'message-parser.c:520,17'
          Dst:             str_c
        - Src:             'message-parser.c:520,6'
          Dst:             strcasecmp
        - Src:             'message-parser.c:522,11'
          Dst:             str_c
        - Src:             'message-parser.c:522,11'
          Dst:             str_begins_icase
        - Src:             'message-parser.c:522,11'
          Dst:             str_c
        - Src:             'message-parser.c:522,11'
          Dst:             strncasecmp
        - Src:             'message-parser.c:522,11'
          Dst:             str_c
        - Src:             'message-parser.c:522,11'
          Dst:             str_begins_builtin_success
        - Src:             'message-parser.c:525,11'
          Dst:             str_c
        - Src:             'message-parser.c:525,11'
          Dst:             str_begins_icase
        - Src:             'message-parser.c:525,11'
          Dst:             str_c
        - Src:             'message-parser.c:525,11'
          Dst:             strncasecmp
        - Src:             'message-parser.c:525,11'
          Dst:             str_c
        - Src:             'message-parser.c:525,11'
          Dst:             str_begins_builtin_success
        - Src:             'message-parser.c:528,7'
          Dst:             strcasecmp
        - Src:             'message-parser.c:535,3'
          Dst:             rfc822_parser_deinit
        - Src:             'message-parser.c:539,2'
          Dst:             rfc2231_parse
        - Src:             'message-parser.c:541,7'
          Dst:             strcasecmp
        - Src:             'message-parser.c:543,4'
          Dst:             p_free_internal
        - Src:             'message-parser.c:545,5'
          Dst:             i_strndup
        - Src:             'message-parser.c:549,2'
          Dst:             rfc822_parser_deinit
    - functionName:    parse_next_body_to_boundary
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 482
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - block_r
      BBCount:         77
      ICount:          459
      EdgeCount:       100
      CyclomaticComplexity: 25
      functionsReached:
        - boundary_line_find
        - i_panic
        - memchr
        - message_parser_read_more
        - parse_body_add_block
        - parse_part_finish
      functionUses:    4
      BranchProfiles:
        - Branch String:   'message-parser.c:403,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:404,10'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:406,9'
              BranchSideFuncs:
                - memchr
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
                - boundary_line_find
                - i_panic
                - boundary_line_find
                - parse_part_finish
        - Branch String:   'message-parser.c:407,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:410,28'
              BranchSideFuncs:
                - boundary_line_find
                - memchr
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
                - boundary_line_find
                - i_panic
                - parse_part_finish
            - BranchSide:      'message-parser.c:418,2'
              BranchSideFuncs:
                - memchr
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
                - boundary_line_find
                - i_panic
        - Branch String:   'message-parser.c:412,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:413,11'
              BranchSideFuncs:
                - parse_part_finish
            - BranchSide:      'message-parser.c:416,2'
              BranchSideFuncs:
                - memchr
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
                - boundary_line_find
                - i_panic
        - Branch String:   'message-parser.c:413,11'
          Branch Sides:
            - BranchSide:      'message-parser.c:413,4'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:414,23'
              BranchSideFuncs:
                - parse_part_finish
        - Branch String:   'message-parser.c:418,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:418,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:419,17'
              BranchSideFuncs:
                - memchr
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
                - boundary_line_find
        - Branch String:   'message-parser.c:424,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:425,9'
              BranchSideFuncs:
                - boundary_line_find
                - memchr
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:446,6'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:428,19'
          Branch Sides:
            - BranchSide:      'message-parser.c:428,22'
              BranchSideFuncs:
                - boundary_line_find
                - memchr
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:431,7'
              BranchSideFuncs:
                - boundary_line_find
                - memchr
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:428,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:429,18'
              BranchSideFuncs:
                - boundary_line_find
                - memchr
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:431,7'
              BranchSideFuncs:
                - boundary_line_find
                - memchr
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:431,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:434,9'
              BranchSideFuncs:
                - boundary_line_find
                - memchr
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:437,28'
              BranchSideFuncs:
                - boundary_line_find
                - memchr
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:438,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:424,2'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:440,8'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:440,17'
          Branch Sides:
            - BranchSide:      'message-parser.c:440,20'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:442,4'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:440,8'
          Branch Sides:
            - BranchSide:      'message-parser.c:441,24'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:442,4'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:446,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:448,3'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:450,13'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
        - Branch String:   'message-parser.c:448,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:448,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:449,3'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
                - i_panic
        - Branch String:   'message-parser.c:449,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:449,3'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
                - i_panic
            - BranchSide:      'message-parser.c:449,3'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
                - i_panic
        - Branch String:   'message-parser.c:449,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:449,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:450,2'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
        - Branch String:   'message-parser.c:450,13'
          Branch Sides:
            - BranchSide:      'message-parser.c:452,7'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
            - BranchSide:      'message-parser.c:461,7'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
        - Branch String:   'message-parser.c:453,46'
          Branch Sides:
            - BranchSide:      'message-parser.c:453,50'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
            - BranchSide:      'message-parser.c:457,20'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
        - Branch String:   'message-parser.c:453,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:455,4'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
            - BranchSide:      'message-parser.c:457,20'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
        - Branch String:   'message-parser.c:465,14'
          Branch Sides:
            - BranchSide:      'message-parser.c:465,18'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
            - BranchSide:      'message-parser.c:469,19'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
        - Branch String:   'message-parser.c:465,27'
          Branch Sides:
            - BranchSide:      'message-parser.c:465,31'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
            - BranchSide:      'message-parser.c:471,6'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
        - Branch String:   'message-parser.c:465,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:469,19'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
            - BranchSide:      'message-parser.c:471,6'
              BranchSideFuncs:
                - parse_part_finish
                - parse_body_add_block
        - Branch String:   'message-parser.c:471,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:472,24'
              BranchSideFuncs:
                - parse_body_add_block
            - BranchSide:      'message-parser.c:480,9'
              BranchSideFuncs:
                - parse_part_finish
        - Branch String:   'message-parser.c:474,61'
          Branch Sides:
            - BranchSide:      'message-parser.c:475,8'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:478,3'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:474,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:476,4'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:478,3'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:480,9'
          Branch Sides:
            - BranchSide:      'message-parser.c:480,20'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:481,21'
              BranchSideFuncs:
                - parse_part_finish
      Callsites:
        - Src:             'message-parser.c:403,13'
          Dst:             message_parser_read_more
        - Src:             'message-parser.c:410,9'
          Dst:             boundary_line_find
        - Src:             'message-parser.c:414,5'
          Dst:             parse_part_finish
        - Src:             'message-parser.c:418,2'
          Dst:             i_panic
        - Src:             'message-parser.c:424,17'
          Dst:             memchr
        - Src:             'message-parser.c:437,9'
          Dst:             boundary_line_find
        - Src:             'message-parser.c:448,3'
          Dst:             i_panic
        - Src:             'message-parser.c:449,3'
          Dst:             i_panic
        - Src:             'message-parser.c:472,3'
          Dst:             parse_body_add_block
        - Src:             'message-parser.c:481,3'
          Dst:             parse_part_finish
    - functionName:    parse_next_body_to_eof
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 500
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - block_r
      BBCount:         11
      ICount:          70
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - message_parser_read_more
        - parse_body_add_block
      functionUses:    3
      BranchProfiles:
        - Branch String:   'message-parser.c:490,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:491,10'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:493,23'
              BranchSideFuncs:
                - parse_body_add_block
        - Branch String:   'message-parser.c:495,60'
          Branch Sides:
            - BranchSide:      'message-parser.c:496,7'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:499,2'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:495,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:497,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:499,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-parser.c:490,13'
          Dst:             message_parser_read_more
        - Src:             'message-parser.c:493,2'
          Dst:             parse_body_add_block
    - functionName:    parse_next_body_message_rfc822_init
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - block_r
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - message_part_append
        - parse_next_header_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'message-parser.c:228,2'
          Dst:             message_part_append
        - Src:             'message-parser.c:229,9'
          Dst:             parse_next_header_init
    - functionName:    parse_body_add_block
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - block
      BBCount:         22
      ICount:          205
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - i_panic
        - memchr
      functionUses:    5
      BranchProfiles:
        - Branch String:   'message-parser.c:59,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:59,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:61,2'
              BranchSideFuncs:
                - memchr
                - memchr
        - Branch String:   'message-parser.c:64,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:65,3'
              BranchSideFuncs:
                - memchr
            - BranchSide:      'message-parser.c:68,7'
              BranchSideFuncs:
                - memchr
        - Branch String:   'message-parser.c:68,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:69,3'
              BranchSideFuncs:
                - memchr
            - BranchSide:      'message-parser.c:74,8'
              BranchSideFuncs:
                - memchr
        - Branch String:   'message-parser.c:70,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:71,20'
              BranchSideFuncs:
                - memchr
            - BranchSide:      'message-parser.c:72,2'
              BranchSideFuncs:
                - memchr
        - Branch String:   'message-parser.c:75,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:76,3'
              BranchSideFuncs:
                - memchr
            - BranchSide:      'message-parser.c:82,18'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:77,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:78,20'
              BranchSideFuncs:
                - memchr
            - BranchSide:      'message-parser.c:80,9'
              BranchSideFuncs:
                - memchr
      Callsites:
        - Src:             'message-parser.c:59,2'
          Dst:             i_panic
        - Src:             'message-parser.c:64,6'
          Dst:             memchr
        - Src:             'message-parser.c:75,17'
          Dst:             memchr
    - functionName:    memchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_part_finish
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 346
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ctx
        - boundary
        - block_r
        - first_line
      BBCount:         42
      ICount:          297
      EdgeCount:       47
      CyclomaticComplexity: 7
      functionsReached:
        - boundary_remove_until
        - i_panic
        - i_stream_get_data
        - message_part_finish
        - parse_body_add_block
      functionUses:    2
      BranchProfiles:
        - Branch String:   'message-parser.c:351,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:351,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:355,2'
              BranchSideFuncs:
                - boundary_remove_until
                - i_stream_get_data
                - parse_body_add_block
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - boundary_remove_until
                - message_part_finish
                - i_panic
        - Branch String:   'message-parser.c:355,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:356,23'
              BranchSideFuncs:
                - message_part_finish
                - boundary_remove_until
                - i_stream_get_data
                - parse_body_add_block
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - boundary_remove_until
                - i_panic
            - BranchSide:      'message-parser.c:360,6'
              BranchSideFuncs:
                - boundary_remove_until
                - i_stream_get_data
                - parse_body_add_block
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - boundary_remove_until
        - Branch String:   'message-parser.c:357,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:355,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:357,3'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'message-parser.c:360,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:362,25'
              BranchSideFuncs:
                - boundary_remove_until
                - i_stream_get_data
                - parse_body_add_block
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:365,25'
              BranchSideFuncs:
                - boundary_remove_until
                - i_stream_get_data
                - parse_body_add_block
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:370,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:370,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:371,19'
              BranchSideFuncs:
                - parse_body_add_block
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:373,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:374,13'
              BranchSideFuncs:
                - parse_body_add_block
                - i_panic
            - BranchSide:      'message-parser.c:375,11'
              BranchSideFuncs:
                - parse_body_add_block
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:375,11'
          Branch Sides:
            - BranchSide:      'message-parser.c:376,3'
              BranchSideFuncs:
                - parse_body_add_block
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:379,3'
              BranchSideFuncs:
                - parse_body_add_block
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:376,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:376,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:377,13'
              BranchSideFuncs:
                - parse_body_add_block
                - i_panic
        - Branch String:   'message-parser.c:379,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:379,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:380,13'
              BranchSideFuncs:
                - parse_body_add_block
                - i_panic
        - Branch String:   'message-parser.c:383,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:383,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:384,18'
              BranchSideFuncs:
                - parse_body_add_block
        - Branch String:   'message-parser.c:389,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:390,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:391,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-parser.c:351,2'
          Dst:             i_panic
        - Src:             'message-parser.c:356,3'
          Dst:             message_part_finish
        - Src:             'message-parser.c:357,3'
          Dst:             i_panic
        - Src:             'message-parser.c:362,3'
          Dst:             boundary_remove_until
        - Src:             'message-parser.c:365,3'
          Dst:             boundary_remove_until
        - Src:             'message-parser.c:369,18'
          Dst:             i_stream_get_data
        - Src:             'message-parser.c:370,2'
          Dst:             i_panic
        - Src:             'message-parser.c:376,3'
          Dst:             i_panic
        - Src:             'message-parser.c:379,3'
          Dst:             i_panic
        - Src:             'message-parser.c:383,2'
          Dst:             i_panic
        - Src:             'message-parser.c:385,2'
          Dst:             parse_body_add_block
    - functionName:    message_part_finish
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         10
      ICount:          120
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - array_count_i
        - array_delete_i
        - array_idx_i
        - i_panic
        - message_size_add
      functionUses:    3
      BranchProfiles:
        - Branch String:   'message-parser.c:175,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:175,6'
              BranchSideFuncs:
                - message_size_add
                - message_size_add
            - BranchSide:      'message-parser.c:176,3'
              BranchSideFuncs:
                - array_count_i
                - array_idx_i
                - array_count_i
                - array_delete_i
                - message_size_add
                - message_size_add
                - i_panic
        - Branch String:   'message-parser.c:176,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:176,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:177,3'
              BranchSideFuncs:
                - array_count_i
                - array_idx_i
                - array_count_i
                - array_delete_i
                - message_size_add
                - message_size_add
      Callsites:
        - Src:             'message-parser.c:176,3'
          Dst:             i_panic
        - Src:             'message-parser.c:179,23'
          Dst:             array_count_i
        - Src:             'message-parser.c:179,23'
          Dst:             array_idx_i
        - Src:             'message-parser.c:180,3'
          Dst:             array_count_i
        - Src:             'message-parser.c:180,3'
          Dst:             array_delete_i
        - Src:             'message-parser.c:184,2'
          Dst:             message_size_add
        - Src:             'message-parser.c:185,2'
          Dst:             message_size_add
    - functionName:    boundary_remove_until
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - boundary
      BBCount:         10
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - message_boundary_free
      functionUses:    3
      BranchProfiles:
        - Branch String:   'message-parser.c:200,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:201,34'
              BranchSideFuncs:
                - message_boundary_free
                - i_panic
            - BranchSide:      'message-parser.c:208,20'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:203,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:203,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:204,21'
              BranchSideFuncs:
                - message_boundary_free
                - i_panic
      Callsites:
        - Src:             'message-parser.c:203,3'
          Dst:             i_panic
        - Src:             'message-parser.c:205,3'
          Dst:             message_boundary_free
    - functionName:    parse_next_body_skip_boundary_line
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 341
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - block_r
      BBCount:         27
      ICount:          180
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - memchr
        - message_parser_read_more
        - parse_body_add_block
      functionUses:    1
      BranchProfiles:
        - Branch String:   'message-parser.c:311,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:312,10'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:314,15'
              BranchSideFuncs:
                - memchr
                - parse_body_add_block
                - parse_body_add_block
        - Branch String:   'message-parser.c:315,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:316,24'
              BranchSideFuncs:
                - parse_body_add_block
            - BranchSide:      'message-parser.c:324,19'
              BranchSideFuncs:
                - parse_body_add_block
        - Branch String:   'message-parser.c:317,25'
          Branch Sides:
            - BranchSide:      'message-parser.c:318,8'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:320,3'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:317,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:319,4'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:320,3'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:327,30'
          Branch Sides:
            - BranchSide:      'message-parser.c:327,33'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:329,7'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:327,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:329,7'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:335,3'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:329,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:330,4'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:332,4'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:337,24'
          Branch Sides:
            - BranchSide:      'message-parser.c:338,7'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:340,9'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:337,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:339,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:340,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-parser.c:311,13'
          Dst:             message_parser_read_more
        - Src:             'message-parser.c:314,8'
          Dst:             memchr
        - Src:             'message-parser.c:316,3'
          Dst:             parse_body_add_block
        - Src:             'message-parser.c:325,2'
          Dst:             parse_body_add_block
    - functionName:    strncasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_begins_builtin_success
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/strfuncs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - haystack
        - needle_len
        - suffix_r
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rfc822_parser_deinit
      functionSourceFile: '/src/dovecot/src/lib-mail/./rfc822-parser.h'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         7
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './rfc822-parser.h:31,2'
          Branch Sides:
            - BranchSide:      './rfc822-parser.h:31,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './rfc822-parser.h:31,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './rfc822-parser.h:31,2'
          Dst:             i_panic
    - functionName:    boundary_find
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 23
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - boundaries
        - data
        - len
        - trailing_dashes
      BBCount:         25
      ICount:          129
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'message-parser.c:31,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:31,2'
              BranchSideFuncs:
                - memcmp
            - BranchSide:      'message-parser.c:32,7'
              BranchSideFuncs:
                - memcmp
        - Branch String:   'message-parser.c:32,30'
          Branch Sides:
            - BranchSide:      'message-parser.c:33,14'
              BranchSideFuncs:
                - memcmp
            - BranchSide:      'message-parser.c:47,16'
              BranchSideFuncs:
                - memcmp
        - Branch String:   'message-parser.c:33,64'
          Branch Sides:
            - BranchSide:      'message-parser.c:34,8'
              BranchSideFuncs:
                - memcmp
            - BranchSide:      'message-parser.c:47,16'
              BranchSideFuncs:
                - memcmp
        - Branch String:   'message-parser.c:34,21'
          Branch Sides:
            - BranchSide:      'message-parser.c:34,24'
              BranchSideFuncs:
                - memcmp
            - BranchSide:      'message-parser.c:35,11'
              BranchSideFuncs:
                - memcmp
        - Branch String:   'message-parser.c:32,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:35,11'
              BranchSideFuncs:
                - memcmp
            - BranchSide:      'message-parser.c:47,16'
              BranchSideFuncs:
                - memcmp
        - Branch String:   'message-parser.c:39,25'
          Branch Sides:
            - BranchSide:      'message-parser.c:40,9'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:43,5'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:40,25'
          Branch Sides:
            - BranchSide:      'message-parser.c:40,28'
              BranchSideFuncs:
                - memcmp
            - BranchSide:      'message-parser.c:45,3'
              BranchSideFuncs:
                - memcmp
        - Branch String:   'message-parser.c:39,8'
          Branch Sides:
            - BranchSide:      'message-parser.c:43,5'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:45,3'
              BranchSideFuncs:
                - memcmp
      Callsites:
        - Src:             'message-parser.c:33,7'
          Dst:             memcmp
    - functionName:    memcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strlen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    80
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_read_bytes
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/istream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - data_r
        - size_r
        - wanted
      BBCount:         7
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_read_data
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/istream.h:229,2'
          Branch Sides:
            - BranchSide:      '../../src/lib/istream.h:229,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/istream.h:229,2'
              BranchSideFuncs:
                - i_stream_read_data
      Callsites:
        - Src:             '../../src/lib/istream.h:229,2'
          Dst:             i_panic
        - Src:             '../../src/lib/istream.h:230,9'
          Dst:             i_stream_read_data
    - functionName:    message_parser_parse_body
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 914
      functionLinenumberEnd: 924
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - hdr_callback
        - context
      BBCount:         21
      ICount:          102
      EdgeCount:       24
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - message_parser_parse_next_block
        - t_pop
        - t_push
      functionUses:    0
      BranchProfiles:
        - Branch String:   'message-parser.c:918,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:919,13'
              BranchSideFuncs:
                - message_parser_parse_next_block
                - i_panic
                - t_push
                - t_pop
                - i_panic
            - BranchSide:      'message-parser.c:923,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'message-parser.c:919,23'
          Branch Sides:
            - BranchSide:      'message-parser.c:918,2'
              BranchSideFuncs:
                - message_parser_parse_next_block
                - i_panic
                - t_push
                - t_pop
                - i_panic
            - BranchSide:      'message-parser.c:919,26'
              BranchSideFuncs:
                - message_parser_parse_next_block
                - i_panic
                - t_push
                - t_pop
                - i_panic
        - Branch String:   'message-parser.c:919,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:918,2'
              BranchSideFuncs:
                - t_push
                - t_pop
                - message_parser_parse_next_block
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:919,48'
              BranchSideFuncs:
                - t_push
                - t_pop
                - message_parser_parse_next_block
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:921,5'
          Branch Sides:
            - BranchSide:      'message-parser.c:921,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:921,5'
              BranchSideFuncs:
                - message_parser_parse_next_block
                - i_panic
                - t_push
                - t_pop
                - i_panic
        - Branch String:   'message-parser.c:923,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:923,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:923,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-parser.c:918,16'
          Dst:             message_parser_parse_next_block
        - Src:             'message-parser.c:919,48'
          Dst:             t_push
        - Src:             'message-parser.c:921,5'
          Dst:             t_pop
        - Src:             'message-parser.c:921,5'
          Dst:             i_panic
        - Src:             'message-parser.c:923,2'
          Dst:             i_panic
    - functionName:    message_parser_parse_next_block
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 846
      functionLinenumberEnd: 880
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - block_r
      BBCount:         42
      ICount:          230
      EdgeCount:       52
      CyclomaticComplexity: 12
      functionsReached:
        - i_panic
        - message_parser_read_more
        - message_part_finish
      functionUses:    3
      BranchProfiles:
        - Branch String:   'message-parser.c:852,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:853,34'
              BranchSideFuncs:
                - message_parser_read_more
                - message_part_finish
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:864,18'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
        - Branch String:   'message-parser.c:854,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:855,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:858,7'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
                - message_parser_read_more
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:855,4'
          Branch Sides:
            - BranchSide:      'message-parser.c:855,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:856,4'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:858,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:852,2'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
                - message_parser_read_more
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:859,4'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
                - message_parser_read_more
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:859,4'
          Branch Sides:
            - BranchSide:      'message-parser.c:859,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:860,8'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
                - message_parser_read_more
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:866,14'
          Branch Sides:
            - BranchSide:      'message-parser.c:866,17'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
            - BranchSide:      'message-parser.c:875,6'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:866,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:868,3'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
            - BranchSide:      'message-parser.c:875,6'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:868,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:868,3'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
            - BranchSide:      'message-parser.c:868,3'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
        - Branch String:   'message-parser.c:868,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:868,3'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
            - BranchSide:      'message-parser.c:868,3'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
        - Branch String:   'message-parser.c:868,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:868,3'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
            - BranchSide:      'message-parser.c:868,3'
              BranchSideFuncs:
                - message_part_finish
                - i_panic
        - Branch String:   'message-parser.c:868,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:868,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:871,3'
              BranchSideFuncs:
                - message_part_finish
        - Branch String:   'message-parser.c:871,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:872,24'
              BranchSideFuncs:
                - message_part_finish
            - BranchSide:      'message-parser.c:873,2'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:875,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:877,3'
              BranchSideFuncs: []
            - BranchSide:      'message-parser.c:879,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-parser.c:853,9'
          Dst:             message_parser_read_more
        - Src:             'message-parser.c:855,4'
          Dst:             i_panic
        - Src:             'message-parser.c:859,4'
          Dst:             i_panic
        - Src:             'message-parser.c:868,3'
          Dst:             i_panic
        - Src:             'message-parser.c:872,4'
          Dst:             message_part_finish
    - functionName:    message_parser_parse_header
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 887
      functionLinenumberEnd: 908
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - hdr_size
        - callback
        - context
      BBCount:         32
      ICount:          162
      EdgeCount:       35
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - message_parser_parse_next_block
        - t_pop
        - t_push
      functionUses:    0
      BranchProfiles:
        - Branch String:   'message-parser.c:891,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:892,3'
              BranchSideFuncs:
                - t_push
                - t_pop
                - message_parser_parse_next_block
                - t_push
                - t_pop
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:899,2'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:894,5'
          Branch Sides:
            - BranchSide:      'message-parser.c:894,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:894,5'
              BranchSideFuncs:
                - message_parser_parse_next_block
                - t_push
                - t_pop
                - i_panic
                - i_panic
                - i_panic
                - t_push
                - t_pop
                - i_panic
        - Branch String:   'message-parser.c:896,7'
          Branch Sides:
            - BranchSide:      'message-parser.c:891,2'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:897,4'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:899,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:899,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:900,2'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:900,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:900,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:902,6'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
        - Branch String:   'message-parser.c:902,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:902,15'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
            - BranchSide:      'message-parser.c:902,6'
              BranchSideFuncs: []
        - Branch String:   'message-parser.c:905,4'
          Branch Sides:
            - BranchSide:      'message-parser.c:905,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:905,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-parser.c:891,16'
          Dst:             message_parser_parse_next_block
        - Src:             'message-parser.c:892,3'
          Dst:             t_push
        - Src:             'message-parser.c:894,5'
          Dst:             t_pop
        - Src:             'message-parser.c:894,5'
          Dst:             i_panic
        - Src:             'message-parser.c:899,2'
          Dst:             i_panic
        - Src:             'message-parser.c:900,2'
          Dst:             i_panic
        - Src:             'message-parser.c:902,15'
          Dst:             t_push
        - Src:             'message-parser.c:905,4'
          Dst:             t_pop
        - Src:             'message-parser.c:905,4'
          Dst:             i_panic
    - functionName:    array_free_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/array.h:159,2'
          Dst:             buffer_free
    - functionName:    message_parser_deinit_from_parts
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 813
      functionLinenumberEnd: 841
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - _ctx
        - parts_r
        - error_r
      BBCount:         27
      ICount:          166
      EdgeCount:       31
      CyclomaticComplexity: 6
      functionsReached:
        - array_free_i
        - boundary_remove_until
        - i_panic
        - i_stream_unref
        - message_parse_header_deinit
        - message_part_finish
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'message-parser.c:821,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:822,32'
              BranchSideFuncs:
                - message_parse_header_deinit
                - boundary_remove_until
                - i_stream_unref
                - array_free_i
                - p_free_internal
                - p_free_internal
                - i_panic
                - i_panic
                - message_part_finish
            - BranchSide:      'message-parser.c:823,6'
              BranchSideFuncs:
                - boundary_remove_until
                - i_stream_unref
                - array_free_i
                - p_free_internal
                - p_free_internal
                - i_panic
                - i_panic
                - message_part_finish
        - Branch String:   'message-parser.c:823,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:830,3'
              BranchSideFuncs:
                - boundary_remove_until
                - i_stream_unref
                - array_free_i
                - p_free_internal
                - p_free_internal
                - i_panic
                - i_panic
                - message_part_finish
            - BranchSide:      'message-parser.c:833,24'
              BranchSideFuncs:
                - boundary_remove_until
                - i_stream_unref
                - array_free_i
                - p_free_internal
                - p_free_internal
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:830,3'
          Branch Sides:
            - BranchSide:      'message-parser.c:831,24'
              BranchSideFuncs:
                - message_part_finish
                - boundary_remove_until
                - i_stream_unref
                - array_free_i
                - p_free_internal
                - p_free_internal
                - i_panic
                - i_panic
            - BranchSide:      'message-parser.c:832,2'
              BranchSideFuncs:
                - boundary_remove_until
                - i_stream_unref
                - array_free_i
                - p_free_internal
                - p_free_internal
                - i_panic
                - i_panic
        - Branch String:   'message-parser.c:834,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:834,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:836,18'
              BranchSideFuncs:
                - i_stream_unref
                - array_free_i
                - p_free_internal
                - p_free_internal
                - i_panic
        - Branch String:   'message-parser.c:840,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:840,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:840,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'message-parser.c:840,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:840,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:840,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-parser.c:822,3'
          Dst:             message_parse_header_deinit
        - Src:             'message-parser.c:831,4'
          Dst:             message_part_finish
        - Src:             'message-parser.c:833,2'
          Dst:             boundary_remove_until
        - Src:             'message-parser.c:834,2'
          Dst:             i_panic
        - Src:             'message-parser.c:836,2'
          Dst:             i_stream_unref
        - Src:             'message-parser.c:837,2'
          Dst:             array_free_i
        - Src:             'message-parser.c:838,2'
          Dst:             p_free_internal
        - Src:             'message-parser.c:839,2'
          Dst:             p_free_internal
        - Src:             'message-parser.c:840,2'
          Dst:             i_panic
    - functionName:    message_parser_deinit
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 802
      functionLinenumberEnd: 808
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - _ctx
        - parts_r
      BBCount:         9
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - message_parser_deinit_from_parts
      functionUses:    1
      BranchProfiles:
        - Branch String:   'message-parser.c:805,2'
          Branch Sides:
            - BranchSide:      'message-parser.c:805,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:806,39'
              BranchSideFuncs:
                - message_parser_deinit_from_parts
                - i_panic
        - Branch String:   'message-parser.c:806,6'
          Branch Sides:
            - BranchSide:      'message-parser.c:807,51'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-parser.c:808,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-parser.c:805,2'
          Dst:             i_panic
        - Src:             'message-parser.c:806,6'
          Dst:             message_parser_deinit_from_parts
        - Src:             'message-parser.c:807,3'
          Dst:             i_panic
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/array.h:149,3'
          Branch Sides:
            - BranchSide:      '../../src/lib/array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i
            - BranchSide:      '../../src/lib/array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i
      Callsites:
        - Src:             '../../src/lib/array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             '../../src/lib/array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    message_parser_init
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 786
      functionLinenumberEnd: 797
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - part_pool
        - input
        - set
      BBCount:         3
      ICount:          61
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_create_i
        - malloc_multiply_check
        - message_parser_init_int
        - p_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'message-parser.c:789,8'
          Dst:             message_parser_init_int
        - Src:             'message-parser.c:791,27'
          Dst:             malloc_multiply_check
        - Src:             'message-parser.c:791,27'
          Dst:             p_malloc
        - Src:             'message-parser.c:796,2'
          Dst:             array_create_i
    - functionName:    message_parser_init_int
      functionSourceFile: '/src/dovecot/src/lib-mail/message-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 763
      functionLinenumberEnd: 780
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - set
      BBCount:         12
      ICount:          106
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - i_stream_ref
        - malloc_multiply_check
        - p_malloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'message-parser.c:769,31'
          Branch Sides:
            - BranchSide:      'message-parser.c:769,2'
              BranchSideFuncs:
                - i_stream_ref
            - BranchSide:      'message-parser.c:770,3'
              BranchSideFuncs:
                - i_stream_ref
        - Branch String:   'message-parser.c:772,30'
          Branch Sides:
            - BranchSide:      'message-parser.c:772,2'
              BranchSideFuncs:
                - i_stream_ref
            - BranchSide:      'message-parser.c:773,3'
              BranchSideFuncs:
                - i_stream_ref
        - Branch String:   'message-parser.c:775,30'
          Branch Sides:
            - BranchSide:      'message-parser.c:775,30'
              BranchSideFuncs:
                - i_stream_ref
            - BranchSide:      'message-parser.c:776,3'
              BranchSideFuncs:
                - i_stream_ref
      Callsites:
        - Src:             'message-parser.c:766,8'
          Dst:             malloc_multiply_check
        - Src:             'message-parser.c:766,8'
          Dst:             p_malloc
        - Src:             'message-parser.c:779,2'
          Dst:             i_stream_ref
    - functionName:    message_skip_virtual
      functionSourceFile: '/src/dovecot/src/lib-mail/message-size.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - virtual_skip
        - last_virtual_cr_r
      BBCount:         41
      ICount:          248
      EdgeCount:       52
      CyclomaticComplexity: 13
      functionsReached:
        - i_panic
        - i_stream_read_bytes
        - i_stream_skip
        - memchr
      functionUses:    0
      BranchProfiles:
        - Branch String:   'message-size.c:139,6'
          Branch Sides:
            - BranchSide:      'message-size.c:140,3'
              BranchSideFuncs: []
            - BranchSide:      'message-size.c:142,2'
              BranchSideFuncs:
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
                - i_stream_skip
        - Branch String:   'message-size.c:142,2'
          Branch Sides:
            - BranchSide:      'message-size.c:143,10'
              BranchSideFuncs:
                - memchr
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-size.c:175,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'message-size.c:143,10'
          Branch Sides:
            - BranchSide:      'message-size.c:143,8'
              BranchSideFuncs:
                - memchr
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-size.c:143,8'
              BranchSideFuncs:
                - memchr
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-size.c:145,7'
          Branch Sides:
            - BranchSide:      'message-size.c:146,18'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
            - BranchSide:      'message-size.c:152,7'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
        - Branch String:   'message-size.c:148,8'
          Branch Sides:
            - BranchSide:      'message-size.c:149,5'
              BranchSideFuncs: []
            - BranchSide:      'message-size.c:150,4'
              BranchSideFuncs:
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
                - i_stream_skip
        - Branch String:   'message-size.c:156,15'
          Branch Sides:
            - BranchSide:      'message-size.c:156,19'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
            - BranchSide:      'message-size.c:157,8'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
        - Branch String:   'message-size.c:156,31'
          Branch Sides:
            - BranchSide:      'message-size.c:157,8'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
            - BranchSide:      'message-size.c:158,8'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
        - Branch String:   'message-size.c:157,14'
          Branch Sides:
            - BranchSide:      'message-size.c:157,17'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
            - BranchSide:      'message-size.c:166,5'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
        - Branch String:   'message-size.c:156,7'
          Branch Sides:
            - BranchSide:      'message-size.c:158,8'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
            - BranchSide:      'message-size.c:166,5'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
        - Branch String:   'message-size.c:158,8'
          Branch Sides:
            - BranchSide:      'message-size.c:160,6'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
            - BranchSide:      'message-size.c:162,17'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
        - Branch String:   'message-size.c:169,7'
          Branch Sides:
            - BranchSide:      'message-size.c:170,4'
              BranchSideFuncs: []
            - BranchSide:      'message-size.c:172,3'
              BranchSideFuncs:
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_stream_skip
                - i_panic
        - Branch String:   'message-size.c:172,3'
          Branch Sides:
            - BranchSide:      'message-size.c:172,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-size.c:173,16'
              BranchSideFuncs:
                - i_stream_read_bytes.21
                - i_panic
                - memchr
                - i_stream_skip
                - i_panic
                - i_stream_skip
        - Branch String:   'message-size.c:175,2'
          Branch Sides:
            - BranchSide:      'message-size.c:175,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-size.c:176,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-size.c:142,16'
          Dst:             i_stream_read_bytes
        - Src:             'message-size.c:144,28'
          Dst:             memchr
        - Src:             'message-size.c:146,4'
          Dst:             i_stream_skip
        - Src:             'message-size.c:168,3'
          Dst:             i_stream_skip
        - Src:             'message-size.c:172,3'
          Dst:             i_panic
        - Src:             'message-size.c:175,2'
          Dst:             i_panic
    - functionName:    i_stream_read_bytes
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/istream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - data_r
        - size_r
        - wanted
      BBCount:         7
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_read_data
      functionUses:    4
      BranchProfiles:
        - Branch String:   '../../src/lib/istream.h:229,2'
          Branch Sides:
            - BranchSide:      '../../src/lib/istream.h:229,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/istream.h:229,2'
              BranchSideFuncs:
                - i_stream_read_data
      Callsites:
        - Src:             '../../src/lib/istream.h:229,2'
          Dst:             i_panic
        - Src:             '../../src/lib/istream.h:230,9'
          Dst:             i_stream_read_data
    - functionName:    message_size_add
      functionSourceFile: '/src/dovecot/src/lib-mail/message-size.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dest
        - src
      BBCount:         1
      ICount:          34
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_read_more
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/istream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - data_r
        - size_r
      BBCount:         7
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_read_bytes
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/istream.h:238,2'
          Branch Sides:
            - BranchSide:      '../../src/lib/istream.h:238,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/istream.h:238,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             '../../src/lib/istream.h:237,12'
          Dst:             i_stream_read_bytes
        - Src:             '../../src/lib/istream.h:238,2'
          Dst:             i_panic
    - functionName:    message_get_body_size
      functionSourceFile: '/src/dovecot/src/lib-mail/message-size.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - body
        - has_nuls_r
      BBCount:         43
      ICount:          267
      EdgeCount:       52
      CyclomaticComplexity: 11
      functionsReached:
        - i_panic
        - i_stream_read_bytes
        - i_stream_read_more
        - i_stream_skip
      functionUses:    0
      BranchProfiles:
        - Branch String:   'message-size.c:79,6'
          Branch Sides:
            - BranchSide:      'message-size.c:80,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-size.c:84,6'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:80,3'
          Branch Sides:
            - BranchSide:      'message-size.c:80,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-size.c:81,10'
              BranchSideFuncs: []
        - Branch String:   'message-size.c:81,18'
          Branch Sides:
            - BranchSide:      'message-size.c:81,21'
              BranchSideFuncs: []
            - BranchSide:      'message-size.c:81,10'
              BranchSideFuncs: []
        - Branch String:   'message-size.c:84,6'
          Branch Sides:
            - BranchSide:      'message-size.c:85,19'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:87,2'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:88,3'
          Branch Sides:
            - BranchSide:      'message-size.c:89,8'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:107,17'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:89,8'
          Branch Sides:
            - BranchSide:      'message-size.c:90,5'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:92,8'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:92,8'
          Branch Sides:
            - BranchSide:      'message-size.c:93,9'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:101,15'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:93,9'
          Branch Sides:
            - BranchSide:      'message-size.c:95,22'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:100,5'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:109,2'
          Branch Sides:
            - BranchSide:      'message-size.c:88,10'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:110,2'
              BranchSideFuncs:
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:110,2'
          Branch Sides:
            - BranchSide:      'message-size.c:110,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-size.c:112,8'
              BranchSideFuncs:
                - i_stream_skip
                - i_panic
        - Branch String:   'message-size.c:118,2'
          Branch Sides:
            - BranchSide:      'message-size.c:118,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-size.c:119,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-size.c:79,13'
          Dst:             i_stream_read_more
        - Src:             'message-size.c:80,3'
          Dst:             i_panic
        - Src:             'message-size.c:107,3'
          Dst:             i_stream_skip
        - Src:             'message-size.c:109,18'
          Dst:             i_stream_read_bytes
        - Src:             'message-size.c:110,2'
          Dst:             i_panic
        - Src:             'message-size.c:114,2'
          Dst:             i_stream_skip
        - Src:             'message-size.c:118,2'
          Dst:             i_panic
    - functionName:    message_get_header_size
      functionSourceFile: '/src/dovecot/src/lib-mail/message-size.c'
      linkageType:     InternalLinkage
      functionLinenumber: 10
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - hdr
        - has_nuls_r
      BBCount:         57
      ICount:          343
      EdgeCount:       73
      CyclomaticComplexity: 18
      functionsReached:
        - i_panic
        - i_stream_read_bytes
        - i_stream_skip
      functionUses:    0
      BranchProfiles:
        - Branch String:   'message-size.c:19,2'
          Branch Sides:
            - BranchSide:      'message-size.c:20,12'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:57,2'
              BranchSideFuncs:
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:20,3'
          Branch Sides:
            - BranchSide:      'message-size.c:21,8'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:45,7'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:21,8'
          Branch Sides:
            - BranchSide:      'message-size.c:22,9'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:27,4'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:22,9'
          Branch Sides:
            - BranchSide:      'message-size.c:23,7'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:24,5'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:28,15'
          Branch Sides:
            - BranchSide:      'message-size.c:28,18'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:30,21'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:28,8'
          Branch Sides:
            - BranchSide:      'message-size.c:30,21'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:33,8'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:33,15'
          Branch Sides:
            - BranchSide:      'message-size.c:33,19'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:35,5'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:33,26'
          Branch Sides:
            - BranchSide:      'message-size.c:33,29'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:38,9'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:33,8'
          Branch Sides:
            - BranchSide:      'message-size.c:35,5'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:38,9'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:38,15'
          Branch Sides:
            - BranchSide:      'message-size.c:38,18'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:39,9'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:38,36'
          Branch Sides:
            - BranchSide:      'message-size.c:39,9'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:41,5'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:39,15'
          Branch Sides:
            - BranchSide:      'message-size.c:39,18'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:43,3'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:39,35'
          Branch Sides:
            - BranchSide:      'message-size.c:39,38'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:43,3'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:38,8'
          Branch Sides:
            - BranchSide:      'message-size.c:41,5'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:43,3'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:45,7'
          Branch Sides:
            - BranchSide:      'message-size.c:47,15'
              BranchSideFuncs:
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:52,14'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.21
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:57,2'
          Branch Sides:
            - BranchSide:      'message-size.c:57,2'
              BranchSideFuncs:
                - i_stream_skip
                - i_panic
                - i_panic
            - BranchSide:      'message-size.c:57,2'
              BranchSideFuncs:
                - i_stream_skip
                - i_panic
                - i_panic
        - Branch String:   'message-size.c:57,2'
          Branch Sides:
            - BranchSide:      'message-size.c:57,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-size.c:59,8'
              BranchSideFuncs:
                - i_stream_skip
                - i_panic
        - Branch String:   'message-size.c:64,2'
          Branch Sides:
            - BranchSide:      'message-size.c:64,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-size.c:64,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-size.c:19,16'
          Dst:             i_stream_read_bytes
        - Src:             'message-size.c:53,3'
          Dst:             i_stream_skip
        - Src:             'message-size.c:57,2'
          Dst:             i_panic
        - Src:             'message-size.c:60,2'
          Dst:             i_stream_skip
        - Src:             'message-size.c:64,2'
          Dst:             i_panic
    - functionName:    str_len
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    result_contains
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc2231-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - result
        - key
      BBCount:         14
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - array_get_i
        - i_panic
        - strcasecmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc2231-parser.c:120,2'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:120,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'rfc2231-parser.c:121,20'
              BranchSideFuncs:
                - strcasecmp
        - Branch String:   'rfc2231-parser.c:121,2'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:122,18'
              BranchSideFuncs:
                - strcasecmp
            - BranchSide:      'rfc2231-parser.c:125,2'
              BranchSideFuncs: []
        - Branch String:   'rfc2231-parser.c:122,7'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:123,4'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:124,2'
              BranchSideFuncs:
                - strcasecmp
      Callsites:
        - Src:             'rfc2231-parser.c:119,25'
          Dst:             array_get_i
        - Src:             'rfc2231-parser.c:120,2'
          Dst:             i_panic
        - Src:             'rfc2231-parser.c:122,7'
          Dst:             strcasecmp
    - functionName:    array_get_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - count_r
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/array.h:253,13'
          Dst:             array_count_i
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _decode_hex_digit
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc2231-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - digit
      BBCount:         19
      ICount:          96
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'rfc2231-parser.c:52,19'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:52,22'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:54,11'
              BranchSideFuncs: []
        - Branch String:   'rfc2231-parser.c:52,6'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:53,10'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:54,11'
              BranchSideFuncs: []
        - Branch String:   'rfc2231-parser.c:54,24'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:54,27'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:56,11'
              BranchSideFuncs: []
        - Branch String:   'rfc2231-parser.c:54,11'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:55,10'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:56,11'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    _decode_percent_encoding
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc2231-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - char
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - digit_a
        - digit_b
        - result_r
      BBCount:         8
      ICount:          66
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _decode_hex_digit
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc2231-parser.c:66,6'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:67,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:68,14'
              BranchSideFuncs:
                - _decode_hex_digit
        - Branch String:   'rfc2231-parser.c:70,6'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:71,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:72,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'rfc2231-parser.c:65,16'
          Dst:             _decode_hex_digit
        - Src:             'rfc2231-parser.c:69,12'
          Dst:             _decode_hex_digit
    - functionName:    str_append_data
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - data
        - len
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/str.h:39,2'
          Dst:             buffer_append
    - functionName:    value_to_utf8
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc2231-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - charset
        - value
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - charset_to_utf8_str
        - str_c
        - t_str_new
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc2231-parser.c:174,69'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:175,6'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:176,3'
              BranchSideFuncs: []
        - Branch String:   'rfc2231-parser.c:174,6'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:176,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:177,15'
              BranchSideFuncs:
                - str_c
      Callsites:
        - Src:             'rfc2231-parser.c:172,21'
          Dst:             t_str_new
        - Src:             'rfc2231-parser.c:174,6'
          Dst:             charset_to_utf8_str
        - Src:             'rfc2231-parser.c:177,9'
          Dst:             str_c
    - functionName:    rfc2231_decode_value
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc2231-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - value
      BBCount:         14
      ICount:          96
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _decode_percent_encoding
        - str_append
        - str_append_data
        - strchr
        - t_str_new
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc2231-parser.c:81,2'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:83,19'
              BranchSideFuncs:
                - str_append_data
                - _decode_percent_encoding
                - str_append_data
                - strchr
                - str_append
            - BranchSide:      'rfc2231-parser.c:92,13'
              BranchSideFuncs:
                - str_append
        - Branch String:   'rfc2231-parser.c:85,22'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:85,27'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:87,4'
              BranchSideFuncs: []
        - Branch String:   'rfc2231-parser.c:85,40'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:86,35'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:87,4'
              BranchSideFuncs: []
        - Branch String:   'rfc2231-parser.c:85,7'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:87,4'
              BranchSideFuncs:
                - str_append_data
                - strchr
                - str_append
                - str_append_data
                - _decode_percent_encoding
            - BranchSide:      'rfc2231-parser.c:88,11'
              BranchSideFuncs:
                - str_append_data
                - strchr
                - str_append
                - str_append_data
                - _decode_percent_encoding
      Callsites:
        - Src:             'rfc2231-parser.c:78,18'
          Dst:             t_str_new
        - Src:             'rfc2231-parser.c:81,14'
          Dst:             strchr
        - Src:             'rfc2231-parser.c:83,3'
          Dst:             str_append_data
        - Src:             'rfc2231-parser.c:86,8'
          Dst:             _decode_percent_encoding
        - Src:             'rfc2231-parser.c:89,3'
          Dst:             str_append_data
        - Src:             'rfc2231-parser.c:92,2'
          Dst:             str_append
    - functionName:    strchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    33
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_append
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cstr
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/str.h:35,27'
          Dst:             strlen
        - Src:             '../../src/lib/str.h:35,2'
          Dst:             buffer_append
    - functionName:    find_charset
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc2231-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - value
        - end_r
      BBCount:         8
      ICount:          60
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strchr
        - t_strdup_until
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc2231-parser.c:154,6'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:155,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:156,47'
              BranchSideFuncs:
                - t_strdup_until
                - strchr
        - Branch String:   'rfc2231-parser.c:162,6'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:163,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:165,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'rfc2231-parser.c:153,20'
          Dst:             strchr
        - Src:             'rfc2231-parser.c:156,32'
          Dst:             t_strdup_until
        - Src:             'rfc2231-parser.c:161,8'
          Dst:             strchr
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_truncate
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - len
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_set_used_size
        - str_len
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/str.h:90,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/str.h:90,6'
              BranchSideFuncs:
                - buffer_set_used_size
            - BranchSide:      '../../src/lib/str.h:91,24'
              BranchSideFuncs:
                - buffer_set_used_size
      Callsites:
        - Src:             '../../src/lib/str.h:90,6'
          Dst:             str_len
        - Src:             '../../src/lib/str.h:91,3'
          Dst:             buffer_set_used_size
    - functionName:    reconstruct_rfc2231_key
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc2231-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - param
        - with_extended
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - t_strdup_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc2231-parser.c:141,17'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:141,20'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'rfc2231-parser.c:141,17'
              BranchSideFuncs:
                - t_strdup_printf
      Callsites:
        - Src:             'rfc2231-parser.c:140,9'
          Dst:             t_strdup_printf
    - functionName:    rfc2231_parameter_cmp
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc2231-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - r1
        - r2
      BBCount:         11
      ICount:          73
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc2231-parser.c:106,6'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:107,10'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:108,6'
              BranchSideFuncs: []
        - Branch String:   'rfc2231-parser.c:108,6'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:109,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:110,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'rfc2231-parser.c:105,12'
          Dst:             strcmp
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    29
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_idx_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
      BBCount:         7
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   '../../src/lib/array.h:275,2'
          Branch Sides:
            - BranchSide:      '../../src/lib/array.h:275,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/array.h:275,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             '../../src/lib/array.h:275,2'
          Dst:             i_panic
    - functionName:    array_append_space_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_space_unsafe
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/array.h:336,9'
          Dst:             buffer_append_space_unsafe
    - functionName:    result_append
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc2231-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - result
        - key
        - value
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_append_i
        - result_contains
      functionUses:    4
      BranchProfiles:
        - Branch String:   'rfc2231-parser.c:131,6'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:131,6'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:132,3'
              BranchSideFuncs:
                - array_append_i.156
                - array_append_i.156
      Callsites:
        - Src:             'rfc2231-parser.c:131,7'
          Dst:             result_contains
        - Src:             'rfc2231-parser.c:132,3'
          Dst:             array_append_i
        - Src:             'rfc2231-parser.c:133,3'
          Dst:             array_append_i
    - functionName:    array_append_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - data
        - count
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/array.h:212,2'
          Dst:             buffer_append
    - functionName:    rfc2231_decode_charset_value
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc2231-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - value
        - charset_r
      BBCount:         17
      ICount:          96
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - find_charset
        - rfc2231_decode_value
        - str_c
        - strcmp
        - value_to_utf8
      functionUses:    3
      BranchProfiles:
        - Branch String:   'rfc2231-parser.c:183,6'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:184,29'
              BranchSideFuncs:
                - find_charset
                - strcmp
                - rfc2231_decode_value
                - str_c
                - value_to_utf8
            - BranchSide:      'rfc2231-parser.c:186,7'
              BranchSideFuncs:
                - strcmp
                - rfc2231_decode_value
                - str_c
                - value_to_utf8
        - Branch String:   'rfc2231-parser.c:186,25'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:186,36'
              BranchSideFuncs:
                - strcmp
                - rfc2231_decode_value
                - str_c
                - value_to_utf8
            - BranchSide:      'rfc2231-parser.c:186,25'
              BranchSideFuncs: []
        - Branch String:   'rfc2231-parser.c:186,6'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:186,6'
              BranchSideFuncs:
                - rfc2231_decode_value
                - str_c
                - value_to_utf8
            - BranchSide:      'rfc2231-parser.c:187,40'
              BranchSideFuncs:
                - rfc2231_decode_value
                - str_c
                - value_to_utf8
        - Branch String:   'rfc2231-parser.c:188,25'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:188,39'
              BranchSideFuncs:
                - value_to_utf8
            - BranchSide:      'rfc2231-parser.c:188,53'
              BranchSideFuncs:
                - str_c
                - value_to_utf8
        - Branch String:   'rfc2231-parser.c:192,7'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:193,12'
              BranchSideFuncs: []
            - BranchSide:      'rfc2231-parser.c:194,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'rfc2231-parser.c:184,16'
          Dst:             find_charset
        - Src:             'rfc2231-parser.c:186,28'
          Dst:             strcmp
        - Src:             'rfc2231-parser.c:187,19'
          Dst:             rfc2231_decode_value
        - Src:             'rfc2231-parser.c:188,47'
          Dst:             str_c
        - Src:             'rfc2231-parser.c:191,28'
          Dst:             value_to_utf8
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    2
      BranchProfiles:
        - Branch String:   '../../src/lib/array.h:149,3'
          Branch Sides:
            - BranchSide:      '../../src/lib/array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.149
            - BranchSide:      '../../src/lib/array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.149
      Callsites:
        - Src:             '../../src/lib/array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             '../../src/lib/array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    rfc2231_parse
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc2231-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - result_r
      BBCount:         62
      ICount:          475
      EdgeCount:       81
      CyclomaticComplexity: 21
      functionsReached:
        - array_append_i
        - array_append_space_i
        - array_count_i
        - array_create_i
        - array_get_i
        - array_idx_i
        - array_sort_i
        - pool_datastack_create
        - reconstruct_rfc2231_key
        - result_append
        - rfc2231_decode_charset_value
        - rfc2231_parameter_cmp
        - rfc822_parse_content_param
        - str_append
        - str_c
        - str_parse_uint
        - str_truncate
        - strcasecmp
        - strchr
        - t_str_new
        - t_strdup
        - t_strdup_until
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc2231-parser.c:223,2'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:224,7'
              BranchSideFuncs:
                - strchr
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - str_c
                - t_strdup
                - result_append
                - str_parse_uint
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - array_append_i.156
            - BranchSide:      'rfc2231-parser.c:268,29'
              BranchSideFuncs:
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
        - Branch String:   'rfc2231-parser.c:224,7'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:226,11'
              BranchSideFuncs:
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_c
                - t_strdup
                - result_append
                - str_parse_uint
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - array_append_i.156
            - BranchSide:      'rfc2231-parser.c:232,14'
              BranchSideFuncs:
                - strchr
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - str_c
                - t_strdup
                - result_append
                - str_parse_uint
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - array_append_i.156
        - Branch String:   'rfc2231-parser.c:227,8'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:228,5'
              BranchSideFuncs:
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
            - BranchSide:      'rfc2231-parser.c:229,4'
              BranchSideFuncs:
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_c
                - t_strdup
                - result_append
                - str_parse_uint
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - array_append_i.156
        - Branch String:   'rfc2231-parser.c:233,7'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:234,9'
              BranchSideFuncs:
                - str_parse_uint
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_c
                - t_strdup
                - result_append
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - array_append_i.156
            - BranchSide:      'rfc2231-parser.c:265,7'
              BranchSideFuncs:
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_parse_uint
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - array_append_i.156
                - str_c
                - t_strdup
                - result_append
        - Branch String:   'rfc2231-parser.c:238,8'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:239,19'
              BranchSideFuncs:
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_parse_uint
                - str_c
                - t_strdup
                - result_append
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - array_append_i.156
            - BranchSide:      'rfc2231-parser.c:242,19'
              BranchSideFuncs:
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_parse_uint
                - str_c
                - t_strdup
                - result_append
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - array_append_i.156
        - Branch String:   'rfc2231-parser.c:244,8'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:245,42'
              BranchSideFuncs:
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_parse_uint
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - array_append_i.156
            - BranchSide:      'rfc2231-parser.c:262,7'
              BranchSideFuncs:
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_parse_uint
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - array_append_i.156
                - str_c
                - t_strdup
                - result_append
        - Branch String:   'rfc2231-parser.c:248,9'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:249,26'
              BranchSideFuncs:
                - array_append_i.156
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_parse_uint
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - str_c
                - t_strdup
                - result_append
            - BranchSide:      'rfc2231-parser.c:254,24'
              BranchSideFuncs:
                - result_append
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_parse_uint
                - t_strdup_until
                - str_c
                - t_strdup
                - array_append_i.156
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
        - Branch String:   'rfc2231-parser.c:254,10'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:255,19'
              BranchSideFuncs:
                - rfc2231_decode_charset_value
                - result_append
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_parse_uint
                - t_strdup_until
                - str_c
                - t_strdup
                - array_append_i.156
                - str_c
                - t_strdup
                - result_append
            - BranchSide:      'rfc2231-parser.c:259,29'
              BranchSideFuncs:
                - result_append
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_parse_uint
                - t_strdup_until
                - str_c
                - t_strdup
                - rfc2231_decode_charset_value
                - array_append_i.156
                - str_c
                - t_strdup
                - result_append
        - Branch String:   'rfc2231-parser.c:265,7'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:223,2'
              BranchSideFuncs:
                - str_c
                - t_strdup
                - result_append
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_parse_uint
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - array_append_i.156
            - BranchSide:      'rfc2231-parser.c:266,27'
              BranchSideFuncs:
                - str_c
                - t_strdup
                - result_append
                - rfc822_parse_content_param
                - array_count_i.148
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - strchr
                - str_parse_uint
                - t_strdup_until
                - str_c
                - t_strdup
                - result_append
                - rfc2231_decode_charset_value
                - array_append_i.156
        - Branch String:   'rfc2231-parser.c:270,6'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:272,3'
              BranchSideFuncs:
                - array_append_space_i
                - array_idx_i.152
            - BranchSide:      'rfc2231-parser.c:278,2'
              BranchSideFuncs:
                - array_sort_i
                - array_get_i
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
        - Branch String:   'rfc2231-parser.c:284,2'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:285,6'
              BranchSideFuncs:
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
            - BranchSide:      'rfc2231-parser.c:351,2'
              BranchSideFuncs:
                - array_append_space_i
                - array_idx_i.152
        - Branch String:   'rfc2231-parser.c:287,3'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:288,19'
              BranchSideFuncs:
                - strcasecmp
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
            - BranchSide:      'rfc2231-parser.c:297,10'
              BranchSideFuncs:
                - array_append_space_i
                - array_idx_i.152
                - strcasecmp
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
        - Branch String:   'rfc2231-parser.c:288,8'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:290,5'
              BranchSideFuncs:
                - array_append_space_i
                - array_idx_i.152
                - strcasecmp
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
            - BranchSide:      'rfc2231-parser.c:291,8'
              BranchSideFuncs:
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
        - Branch String:   'rfc2231-parser.c:291,8'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:293,8'
              BranchSideFuncs:
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
            - BranchSide:      'rfc2231-parser.c:295,12'
              BranchSideFuncs:
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
        - Branch String:   'rfc2231-parser.c:299,7'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:302,13'
              BranchSideFuncs:
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - str_append
                - rfc2231_decode_charset_value
            - BranchSide:      'rfc2231-parser.c:328,16'
              BranchSideFuncs:
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - str_append
                - rfc2231_decode_charset_value
        - Branch String:   'rfc2231-parser.c:302,4'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:303,23'
              BranchSideFuncs:
                - reconstruct_rfc2231_key
                - result_append
                - array_append_space_i
                - array_idx_i.152
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - rfc2231_decode_charset_value
            - BranchSide:      'rfc2231-parser.c:324,4'
              BranchSideFuncs:
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
        - Branch String:   'rfc2231-parser.c:305,9'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:313,18'
              BranchSideFuncs:
                - rfc2231_decode_charset_value
                - reconstruct_rfc2231_key
                - result_append
                - array_append_space_i
                - array_idx_i.152
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
            - BranchSide:      'rfc2231-parser.c:320,8'
              BranchSideFuncs:
                - reconstruct_rfc2231_key
                - result_append
                - array_append_space_i
                - array_idx_i.152
                - str_truncate
                - str_c
                - t_strdup
                - result_append
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
                - rfc2231_decode_charset_value
        - Branch String:   'rfc2231-parser.c:331,3'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:332,22'
              BranchSideFuncs:
                - str_append
                - str_c
                - t_strdup
                - result_append
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - strcasecmp
                - rfc2231_decode_charset_value
            - BranchSide:      'rfc2231-parser.c:348,9'
              BranchSideFuncs:
                - str_c
                - t_strdup
                - result_append
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - str_append
                - rfc2231_decode_charset_value
                - strcasecmp
        - Branch String:   'rfc2231-parser.c:344,8'
          Branch Sides:
            - BranchSide:      'rfc2231-parser.c:345,40'
              BranchSideFuncs:
                - rfc2231_decode_charset_value
                - str_append
                - str_c
                - t_strdup
                - result_append
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - strcasecmp
            - BranchSide:      'rfc2231-parser.c:346,15'
              BranchSideFuncs:
                - str_append
                - str_c
                - t_strdup
                - result_append
                - array_append_space_i
                - array_idx_i.152
                - reconstruct_rfc2231_key
                - result_append
                - rfc2231_decode_charset_value
                - str_truncate
                - strcasecmp
                - rfc2231_decode_charset_value
      Callsites:
        - Src:             'rfc2231-parser.c:220,2'
          Dst:             pool_datastack_create
        - Src:             'rfc2231-parser.c:220,2'
          Dst:             array_create_i
        - Src:             'rfc2231-parser.c:221,2'
          Dst:             pool_datastack_create
        - Src:             'rfc2231-parser.c:221,2'
          Dst:             array_create_i
        - Src:             'rfc2231-parser.c:222,8'
          Dst:             t_str_new
        - Src:             'rfc2231-parser.c:223,16'
          Dst:             rfc822_parse_content_param
        - Src:             'rfc2231-parser.c:232,7'
          Dst:             strchr
        - Src:             'rfc2231-parser.c:235,22'
          Dst:             str_parse_uint
        - Src:             'rfc2231-parser.c:245,27'
          Dst:             t_strdup_until
        - Src:             'rfc2231-parser.c:246,36'
          Dst:             str_c
        - Src:             'rfc2231-parser.c:246,27'
          Dst:             t_strdup
        - Src:             'rfc2231-parser.c:251,6'
          Dst:             array_append_i
        - Src:             'rfc2231-parser.c:256,17'
          Dst:             rfc2231_decode_charset_value
        - Src:             'rfc2231-parser.c:259,6'
          Dst:             result_append
        - Src:             'rfc2231-parser.c:266,41'
          Dst:             str_c
        - Src:             'rfc2231-parser.c:266,32'
          Dst:             t_strdup
        - Src:             'rfc2231-parser.c:266,4'
          Dst:             result_append
        - Src:             'rfc2231-parser.c:270,6'
          Dst:             array_count_i
        - Src:             'rfc2231-parser.c:272,3'
          Dst:             array_append_space_i
        - Src:             'rfc2231-parser.c:273,15'
          Dst:             array_idx_i
        - Src:             'rfc2231-parser.c:278,2'
          Dst:             array_sort_i
        - Src:             'rfc2231-parser.c:278,2'
          Dst:             rfc2231_parameter_cmp
        - Src:             'rfc2231-parser.c:280,3'
          Dst:             array_get_i
        - Src:             'rfc2231-parser.c:288,8'
          Dst:             strcasecmp
        - Src:             'rfc2231-parser.c:314,12'
          Dst:             rfc2231_decode_charset_value
        - Src:             'rfc2231-parser.c:319,6'
          Dst:             reconstruct_rfc2231_key
        - Src:             'rfc2231-parser.c:317,5'
          Dst:             result_append
        - Src:             'rfc2231-parser.c:328,3'
          Dst:             str_truncate
        - Src:             'rfc2231-parser.c:345,11'
          Dst:             rfc2231_decode_charset_value
        - Src:             'rfc2231-parser.c:346,4'
          Dst:             str_append
        - Src:             'rfc2231-parser.c:349,40'
          Dst:             str_c
        - Src:             'rfc2231-parser.c:349,31'
          Dst:             t_strdup
        - Src:             'rfc2231-parser.c:349,3'
          Dst:             result_append
        - Src:             'rfc2231-parser.c:351,2'
          Dst:             array_append_space_i
        - Src:             'rfc2231-parser.c:352,14'
          Dst:             array_idx_i
    - functionName:    str_len
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rfc822_parse_content_param
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 516
      functionLinenumberEnd: 564
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - key_r
        - value
      BBCount:         40
      ICount:          263
      EdgeCount:       55
      CyclomaticComplexity: 17
      functionsReached:
        - rfc822_parse_mime_token
        - rfc822_parse_quoted_string
        - rfc822_skip_lwsp
        - str_append_c
        - str_c
        - str_truncate
        - t_str_new
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:528,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:529,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:530,7'
              BranchSideFuncs:
                - rfc822_skip_lwsp
                - t_str_new
                - rfc822_parse_mime_token
                - rfc822_skip_lwsp
                - rfc822_parse_mime_token
                - str_c
                - str_append_c
                - rfc822_parse_quoted_string
        - Branch String:   'rfc822-parser.c:530,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:531,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:532,2'
              BranchSideFuncs:
                - rfc822_skip_lwsp
                - t_str_new
                - rfc822_parse_mime_token
                - rfc822_skip_lwsp
                - rfc822_parse_mime_token
                - str_c
                - str_append_c
                - rfc822_parse_quoted_string
        - Branch String:   'rfc822-parser.c:534,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:535,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:537,8'
              BranchSideFuncs:
                - t_str_new
                - rfc822_parse_mime_token
                - rfc822_skip_lwsp
                - rfc822_parse_mime_token
                - str_c
                - str_append_c
                - rfc822_parse_quoted_string
        - Branch String:   'rfc822-parser.c:538,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:539,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:541,7'
              BranchSideFuncs:
                - rfc822_skip_lwsp
                - rfc822_parse_mime_token
                - str_c
                - str_append_c
                - rfc822_parse_quoted_string
        - Branch String:   'rfc822-parser.c:541,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:542,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:543,2'
              BranchSideFuncs:
                - rfc822_skip_lwsp
                - rfc822_parse_mime_token
                - str_c
                - str_append_c
                - rfc822_parse_quoted_string
        - Branch String:   'rfc822-parser.c:545,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:547,2'
              BranchSideFuncs:
                - str_c
            - BranchSide:      'rfc822-parser.c:547,14'
              BranchSideFuncs:
                - rfc822_parse_mime_token
                - str_c
                - str_append_c
                - rfc822_parse_quoted_string
        - Branch String:   'rfc822-parser.c:547,13'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:548,36'
              BranchSideFuncs:
                - rfc822_parse_quoted_string
                - str_c
            - BranchSide:      'rfc822-parser.c:549,13'
              BranchSideFuncs:
                - rfc822_parse_mime_token
                - str_c
                - str_append_c
        - Branch String:   'rfc822-parser.c:549,34'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:549,38'
              BranchSideFuncs:
                - rfc822_parse_mime_token
                - str_c
                - str_append_c
            - BranchSide:      'rfc822-parser.c:559,33'
              BranchSideFuncs:
                - rfc822_parse_mime_token
                - str_c
        - Branch String:   'rfc822-parser.c:549,13'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:552,3'
              BranchSideFuncs:
                - str_c
                - str_append_c
            - BranchSide:      'rfc822-parser.c:559,33'
              BranchSideFuncs:
                - rfc822_parse_mime_token
                - str_c
        - Branch String:   'rfc822-parser.c:552,31'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:552,35'
              BranchSideFuncs:
                - str_c
                - str_append_c
            - BranchSide:      'rfc822-parser.c:552,3'
              BranchSideFuncs:
                - str_c
                - str_append_c
        - Branch String:   'rfc822-parser.c:552,52'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:552,3'
              BranchSideFuncs:
                - str_c
                - str_append_c
            - BranchSide:      'rfc822-parser.c:553,11'
              BranchSideFuncs:
                - str_c
                - str_append_c
        - Branch String:   'rfc822-parser.c:553,28'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:552,3'
              BranchSideFuncs:
                - str_c
                - str_append_c
            - BranchSide:      'rfc822-parser.c:553,32'
              BranchSideFuncs:
                - str_c
                - str_append_c
        - Branch String:   'rfc822-parser.c:553,50'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:552,3'
              BranchSideFuncs:
                - str_c
                - str_append_c
            - BranchSide:      'rfc822-parser.c:554,11'
              BranchSideFuncs:
                - str_c
                - str_append_c
        - Branch String:   'rfc822-parser.c:554,29'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:552,3'
              BranchSideFuncs:
                - str_c
                - str_append_c
            - BranchSide:      'rfc822-parser.c:554,33'
              BranchSideFuncs:
                - str_c
                - str_append_c
        - Branch String:   'rfc822-parser.c:552,3'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:555,4'
              BranchSideFuncs:
                - str_append_c
                - str_c
            - BranchSide:      'rfc822-parser.c:558,2'
              BranchSideFuncs:
                - str_c
      Callsites:
        - Src:             'rfc822-parser.c:526,2'
          Dst:             str_truncate
        - Src:             'rfc822-parser.c:534,6'
          Dst:             rfc822_skip_lwsp
        - Src:             'rfc822-parser.c:537,8'
          Dst:             t_str_new
        - Src:             'rfc822-parser.c:538,6'
          Dst:             rfc822_parse_mime_token
        - Src:             'rfc822-parser.c:545,13'
          Dst:             rfc822_skip_lwsp
        - Src:             'rfc822-parser.c:548,9'
          Dst:             rfc822_parse_quoted_string
        - Src:             'rfc822-parser.c:555,4'
          Dst:             str_append_c
        - Src:             'rfc822-parser.c:559,9'
          Dst:             rfc822_parse_mime_token
        - Src:             'rfc822-parser.c:562,11'
          Dst:             str_c
    - functionName:    str_truncate
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - len
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_set_used_size
        - str_len
      functionUses:    6
      BranchProfiles:
        - Branch String:   '../../src/lib/str.h:90,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/str.h:90,6'
              BranchSideFuncs:
                - buffer_set_used_size
            - BranchSide:      '../../src/lib/str.h:91,24'
              BranchSideFuncs:
                - buffer_set_used_size
      Callsites:
        - Src:             '../../src/lib/str.h:90,6'
          Dst:             str_len
        - Src:             '../../src/lib/str.h:91,3'
          Dst:             buffer_set_used_size
    - functionName:    rfc822_skip_lwsp
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         21
      ICount:          119
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - rfc822_skip_comment
      functionUses:    14
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:140,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:141,8'
              BranchSideFuncs:
                - rfc822_skip_comment
            - BranchSide:      'rfc822-parser.c:153,9'
              BranchSideFuncs: []
        - Branch String:   'rfc822-parser.c:141,25'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:141,29'
              BranchSideFuncs:
                - rfc822_skip_comment
            - BranchSide:      'rfc822-parser.c:143,4'
              BranchSideFuncs:
                - rfc822_skip_comment
        - Branch String:   'rfc822-parser.c:141,47'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:142,8'
              BranchSideFuncs:
                - rfc822_skip_comment
            - BranchSide:      'rfc822-parser.c:143,4'
              BranchSideFuncs:
                - rfc822_skip_comment
        - Branch String:   'rfc822-parser.c:142,26'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:142,30'
              BranchSideFuncs:
                - rfc822_skip_comment
            - BranchSide:      'rfc822-parser.c:143,4'
              BranchSideFuncs:
                - rfc822_skip_comment
        - Branch String:   'rfc822-parser.c:141,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:143,4'
              BranchSideFuncs:
                - rfc822_skip_comment
            - BranchSide:      'rfc822-parser.c:147,8'
              BranchSideFuncs:
                - rfc822_skip_comment
        - Branch String:   'rfc822-parser.c:147,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:148,4'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:150,27'
              BranchSideFuncs:
                - rfc822_skip_comment
        - Branch String:   'rfc822-parser.c:150,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:140,2'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:151,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'rfc822-parser.c:150,7'
          Dst:             rfc822_skip_comment
    - functionName:    rfc822_parse_mime_token
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - str
      BBCount:         13
      ICount:          105
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - rfc822_skip_lwsp
        - str_append_data
      functionUses:    4
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:230,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:231,7'
              BranchSideFuncs:
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:238,18'
              BranchSideFuncs:
                - str_append_data.216
        - Branch String:   'rfc822-parser.c:231,41'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:231,45'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:232,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
        - Branch String:   'rfc822-parser.c:231,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:232,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:234,19'
              BranchSideFuncs:
                - str_append_data.216
                - rfc822_skip_lwsp
      Callsites:
        - Src:             'rfc822-parser.c:234,3'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:235,10'
          Dst:             rfc822_skip_lwsp
        - Src:             'rfc822-parser.c:238,2'
          Dst:             str_append_data
    - functionName:    rfc822_parse_quoted_string
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - str
      BBCount:         39
      ICount:          291
      EdgeCount:       46
      CyclomaticComplexity: 9
      functionsReached:
        - i_panic
        - rfc822_skip_lwsp
        - str_append
        - str_append_data
      functionUses:    2
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:247,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:247,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'rfc822-parser.c:248,2'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
                - i_panic
        - Branch String:   'rfc822-parser.c:248,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:248,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'rfc822-parser.c:249,2'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:251,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:252,12'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:292,2'
              BranchSideFuncs: []
        - Branch String:   'rfc822-parser.c:252,3'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:254,8'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:261,20'
              BranchSideFuncs:
                - str_append_data.216
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:266,10'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:273,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:289,2'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:254,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:255,21'
              BranchSideFuncs:
                - str_append_data.216
                - str_append.217
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:259,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:267,16'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:267,19'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:269,20'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:267,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:268,8'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:269,20'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:274,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:275,5'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:277,9'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:277,27'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:277,31'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:282,5'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:277,49'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:278,9'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:282,5'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:277,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:282,5'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:285,20'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
      Callsites:
        - Src:             'rfc822-parser.c:247,2'
          Dst:             i_panic
        - Src:             'rfc822-parser.c:248,2'
          Dst:             i_panic
        - Src:             'rfc822-parser.c:255,5'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:256,5'
          Dst:             str_append
        - Src:             'rfc822-parser.c:261,4'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:263,11'
          Dst:             rfc822_skip_lwsp
        - Src:             'rfc822-parser.c:269,4'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:285,4'
          Dst:             str_append_data
    - functionName:    str_append_c
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - str
        - chr
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_c
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/str.h:44,2'
          Dst:             buffer_append_c
    - functionName:    str_append_data
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - data
        - len
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/str.h:39,2'
          Dst:             buffer_append
    - functionName:    str_append
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cstr
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/str.h:35,27'
          Dst:             strlen
        - Src:             '../../src/lib/str.h:35,2'
          Dst:             buffer_append
    - functionName:    rfc822_skip_comment
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         51
      ICount:          356
      EdgeCount:       64
      CyclomaticComplexity: 15
      functionsReached:
        - i_panic
        - str_append
        - str_append_data
        - str_truncate
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:71,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:71,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'rfc822-parser.c:73,6'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
                - str_truncate.209
        - Branch String:   'rfc822-parser.c:73,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:74,16'
              BranchSideFuncs:
                - str_truncate.209
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:76,12'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:77,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:78,12'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:135,2'
              BranchSideFuncs: []
        - Branch String:   'rfc822-parser.c:78,3'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:80,8'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:90,9'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:93,8'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:104,8'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:113,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:132,2'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:80,34'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:81,8'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:88,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:80,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:82,21'
              BranchSideFuncs:
                - str_append_data.216
                - str_append.217
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:88,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:93,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:94,9'
              BranchSideFuncs:
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:101,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:94,9'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:95,22'
              BranchSideFuncs:
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:98,5'
              BranchSideFuncs: []
        - Branch String:   'rfc822-parser.c:104,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:105,5'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:106,10'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:107,16'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:107,19'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:109,20'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:107,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:108,8'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:109,20'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:114,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:115,5'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:117,9'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
                - str_append_data.216
        - Branch String:   'rfc822-parser.c:117,27'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:117,31'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:122,5'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:117,49'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:118,9'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:122,5'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:117,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:122,5'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:125,8'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
                - str_append_data.216
        - Branch String:   'rfc822-parser.c:125,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:126,21'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:129,12'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - str_append.217
      Callsites:
        - Src:             'rfc822-parser.c:71,2'
          Dst:             i_panic
        - Src:             'rfc822-parser.c:74,3'
          Dst:             str_truncate
        - Src:             'rfc822-parser.c:82,5'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:84,5'
          Dst:             str_append
        - Src:             'rfc822-parser.c:95,6'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:109,4'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:126,5'
          Dst:             str_append_data
    - functionName:    rfc822_parse_content_type
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 478
      functionLinenumberEnd: 512
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - str
      BBCount:         25
      ICount:          164
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - rfc822_parse_mime_token
        - rfc822_skip_lwsp
        - str_append_c
        - str_truncate
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:480,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:481,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:484,30'
              BranchSideFuncs:
                - rfc822_parse_mime_token
                - rfc822_skip_lwsp
                - str_append_c
                - rfc822_parse_mime_token
                - str_truncate.209
                - str_truncate.209
                - str_truncate.209
        - Branch String:   'rfc822-parser.c:484,45'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:485,6'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:486,3'
              BranchSideFuncs: []
        - Branch String:   'rfc822-parser.c:484,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:486,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:489,7'
              BranchSideFuncs:
                - rfc822_skip_lwsp
                - str_append_c
                - rfc822_parse_mime_token
                - str_truncate.209
                - str_truncate.209
                - str_truncate.209
        - Branch String:   'rfc822-parser.c:489,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:490,16'
              BranchSideFuncs:
                - str_truncate.209
            - BranchSide:      'rfc822-parser.c:493,2'
              BranchSideFuncs:
                - rfc822_skip_lwsp
                - str_append_c
                - rfc822_parse_mime_token
                - str_truncate.209
                - str_truncate.209
        - Branch String:   'rfc822-parser.c:494,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:495,16'
              BranchSideFuncs:
                - str_truncate.209
            - BranchSide:      'rfc822-parser.c:498,2'
              BranchSideFuncs:
                - str_append_c
                - rfc822_parse_mime_token
                - str_truncate.209
        - Branch String:   'rfc822-parser.c:505,52'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:506,6'
              BranchSideFuncs:
                - str_truncate.209
            - BranchSide:      'rfc822-parser.c:508,16'
              BranchSideFuncs:
                - str_truncate.209
        - Branch String:   'rfc822-parser.c:506,27'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:507,7'
              BranchSideFuncs:
                - str_truncate.209
            - BranchSide:      'rfc822-parser.c:508,16'
              BranchSideFuncs:
                - str_truncate.209
        - Branch String:   'rfc822-parser.c:507,29'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:507,33'
              BranchSideFuncs:
                - str_truncate.209
            - BranchSide:      'rfc822-parser.c:511,9'
              BranchSideFuncs: []
        - Branch String:   'rfc822-parser.c:505,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:508,16'
              BranchSideFuncs:
                - str_truncate.209
            - BranchSide:      'rfc822-parser.c:511,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'rfc822-parser.c:480,6'
          Dst:             rfc822_skip_lwsp
        - Src:             'rfc822-parser.c:484,6'
          Dst:             rfc822_parse_mime_token
        - Src:             'rfc822-parser.c:490,3'
          Dst:             str_truncate
        - Src:             'rfc822-parser.c:494,6'
          Dst:             rfc822_skip_lwsp
        - Src:             'rfc822-parser.c:495,3'
          Dst:             str_truncate
        - Src:             'rfc822-parser.c:498,2'
          Dst:             str_append_c
        - Src:             'rfc822-parser.c:505,13'
          Dst:             rfc822_parse_mime_token
        - Src:             'rfc822-parser.c:508,3'
          Dst:             str_truncate
    - functionName:    rfc822_parse_domain_literal
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 414
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - str
      BBCount:         40
      ICount:          293
      EdgeCount:       47
      CyclomaticComplexity: 9
      functionsReached:
        - i_panic
        - rfc822_skip_lwsp
        - str_append
        - str_append_data
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:366,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:366,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'rfc822-parser.c:367,2'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
                - i_panic
        - Branch String:   'rfc822-parser.c:367,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:367,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'rfc822-parser.c:369,15'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:369,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:370,12'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:413,2'
              BranchSideFuncs: []
        - Branch String:   'rfc822-parser.c:370,3'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:372,8'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:380,4'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:382,20'
              BranchSideFuncs:
                - str_append_data.216
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:387,10'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:395,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:410,2'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:372,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:373,21'
              BranchSideFuncs:
                - str_append_data.216
                - str_append.217
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:377,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:388,16'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:388,19'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:390,20'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:388,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:389,8'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:390,20'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:396,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:397,5'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:399,9'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
                - str_append_data.216
        - Branch String:   'rfc822-parser.c:399,27'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:399,31'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:404,21'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:399,49'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:400,9'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:404,21'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
        - Branch String:   'rfc822-parser.c:399,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:404,21'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
            - BranchSide:      'rfc822-parser.c:409,3'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
                - str_append.217
      Callsites:
        - Src:             'rfc822-parser.c:366,2'
          Dst:             i_panic
        - Src:             'rfc822-parser.c:367,2'
          Dst:             i_panic
        - Src:             'rfc822-parser.c:373,5'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:374,5'
          Dst:             str_append
        - Src:             'rfc822-parser.c:382,4'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:384,11'
          Dst:             rfc822_skip_lwsp
        - Src:             'rfc822-parser.c:390,4'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:404,5'
          Dst:             str_append_data
    - functionName:    rfc822_parse_domain
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 445
      functionLinenumberEnd: 475
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - str
      BBCount:         16
      ICount:          104
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - rfc822_parse_domain_literal
        - rfc822_parse_dot_atom
        - rfc822_skip_lwsp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:451,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:451,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'rfc822-parser.c:452,2'
              BranchSideFuncs:
                - rfc822_skip_lwsp
                - rfc822_parse_dot_atom
                - rfc822_parse_domain_literal
                - i_panic
        - Branch String:   'rfc822-parser.c:452,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:452,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'rfc822-parser.c:453,2'
              BranchSideFuncs:
                - rfc822_skip_lwsp
                - rfc822_parse_dot_atom
                - rfc822_parse_domain_literal
        - Branch String:   'rfc822-parser.c:455,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:456,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:458,7'
              BranchSideFuncs:
                - rfc822_parse_dot_atom
                - rfc822_parse_domain_literal
        - Branch String:   'rfc822-parser.c:458,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:459,38'
              BranchSideFuncs:
                - rfc822_parse_domain_literal
            - BranchSide:      'rfc822-parser.c:461,35'
              BranchSideFuncs:
                - rfc822_parse_dot_atom
      Callsites:
        - Src:             'rfc822-parser.c:451,2'
          Dst:             i_panic
        - Src:             'rfc822-parser.c:452,2'
          Dst:             i_panic
        - Src:             'rfc822-parser.c:455,6'
          Dst:             rfc822_skip_lwsp
        - Src:             'rfc822-parser.c:459,10'
          Dst:             rfc822_parse_domain_literal
        - Src:             'rfc822-parser.c:461,13'
          Dst:             rfc822_parse_dot_atom
    - functionName:    rfc822_parse_dot_atom
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - str
      BBCount:         26
      ICount:          192
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - i_panic
        - rfc822_skip_lwsp
        - str_append_c
        - str_append_data
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:194,28'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:194,32'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:195,3'
              BranchSideFuncs: []
        - Branch String:   'rfc822-parser.c:194,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:195,3'
              BranchSideFuncs:
                - str_append_data.216
                - i_panic
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_c
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:197,15'
              BranchSideFuncs:
                - str_append_data.216
                - i_panic
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_c
                - rfc822_skip_lwsp
        - Branch String:   'rfc822-parser.c:197,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:198,7'
              BranchSideFuncs:
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_c
                - rfc822_skip_lwsp
                - str_append_data.216
                - i_panic
            - BranchSide:      'rfc822-parser.c:221,2'
              BranchSideFuncs:
                - str_append_data.216
                - i_panic
        - Branch String:   'rfc822-parser.c:198,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:199,4'
              BranchSideFuncs:
                - str_append_data.216
                - i_panic
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_c
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:203,7'
              BranchSideFuncs:
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_c
                - rfc822_skip_lwsp
                - str_append_data.216
                - i_panic
        - Branch String:   'rfc822-parser.c:203,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:204,4'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:205,19'
              BranchSideFuncs:
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_c
                - rfc822_skip_lwsp
                - str_append_data.216
                - i_panic
        - Branch String:   'rfc822-parser.c:207,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:208,11'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:210,8'
              BranchSideFuncs:
                - str_append_c
                - rfc822_skip_lwsp
                - str_append_data.216
                - i_panic
                - str_append_data.216
                - rfc822_skip_lwsp
        - Branch String:   'rfc822-parser.c:210,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:211,4'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:213,3'
              BranchSideFuncs:
                - str_append_c
                - rfc822_skip_lwsp
                - str_append_data.216
                - i_panic
                - str_append_data.216
                - rfc822_skip_lwsp
        - Branch String:   'rfc822-parser.c:216,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:217,4'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:218,11'
              BranchSideFuncs:
                - str_append_data.216
                - i_panic
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_c
                - rfc822_skip_lwsp
        - Branch String:   'rfc822-parser.c:221,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:221,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'rfc822-parser.c:222,18'
              BranchSideFuncs:
                - str_append_data.216
      Callsites:
        - Src:             'rfc822-parser.c:205,3'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:207,14'
          Dst:             rfc822_skip_lwsp
        - Src:             'rfc822-parser.c:214,3'
          Dst:             str_append_c
        - Src:             'rfc822-parser.c:216,7'
          Dst:             rfc822_skip_lwsp
        - Src:             'rfc822-parser.c:221,2'
          Dst:             i_panic
        - Src:             'rfc822-parser.c:222,2'
          Dst:             str_append_data
    - functionName:    str_begins_builtin_success
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/strfuncs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - haystack
        - needle_len
        - suffix_r
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rfc822_decode_punycode
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 417
      functionLinenumberEnd: 442
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - len
        - result
      BBCount:         31
      ICount:          178
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - punycode_decode
        - str_append_c
        - str_append_data
        - str_begins
        - str_begins_builtin_success
        - str_truncate
        - strchr
        - strncmp
        - t_str_new
      functionUses:    0
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:422,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:424,30'
              BranchSideFuncs:
                - strchr
                - str_begins
                - str_append_data.216
                - str_append_data.216
                - str_truncate.209
                - punycode_decode
                - str_append_c
                - str_append_data.216
                - strncmp
                - str_begins_builtin_success.225
            - BranchSide:      'rfc822-parser.c:440,6'
              BranchSideFuncs:
                - str_append_data.216
        - Branch String:   'rfc822-parser.c:425,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:426,12'
              BranchSideFuncs:
                - str_begins
                - str_append_data.216
                - str_append_data.216
                - strchr
                - str_truncate.209
                - punycode_decode
                - str_append_c
                - str_append_data.216
                - strncmp
                - str_begins_builtin_success.225
            - BranchSide:      'rfc822-parser.c:427,7'
              BranchSideFuncs:
                - str_begins
                - str_append_data.216
                - str_append_data.216
                - strchr
                - str_truncate.209
                - punycode_decode
                - str_append_c
                - str_append_data.216
                - strncmp
                - str_begins_builtin_success.225
        - Branch String:   'rfc822-parser.c:427,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:427,7'
              BranchSideFuncs:
                - strncmp
                - str_begins_builtin_success.225
                - str_append_data.216
                - str_append_data.216
                - strchr
                - str_begins
                - str_truncate.209
                - punycode_decode
                - str_append_c
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:427,7'
              BranchSideFuncs:
                - str_begins
                - str_append_data.216
                - str_append_data.216
                - strchr
                - strncmp
                - str_begins_builtin_success.225
                - str_truncate.209
                - punycode_decode
                - str_append_c
                - str_append_data.216
        - Branch String:   'rfc822-parser.c:427,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:428,17'
              BranchSideFuncs:
                - str_truncate.209
                - punycode_decode
                - str_append_data.216
                - strchr
                - str_begins
                - str_append_data.216
                - strncmp
                - str_begins_builtin_success.225
                - str_append_c
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:436,20'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - strchr
                - str_begins
                - str_truncate.209
                - punycode_decode
                - str_append_c
                - str_append_data.216
                - strncmp
                - str_begins_builtin_success.225
        - Branch String:   'rfc822-parser.c:427,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:427,7'
              BranchSideFuncs:
                - str_truncate.209
                - punycode_decode
                - str_append_data.216
                - strchr
                - str_begins
                - str_append_data.216
                - strncmp
                - str_begins_builtin_success.225
                - str_append_c
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:427,7'
              BranchSideFuncs:
                - str_begins_builtin_success.225
                - str_append_data.216
                - str_append_data.216
                - strchr
                - str_begins
                - str_truncate.209
                - punycode_decode
                - str_append_c
                - str_append_data.216
                - strncmp
        - Branch String:   'rfc822-parser.c:427,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:428,17'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - strchr
                - str_begins
                - str_truncate.209
                - punycode_decode
                - str_append_c
                - str_append_data.216
                - strncmp
                - str_begins_builtin_success.225
            - BranchSide:      'rfc822-parser.c:436,20'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - strchr
                - str_begins
                - str_truncate.209
                - punycode_decode
                - str_append_c
                - str_append_data.216
                - strncmp
                - str_begins_builtin_success.225
        - Branch String:   'rfc822-parser.c:427,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:428,17'
              BranchSideFuncs:
                - str_truncate.209
                - punycode_decode
                - str_append_data.216
                - strchr
                - str_begins
                - str_append_data.216
                - strncmp
                - str_begins_builtin_success.225
                - str_append_c
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:436,20'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - strchr
                - str_begins
                - str_truncate.209
                - punycode_decode
                - str_append_c
                - str_append_data.216
                - strncmp
                - str_begins_builtin_success.225
        - Branch String:   'rfc822-parser.c:429,8'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:431,21'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - strchr
                - str_begins
                - str_append_data.216
                - str_truncate.209
                - punycode_decode
                - str_append_c
                - strncmp
                - str_begins_builtin_success.225
            - BranchSide:      'rfc822-parser.c:432,14'
              BranchSideFuncs:
                - str_append_data.216
                - strchr
                - str_begins
                - str_append_data.216
                - str_truncate.209
                - punycode_decode
                - str_append_data.216
                - strncmp
                - str_begins_builtin_success.225
                - str_append_c
        - Branch String:   'rfc822-parser.c:440,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:440,6'
              BranchSideFuncs:
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:441,19'
              BranchSideFuncs:
                - str_append_data.216
      Callsites:
        - Src:             'rfc822-parser.c:418,22'
          Dst:             t_str_new
        - Src:             'rfc822-parser.c:424,23'
          Dst:             strchr
        - Src:             'rfc822-parser.c:427,7'
          Dst:             str_begins
        - Src:             'rfc822-parser.c:427,7'
          Dst:             strncmp
        - Src:             'rfc822-parser.c:427,7'
          Dst:             str_begins_builtin_success
        - Src:             'rfc822-parser.c:428,4'
          Dst:             str_truncate
        - Src:             'rfc822-parser.c:429,8'
          Dst:             punycode_decode
        - Src:             'rfc822-parser.c:431,5'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:433,5'
          Dst:             str_append_c
        - Src:             'rfc822-parser.c:436,4'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:441,3'
          Dst:             str_append_data
    - functionName:    strncmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rfc822_parse_atom_or_dot
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 318
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - str
      BBCount:         13
      ICount:          104
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - rfc822_skip_lwsp
        - str_append_data
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:308,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:309,7'
              BranchSideFuncs:
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:316,18'
              BranchSideFuncs:
                - str_append_data.216
        - Branch String:   'rfc822-parser.c:309,28'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:309,32'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:310,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
        - Branch String:   'rfc822-parser.c:309,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:310,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:312,19'
              BranchSideFuncs:
                - str_append_data.216
                - rfc822_skip_lwsp
      Callsites:
        - Src:             'rfc822-parser.c:312,3'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:313,10'
          Dst:             rfc822_skip_lwsp
        - Src:             'rfc822-parser.c:316,2'
          Dst:             str_append_data
    - functionName:    rfc822_parse_phrase
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 321
      functionLinenumberEnd: 350
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - str
      BBCount:         22
      ICount:          133
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - rfc822_parse_atom_or_dot
        - rfc822_parse_quoted_string
        - rfc822_skip_lwsp
        - str_append_c
      functionUses:    0
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:330,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:331,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:332,7'
              BranchSideFuncs:
                - rfc822_parse_atom_or_dot
                - str_append_c
                - rfc822_skip_lwsp
                - rfc822_parse_quoted_string
        - Branch String:   'rfc822-parser.c:332,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:333,3'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:335,2'
              BranchSideFuncs:
                - rfc822_parse_atom_or_dot
                - str_append_c
                - rfc822_skip_lwsp
                - rfc822_parse_quoted_string
        - Branch String:   'rfc822-parser.c:336,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:337,37'
              BranchSideFuncs:
                - rfc822_parse_quoted_string
                - str_append_c
                - rfc822_parse_atom_or_dot
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:339,35'
              BranchSideFuncs:
                - rfc822_parse_atom_or_dot
                - str_append_c
                - rfc822_parse_quoted_string
                - rfc822_skip_lwsp
        - Branch String:   'rfc822-parser.c:341,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:342,11'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:344,8'
              BranchSideFuncs:
                - str_append_c
                - rfc822_parse_atom_or_dot
                - rfc822_parse_quoted_string
                - rfc822_skip_lwsp
        - Branch String:   'rfc822-parser.c:344,29'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:344,33'
              BranchSideFuncs:
                - str_append_c
                - rfc822_parse_atom_or_dot
                - rfc822_skip_lwsp
                - rfc822_parse_quoted_string
            - BranchSide:      'rfc822-parser.c:347,3'
              BranchSideFuncs:
                - str_append_c
                - rfc822_parse_atom_or_dot
                - rfc822_skip_lwsp
                - rfc822_parse_quoted_string
        - Branch String:   'rfc822-parser.c:345,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:345,11'
              BranchSideFuncs:
                - str_append_c
                - rfc822_parse_atom_or_dot
                - rfc822_parse_quoted_string
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:347,3'
              BranchSideFuncs:
                - str_append_c
                - rfc822_parse_atom_or_dot
                - rfc822_skip_lwsp
                - rfc822_parse_quoted_string
        - Branch String:   'rfc822-parser.c:344,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:346,4'
              BranchSideFuncs:
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:347,3'
              BranchSideFuncs:
                - str_append_c
                - rfc822_parse_atom_or_dot
                - rfc822_skip_lwsp
                - rfc822_parse_quoted_string
      Callsites:
        - Src:             'rfc822-parser.c:337,10'
          Dst:             rfc822_parse_quoted_string
        - Src:             'rfc822-parser.c:339,10'
          Dst:             rfc822_parse_atom_or_dot
        - Src:             'rfc822-parser.c:347,3'
          Dst:             str_append_c
        - Src:             'rfc822-parser.c:349,9'
          Dst:             rfc822_skip_lwsp
    - functionName:    rfc822_parse_atom
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - str
      BBCount:         15
      ICount:          120
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - rfc822_skip_lwsp
        - str_append_data
      functionUses:    0
      BranchProfiles:
        - Branch String:   'rfc822-parser.c:165,28'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:165,32'
              BranchSideFuncs: []
            - BranchSide:      'rfc822-parser.c:166,3'
              BranchSideFuncs: []
        - Branch String:   'rfc822-parser.c:165,6'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:166,3'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:168,15'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
        - Branch String:   'rfc822-parser.c:168,2'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:169,7'
              BranchSideFuncs:
                - str_append_data.216
                - rfc822_skip_lwsp
                - str_append_data.216
            - BranchSide:      'rfc822-parser.c:176,18'
              BranchSideFuncs:
                - str_append_data.216
        - Branch String:   'rfc822-parser.c:169,7'
          Branch Sides:
            - BranchSide:      'rfc822-parser.c:170,4'
              BranchSideFuncs:
                - str_append_data.216
                - str_append_data.216
                - rfc822_skip_lwsp
            - BranchSide:      'rfc822-parser.c:172,19'
              BranchSideFuncs:
                - str_append_data.216
                - rfc822_skip_lwsp
      Callsites:
        - Src:             'rfc822-parser.c:172,3'
          Dst:             str_append_data
        - Src:             'rfc822-parser.c:173,10'
          Dst:             rfc822_skip_lwsp
        - Src:             'rfc822-parser.c:176,2'
          Dst:             str_append_data
    - functionName:    rfc822_parser_init
      functionSourceFile: '/src/dovecot/src/lib-mail/rfc822-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - data
        - size
        - last_comment
      BBCount:         1
      ICount:          32
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_len
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    message_header_name_is_valid
      functionSourceFile: '/src/dovecot/src/lib-mail/message-header-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 505
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
      BBCount:         18
      ICount:          90
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'message-header-parser.c:494,2'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:495,21'
              BranchSideFuncs: []
            - BranchSide:      'message-header-parser.c:504,2'
              BranchSideFuncs: []
        - Branch String:   'message-header-parser.c:496,15'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:496,18'
              BranchSideFuncs: []
            - BranchSide:      'message-header-parser.c:498,14'
              BranchSideFuncs: []
        - Branch String:   'message-header-parser.c:496,7'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:498,3'
              BranchSideFuncs: []
            - BranchSide:      'message-header-parser.c:498,14'
              BranchSideFuncs: []
        - Branch String:   'message-header-parser.c:498,22'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:498,25'
              BranchSideFuncs: []
            - BranchSide:      'message-header-parser.c:501,4'
              BranchSideFuncs: []
        - Branch String:   'message-header-parser.c:498,14'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:500,3'
              BranchSideFuncs: []
            - BranchSide:      'message-header-parser.c:501,4'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    str_append
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cstr
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/str.h:35,27'
          Dst:             strlen
        - Src:             '../../src/lib/str.h:35,2'
          Dst:             buffer_append
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/lib.h:75,2'
          Branch Sides:
            - BranchSide:      '../../src/lib/lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/lib.h:75,2'
          Branch Sides:
            - BranchSide:      '../../src/lib/lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             '../../src/lib/lib.h:75,2'
          Dst:             i_panic
    - functionName:    message_header_strdup
      functionSourceFile: '/src/dovecot/src/lib-mail/message-header-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 463
      functionLinenumberEnd: 483
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - data
        - size
      BBCount:         17
      ICount:          115
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - i_memcpy
        - i_panic
        - memchr
        - p_malloc
        - str_append
        - str_append_c
        - str_c
        - str_new
      functionUses:    0
      BranchProfiles:
        - Branch String:   'message-header-parser.c:464,2'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:464,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-header-parser.c:466,13'
              BranchSideFuncs:
                - memchr
                - str_new
                - str_c
                - str_append.274
                - str_append_c.281
                - p_malloc.280
                - i_memcpy
        - Branch String:   'message-header-parser.c:466,6'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:468,25'
              BranchSideFuncs:
                - p_malloc.280
                - i_memcpy
            - BranchSide:      'message-header-parser.c:475,26'
              BranchSideFuncs:
                - str_new
                - str_c
                - str_append.274
                - str_append_c.281
        - Branch String:   'message-header-parser.c:476,2'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:477,7'
              BranchSideFuncs:
                - str_append.274
                - str_c
                - str_append_c.281
            - BranchSide:      'message-header-parser.c:482,15'
              BranchSideFuncs:
                - str_c
        - Branch String:   'message-header-parser.c:477,7'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:478,4'
              BranchSideFuncs:
                - str_append_c.281
                - str_c
                - str_append.274
            - BranchSide:      'message-header-parser.c:480,15'
              BranchSideFuncs:
                - str_append.274
                - str_c
                - str_append_c.281
      Callsites:
        - Src:             'message-header-parser.c:464,2'
          Dst:             i_panic
        - Src:             'message-header-parser.c:466,6'
          Dst:             memchr
        - Src:             'message-header-parser.c:468,16'
          Dst:             p_malloc
        - Src:             'message-header-parser.c:469,3'
          Dst:             i_memcpy
        - Src:             'message-header-parser.c:475,18'
          Dst:             str_new
        - Src:             'message-header-parser.c:478,4'
          Dst:             str_append_c
        - Src:             'message-header-parser.c:480,4'
          Dst:             str_append
        - Src:             'message-header-parser.c:482,9'
          Dst:             str_c
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   '../../src/lib/mempool.h:118,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/mempool.h:118,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             '../../src/lib/mempool.h:119,3'
          Dst:             i_panic
    - functionName:    str_append_c
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - str
        - chr
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_c
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/str.h:44,2'
          Dst:             buffer_append_c
    - functionName:    message_header_line_write
      functionSourceFile: '/src/dovecot/src/lib-mail/message-header-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 448
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - output
        - hdr
      BBCount:         12
      ICount:          88
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - buffer_append
        - buffer_append_c
        - strlen
      functionUses:    0
      BranchProfiles:
        - Branch String:   'message-header-parser.c:449,6'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:450,17'
              BranchSideFuncs:
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:453,16'
              BranchSideFuncs:
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:454,6'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:454,6'
              BranchSideFuncs: []
            - BranchSide:      'message-header-parser.c:455,7'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:455,7'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:456,20'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:457,19'
              BranchSideFuncs:
                - buffer_append_c
      Callsites:
        - Src:             'message-header-parser.c:450,36'
          Dst:             strlen
        - Src:             'message-header-parser.c:450,3'
          Dst:             buffer_append
        - Src:             'message-header-parser.c:451,3'
          Dst:             buffer_append
        - Src:             'message-header-parser.c:453,2'
          Dst:             buffer_append
        - Src:             'message-header-parser.c:456,4'
          Dst:             buffer_append_c
        - Src:             'message-header-parser.c:457,3'
          Dst:             buffer_append_c
    - functionName:    message_parse_header
      functionSourceFile: '/src/dovecot/src/lib-mail/message-header-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 428
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - hdr_size
        - flags
        - callback
        - context
      BBCount:         22
      ICount:          122
      EdgeCount:       23
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - message_parse_header_deinit
        - message_parse_header_init
        - message_parse_header_next
        - t_pop
        - t_push
      functionUses:    0
      BranchProfiles:
        - Branch String:   'message-header-parser.c:434,2'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:434,63'
              BranchSideFuncs:
                - t_push
                - t_pop
                - message_parse_header_next
                - message_parse_header_deinit
                - t_push
                - t_pop
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:437,2'
              BranchSideFuncs:
                - message_parse_header_deinit
                - t_push
                - t_pop
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:436,4'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:436,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-header-parser.c:436,4'
              BranchSideFuncs:
                - message_parse_header_next
                - message_parse_header_deinit
                - t_push
                - t_pop
                - i_panic
                - i_panic
                - t_push
                - t_pop
                - i_panic
        - Branch String:   'message-header-parser.c:437,2'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:437,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-header-parser.c:438,2'
              BranchSideFuncs:
                - message_parse_header_deinit
                - t_push
                - t_pop
                - i_panic
        - Branch String:   'message-header-parser.c:443,4'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:443,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-header-parser.c:443,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-header-parser.c:433,12'
          Dst:             message_parse_header_init
        - Src:             'message-header-parser.c:434,16'
          Dst:             message_parse_header_next
        - Src:             'message-header-parser.c:434,63'
          Dst:             t_push
        - Src:             'message-header-parser.c:436,4'
          Dst:             t_pop
        - Src:             'message-header-parser.c:436,4'
          Dst:             i_panic
        - Src:             'message-header-parser.c:437,2'
          Dst:             i_panic
        - Src:             'message-header-parser.c:438,2'
          Dst:             message_parse_header_deinit
        - Src:             'message-header-parser.c:441,2'
          Dst:             t_push
        - Src:             'message-header-parser.c:443,4'
          Dst:             t_pop
        - Src:             'message-header-parser.c:443,4'
          Dst:             i_panic
    - functionName:    message_parse_header_init
      functionSourceFile: '/src/dovecot/src/lib-mail/message-header-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - input
        - hdr_size
        - flags
      BBCount:         6
      ICount:          68
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_create_dynamic
        - i_stream_ref
        - malloc_multiply_check
        - p_malloc
        - str_new
      functionUses:    2
      BranchProfiles:
        - Branch String:   'message-header-parser.c:47,6'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:47,6'
              BranchSideFuncs: []
            - BranchSide:      'message-header-parser.c:48,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'message-header-parser.c:38,8'
          Dst:             malloc_multiply_check
        - Src:             'message-header-parser.c:38,8'
          Dst:             p_malloc
        - Src:             'message-header-parser.c:41,14'
          Dst:             str_new
        - Src:             'message-header-parser.c:43,19'
          Dst:             buffer_create_dynamic
        - Src:             'message-header-parser.c:45,2'
          Dst:             i_stream_ref
    - functionName:    message_parse_header_next
      functionSourceFile: '/src/dovecot/src/lib-mail/message-header-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - hdr_r
      BBCount:         280
      ICount:          1906
      EdgeCount:       372
      CyclomaticComplexity: 94
      functionsReached:
        - buffer_append
        - buffer_append_c
        - buffer_set_used_size
        - i_panic
        - i_stream_read_bytes
        - i_stream_skip
        - str_append_c
        - str_append_data
        - str_c
        - str_data
        - str_truncate
      functionUses:    2
      BranchProfiles:
        - Branch String:   'message-header-parser.c:90,6'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:91,3'
              BranchSideFuncs: []
            - BranchSide:      'message-header-parser.c:93,6'
              BranchSideFuncs:
                - buffer_set_used_size
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_stream_skip
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:93,6'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:94,13'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_stream_skip
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:97,23'
              BranchSideFuncs:
                - buffer_set_used_size
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_stream_skip
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:110,7'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:113,17'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_stream_skip
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:115,17'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_stream_skip
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:113,17'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:113,15'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_stream_skip
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:113,33'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_stream_skip
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:118,16'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:118,19'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_stream_skip
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:191,7'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:118,7'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:119,8'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:191,7'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:119,8'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:120,9'
              BranchSideFuncs:
                - i_panic
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:131,8'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:120,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:122,17'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:127,5'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'message-header-parser.c:127,5'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:127,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-header-parser.c:128,5'
              BranchSideFuncs: []
        - Branch String:   'message-header-parser.c:131,17'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:131,21'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:150,8'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:131,36'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:131,40'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:150,8'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:131,50'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:132,9'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:150,8'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:132,24'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:133,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:137,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:133,25'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:133,28'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:150,8'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:133,37'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:133,40'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:150,8'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:131,8'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:137,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:150,8'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:138,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:139,6'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:140,9'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:140,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:141,11'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:144,11'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:150,17'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:150,21'
              BranchSideFuncs:
                - i_panic
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:155,4'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:150,8'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:152,5'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:155,4'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:152,5'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:152,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-header-parser.c:153,5'
              BranchSideFuncs: []
        - Branch String:   'message-header-parser.c:155,4'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:155,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-header-parser.c:159,8'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
        - Branch String:   'message-header-parser.c:159,8'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:161,23'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
            - BranchSide:      'message-header-parser.c:185,15'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:161,22'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:161,12'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
            - BranchSide:      'message-header-parser.c:161,35'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
        - Branch String:   'message-header-parser.c:162,5'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:163,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
            - BranchSide:      'message-header-parser.c:168,9'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
        - Branch String:   'message-header-parser.c:163,10'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:163,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
            - BranchSide:      'message-header-parser.c:164,14'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
        - Branch String:   'message-header-parser.c:163,10'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:164,14'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
            - BranchSide:      'message-header-parser.c:167,5'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
        - Branch String:   'message-header-parser.c:168,22'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:168,26'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
            - BranchSide:      'message-header-parser.c:181,5'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
        - Branch String:   'message-header-parser.c:168,46'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:169,12'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
            - BranchSide:      'message-header-parser.c:175,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
        - Branch String:   'message-header-parser.c:168,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:175,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
            - BranchSide:      'message-header-parser.c:181,5'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
        - Branch String:   'message-header-parser.c:176,19'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:176,22'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
            - BranchSide:      'message-header-parser.c:178,5'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
        - Branch String:   'message-header-parser.c:176,10'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:177,11'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
            - BranchSide:      'message-header-parser.c:178,5'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
        - Branch String:   'message-header-parser.c:181,5'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:181,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'message-header-parser.c:183,15'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:191,7'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:192,13'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:211,8'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:192,4'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:193,9'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:210,3'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:193,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:194,6'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:196,9'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:196,23'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:196,27'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:202,9'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:196,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:197,18'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:202,9'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:202,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:204,6'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:207,9'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:207,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:208,6'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:209,4'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:215,3'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:216,8'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:224,7'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:216,8'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:217,9'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:222,3'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:217,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:218,6'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:219,9'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:219,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:220,6'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:221,4'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:224,22'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:224,25'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:227,14'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:224,37'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:224,40'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:227,14'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:224,7'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:226,5'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_stream_skip
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:227,14'
              BranchSideFuncs:
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_skip
        - Branch String:   'message-header-parser.c:227,14'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:0,0'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_stream_skip
                - i_stream_read_bytes.295
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:229,8'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_stream_skip
                - i_stream_read_bytes.295
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:229,8'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:231,9'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:247,16'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:231,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:232,6'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:236,9'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:236,16'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:236,19'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:238,10'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:236,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:238,10'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:242,19'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:238,10'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:239,7'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'message-header-parser.c:240,5'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_bytes.295
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'message-header-parser.c:247,27'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:247,30'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:247,14'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:249,8'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:250,5'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:251,8'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:251,15'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:251,18'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:253,9'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:251,8'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:253,9'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:257,12'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:253,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:254,6'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:255,12'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:268,33'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:268,12'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:269,4'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:270,37'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:270,18'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:271,4'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:277,16'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:277,20'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
            - BranchSide:      'message-header-parser.c:285,13'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:277,6'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:279,3'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:285,13'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:285,13'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:286,17'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:288,13'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:288,13'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:290,17'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:302,17'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:304,7'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:311,13'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:323,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:311,4'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:312,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:316,8'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:312,10'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:312,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:314,4'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:312,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:313,6'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:314,4'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:316,8'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:318,9'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:322,3'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:318,29'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:319,9'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:321,4'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:319,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:319,9'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:320,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:318,9'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:320,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:321,4'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:323,30'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:323,10'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:324,5'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:332,24'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:332,27'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:332,3'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:332,3'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:333,13'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:338,7'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:338,7'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:339,4'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:347,17'
              BranchSideFuncs:
                - str_truncate.299
                - buffer_append
                - str_append_c.281
                - str_append_data.300
                - str_c
                - str_data
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:365,20'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:365,2'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:365,2'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:368,26'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:368,9'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:369,5'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:370,20'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:370,18'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:370,18'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:372,6'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:375,17'
              BranchSideFuncs:
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:378,13'
              BranchSideFuncs:
                - i_stream_skip
                - buffer_append
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:378,13'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:380,7'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:402,3'
              BranchSideFuncs:
                - i_stream_skip
        - Branch String:   'message-header-parser.c:380,7'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:384,3'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
            - BranchSide:      'message-header-parser.c:384,14'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'message-header-parser.c:385,18'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:385,21'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
                - buffer_append_c
            - BranchSide:      'message-header-parser.c:387,20'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
        - Branch String:   'message-header-parser.c:385,8'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:386,21'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append_c
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
            - BranchSide:      'message-header-parser.c:387,20'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
        - Branch String:   'message-header-parser.c:389,68'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:390,7'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
            - BranchSide:      'message-header-parser.c:396,18'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
        - Branch String:   'message-header-parser.c:390,27'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:390,30'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
            - BranchSide:      'message-header-parser.c:396,18'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
        - Branch String:   'message-header-parser.c:390,52'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:391,7'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
            - BranchSide:      'message-header-parser.c:396,18'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
        - Branch String:   'message-header-parser.c:391,7'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:391,7'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
            - BranchSide:      'message-header-parser.c:392,7'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
        - Branch String:   'message-header-parser.c:391,31'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:392,7'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
                - buffer_append_c
                - buffer_append
            - BranchSide:      'message-header-parser.c:396,18'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
        - Branch String:   'message-header-parser.c:389,7'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:393,20'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:396,18'
              BranchSideFuncs:
                - buffer_append
                - i_stream_skip
        - Branch String:   'message-header-parser.c:409,6'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:410,35'
              BranchSideFuncs:
                - i_stream_skip
            - BranchSide:      'message-header-parser.c:413,16'
              BranchSideFuncs:
                - i_stream_skip
      Callsites:
        - Src:             'message-header-parser.c:100,3'
          Dst:             buffer_set_used_size
        - Src:             'message-header-parser.c:109,9'
          Dst:             i_stream_read_bytes
        - Src:             'message-header-parser.c:127,5'
          Dst:             i_panic
        - Src:             'message-header-parser.c:152,5'
          Dst:             i_panic
        - Src:             'message-header-parser.c:155,4'
          Dst:             i_panic
        - Src:             'message-header-parser.c:181,5'
          Dst:             i_panic
        - Src:             'message-header-parser.c:242,5'
          Dst:             i_stream_skip
        - Src:             'message-header-parser.c:347,4'
          Dst:             str_truncate
        - Src:             'message-header-parser.c:350,4'
          Dst:             buffer_append
        - Src:             'message-header-parser.c:351,4'
          Dst:             str_append_c
        - Src:             'message-header-parser.c:357,4'
          Dst:             str_append_data
        - Src:             'message-header-parser.c:359,17'
          Dst:             str_c
        - Src:             'message-header-parser.c:361,19'
          Dst:             str_data
        - Src:             'message-header-parser.c:375,3'
          Dst:             buffer_append
        - Src:             'message-header-parser.c:386,5'
          Dst:             buffer_append_c
        - Src:             'message-header-parser.c:387,4'
          Dst:             buffer_append_c
        - Src:             'message-header-parser.c:393,4'
          Dst:             buffer_append_c
        - Src:             'message-header-parser.c:394,4'
          Dst:             buffer_append
        - Src:             'message-header-parser.c:396,4'
          Dst:             buffer_append
        - Src:             'message-header-parser.c:413,2'
          Dst:             i_stream_skip
    - functionName:    message_parse_header_deinit
      functionSourceFile: '/src/dovecot/src/lib-mail/message-header-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _ctx
      BBCount:         5
      ICount:          39
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_free
        - i_stream_unref
        - p_free_internal
        - str_free
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'message-header-parser.c:71,2'
          Dst:             i_stream_unref
        - Src:             'message-header-parser.c:72,2'
          Dst:             buffer_free
        - Src:             'message-header-parser.c:73,2'
          Dst:             str_free
        - Src:             'message-header-parser.c:74,2'
          Dst:             p_free_internal
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/mempool.h:150,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      '../../src/lib/mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_read_bytes
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/istream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - data_r
        - size_r
        - wanted
      BBCount:         7
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_read_data
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/istream.h:229,2'
          Branch Sides:
            - BranchSide:      '../../src/lib/istream.h:229,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/istream.h:229,2'
              BranchSideFuncs:
                - i_stream_read_data
      Callsites:
        - Src:             '../../src/lib/istream.h:229,2'
          Dst:             i_panic
        - Src:             '../../src/lib/istream.h:230,9'
          Dst:             i_stream_read_data
    - functionName:    str_truncate
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - len
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_set_used_size
        - str_len
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/str.h:90,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/str.h:90,6'
              BranchSideFuncs:
                - buffer_set_used_size
            - BranchSide:      '../../src/lib/str.h:91,24'
              BranchSideFuncs:
                - buffer_set_used_size
      Callsites:
        - Src:             '../../src/lib/str.h:90,6'
          Dst:             str_len
        - Src:             '../../src/lib/str.h:91,3'
          Dst:             buffer_set_used_size
    - functionName:    str_append_data
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - data
        - len
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib/str.h:39,2'
          Dst:             buffer_append
    - functionName:    str_data
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib-mail/../../src/lib/malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   '../../src/lib/malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             '../../src/lib/malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    message_parse_header_has_nuls
      functionSourceFile: '/src/dovecot/src/lib-mail/message-header-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 420
      functionLinenumberEnd: 421
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    message_parse_header_lower_limit
      functionSourceFile: '/src/dovecot/src/lib-mail/message-header-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - parser
        - header_block_max_size
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - message_parse_header_set_limit
      functionUses:    1
      BranchProfiles:
        - Branch String:   'message-header-parser.c:63,6'
          Branch Sides:
            - BranchSide:      'message-header-parser.c:63,6'
              BranchSideFuncs:
                - message_parse_header_set_limit
            - BranchSide:      'message-header-parser.c:64,34'
              BranchSideFuncs:
                - message_parse_header_set_limit
      Callsites:
        - Src:             'message-header-parser.c:64,3'
          Dst:             message_parse_header_set_limit
    - functionName:    message_parse_header_set_limit
      functionSourceFile: '/src/dovecot/src/lib-mail/message-header-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - parser
        - header_block_max_size
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    charset_to_utf8_reset
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-utf8.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - t
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    charset_utf8_to_utf8
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-utf8.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - normalizer
        - src
        - src_size
        - dest
      BBCount:         19
      ICount:          119
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - buffer_append
        - i_panic
        - uni_utf8_get_valid_data
        - uni_utf8_partial_strlen_n
      functionUses:    2
      BranchProfiles:
        - Branch String:   'charset-utf8.c:54,6'
          Branch Sides:
            - BranchSide:      'charset-utf8.c:55,3'
              BranchSideFuncs:
                - uni_utf8_get_valid_data
                - buffer_append
                - i_panic
            - BranchSide:      'charset-utf8.c:60,6'
              BranchSideFuncs:
                - uni_utf8_get_valid_data
                - buffer_append
        - Branch String:   'charset-utf8.c:55,3'
          Branch Sides:
            - BranchSide:      'charset-utf8.c:55,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'charset-utf8.c:56,15'
              BranchSideFuncs:
                - uni_utf8_get_valid_data
                - buffer_append
        - Branch String:   'charset-utf8.c:60,6'
          Branch Sides:
            - BranchSide:      'charset-utf8.c:61,7'
              BranchSideFuncs: []
            - BranchSide:      'charset-utf8.c:63,38'
              BranchSideFuncs:
                - uni_utf8_get_valid_data
                - buffer_append
        - Branch String:   'charset-utf8.c:61,7'
          Branch Sides:
            - BranchSide:      'charset-utf8.c:62,4'
              BranchSideFuncs: []
            - BranchSide:      'charset-utf8.c:63,2'
              BranchSideFuncs: []
        - Branch String:   'charset-utf8.c:63,13'
          Branch Sides:
            - BranchSide:      'charset-utf8.c:64,3'
              BranchSideFuncs:
                - buffer_append
            - BranchSide:      'charset-utf8.c:66,17'
              BranchSideFuncs:
                - buffer_append
      Callsites:
        - Src:             'charset-utf8.c:53,2'
          Dst:             uni_utf8_partial_strlen_n
        - Src:             'charset-utf8.c:55,3'
          Dst:             i_panic
        - Src:             'charset-utf8.c:63,14'
          Dst:             uni_utf8_get_valid_data
        - Src:             'charset-utf8.c:66,3'
          Dst:             buffer_append
    - functionName:    charset_utf8_to_utf8_begin
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-utf8.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - normalizer
      BBCount:         5
      ICount:          30
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - charset_to_utf8_begin
        - i_unreached
      functionUses:    0
      BranchProfiles:
        - Branch String:   'charset-utf8.c:41,6'
          Branch Sides:
            - BranchSide:      'charset-utf8.c:42,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'charset-utf8.c:43,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'charset-utf8.c:41,6'
          Dst:             charset_to_utf8_begin
        - Src:             'charset-utf8.c:42,3'
          Dst:             i_unreached
    - functionName:    charset_to_utf8_begin
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-utf8.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - charset
        - normalizer
        - t_r
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    charset_to_utf8_end
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-utf8.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _t
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    charset_to_utf8
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-utf8.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - t
        - src
        - src_size
        - dest
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    charset_to_utf8_str
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-utf8.c'
      linkageType:     InternalLinkage
      functionLinenumber: 23
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - charset
        - normalizer
        - input
        - output
        - result_r
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - charset_to_utf8
        - charset_to_utf8_begin
        - charset_to_utf8_end
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'charset-utf8.c:27,6'
          Branch Sides:
            - BranchSide:      'charset-utf8.c:28,3'
              BranchSideFuncs: []
            - BranchSide:      'charset-utf8.c:30,30'
              BranchSideFuncs:
                - charset_to_utf8
                - charset_to_utf8_end
      Callsites:
        - Src:             'charset-utf8.c:25,15'
          Dst:             strlen
        - Src:             'charset-utf8.c:27,6'
          Dst:             charset_to_utf8_begin
        - Src:             'charset-utf8.c:30,14'
          Dst:             charset_to_utf8
        - Src:             'charset-utf8.c:32,2'
          Dst:             charset_to_utf8_end
    - functionName:    charset_is_utf8
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-utf8.c'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 17
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - charset
      BBCount:         10
      ICount:          50
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - strcasecmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'charset-utf8.c:14,46'
          Branch Sides:
            - BranchSide:      'charset-utf8.c:14,46'
              BranchSideFuncs: []
            - BranchSide:      'charset-utf8.c:15,14'
              BranchSideFuncs:
                - strcasecmp
                - strcasecmp
                - strcasecmp
        - Branch String:   'charset-utf8.c:15,37'
          Branch Sides:
            - BranchSide:      'charset-utf8.c:15,37'
              BranchSideFuncs: []
            - BranchSide:      'charset-utf8.c:16,14'
              BranchSideFuncs:
                - strcasecmp
                - strcasecmp
        - Branch String:   'charset-utf8.c:16,37'
          Branch Sides:
            - BranchSide:      'charset-utf8.c:16,37'
              BranchSideFuncs: []
            - BranchSide:      'charset-utf8.c:17,14'
              BranchSideFuncs:
                - strcasecmp
      Callsites:
        - Src:             'charset-utf8.c:14,9'
          Dst:             strcasecmp
        - Src:             'charset-utf8.c:15,3'
          Dst:             strcasecmp
        - Src:             'charset-utf8.c:16,3'
          Dst:             strcasecmp
        - Src:             'charset-utf8.c:17,3'
          Dst:             strcasecmp
    - functionName:    charset_to_utf8_try
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-iconv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - t
        - src
        - src_size
        - dest
        - result
      BBCount:         26
      ICount:          180
      EdgeCount:       31
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - charset_utf8_to_utf8
        - i_panic
        - iconv
      functionUses:    1
      BranchProfiles:
        - Branch String:   'charset-iconv.c:62,6'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:64,34'
              BranchSideFuncs:
                - charset_utf8_to_utf8
            - BranchSide:      'charset-iconv.c:67,11'
              BranchSideFuncs:
                - iconv
                - __errno_location
                - __errno_location
                - charset_utf8_to_utf8
                - i_panic
                - i_panic
        - Branch String:   'charset-iconv.c:72,6'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:74,3'
              BranchSideFuncs:
                - charset_utf8_to_utf8
                - i_panic
            - BranchSide:      'charset-iconv.c:76,13'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - charset_utf8_to_utf8
                - i_panic
        - Branch String:   'charset-iconv.c:74,3'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:74,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'charset-iconv.c:75,4'
              BranchSideFuncs:
                - charset_utf8_to_utf8
        - Branch String:   'charset-iconv.c:76,13'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:78,4'
              BranchSideFuncs:
                - charset_utf8_to_utf8
            - BranchSide:      'charset-iconv.c:80,13'
              BranchSideFuncs:
                - __errno_location
                - charset_utf8_to_utf8
                - i_panic
        - Branch String:   'charset-iconv.c:80,13'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:81,3'
              BranchSideFuncs:
                - charset_utf8_to_utf8
                - i_panic
            - BranchSide:      'charset-iconv.c:85,4'
              BranchSideFuncs:
                - charset_utf8_to_utf8
        - Branch String:   'charset-iconv.c:81,3'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:81,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'charset-iconv.c:82,4'
              BranchSideFuncs:
                - charset_utf8_to_utf8
        - Branch String:   'charset-iconv.c:94,6'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:96,4'
              BranchSideFuncs: []
            - BranchSide:      'charset-iconv.c:97,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'charset-iconv.c:64,13'
          Dst:             charset_utf8_to_utf8
        - Src:             'charset-iconv.c:72,6'
          Dst:             iconv
        - Src:             'charset-iconv.c:74,3'
          Dst:             i_panic
        - Src:             'charset-iconv.c:76,13'
          Dst:             __errno_location
        - Src:             'charset-iconv.c:80,13'
          Dst:             __errno_location
        - Src:             'charset-iconv.c:81,3'
          Dst:             i_panic
        - Src:             'charset-iconv.c:94,6'
          Dst:             charset_utf8_to_utf8
    - functionName:    iconv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __errno_location
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    155
      BranchProfiles:  []
      Callsites:       []
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib-charset/../../src/lib/mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/mempool.h:150,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      '../../src/lib/mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib-charset/../../src/lib/malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   '../../src/lib/malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             '../../src/lib/malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib-charset/../../src/lib/mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/mempool.h:118,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/mempool.h:118,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             '../../src/lib/mempool.h:119,3'
          Dst:             i_panic
    - functionName:    iconv_charset_to_utf8
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-iconv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - t
        - src
        - src_size
        - dest
      BBCount:         27
      ICount:          166
      EdgeCount:       32
      CyclomaticComplexity: 7
      functionsReached:
        - buffer_append
        - charset_to_utf8_try
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'charset-iconv.c:111,3'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:111,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'charset-iconv.c:112,11'
              BranchSideFuncs:
                - charset_to_utf8_try
                - i_panic
                - buffer_append
                - i_panic
        - Branch String:   'charset-iconv.c:116,7'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:117,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'charset-iconv.c:119,7'
              BranchSideFuncs:
                - charset_to_utf8_try
                - i_panic
                - i_panic
                - buffer_append
        - Branch String:   'charset-iconv.c:119,7'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:110,2'
              BranchSideFuncs:
                - charset_to_utf8_try
                - i_panic
                - i_panic
                - buffer_append
            - BranchSide:      'charset-iconv.c:120,8'
              BranchSideFuncs:
                - charset_to_utf8_try
                - i_panic
                - i_panic
                - buffer_append
        - Branch String:   'charset-iconv.c:120,8'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:121,19'
              BranchSideFuncs:
                - buffer_append
                - charset_to_utf8_try
                - i_panic
                - i_panic
            - BranchSide:      'charset-iconv.c:125,8'
              BranchSideFuncs:
                - charset_to_utf8_try
                - buffer_append
                - i_panic
                - i_panic
        - Branch String:   'charset-iconv.c:125,8'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:126,8'
              BranchSideFuncs:
                - charset_to_utf8_try
                - buffer_append
                - i_panic
                - i_panic
            - BranchSide:      'charset-iconv.c:127,3'
              BranchSideFuncs:
                - charset_to_utf8_try
                - buffer_append
                - i_panic
                - i_panic
        - Branch String:   'charset-iconv.c:130,6'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:131,10'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'charset-iconv.c:133,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'charset-iconv.c:133,2'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:133,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'charset-iconv.c:133,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'charset-iconv.c:111,3'
          Dst:             i_panic
        - Src:             'charset-iconv.c:113,9'
          Dst:             charset_to_utf8_try
        - Src:             'charset-iconv.c:121,5'
          Dst:             buffer_append
        - Src:             'charset-iconv.c:133,2'
          Dst:             i_panic
    - functionName:    iconv_charset_to_utf8_reset
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-iconv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - t
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - iconv
      functionUses:    0
      BranchProfiles:
        - Branch String:   'charset-iconv.c:48,6'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:48,6'
              BranchSideFuncs:
                - iconv
            - BranchSide:      'charset-iconv.c:49,15'
              BranchSideFuncs:
                - iconv
      Callsites:
        - Src:             'charset-iconv.c:49,9'
          Dst:             iconv
    - functionName:    iconv_charset_to_utf8_end
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-iconv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - t
      BBCount:         8
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - iconv_close
        - p_free_internal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'charset-iconv.c:41,6'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:42,15'
              BranchSideFuncs:
                - iconv_close
                - p_free_internal.361
            - BranchSide:      'charset-iconv.c:43,2'
              BranchSideFuncs:
                - p_free_internal.361
      Callsites:
        - Src:             'charset-iconv.c:42,3'
          Dst:             iconv_close
        - Src:             'charset-iconv.c:43,2'
          Dst:             p_free_internal
    - functionName:    iconv_close
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iconv_charset_to_utf8_begin
      functionSourceFile: '/src/dovecot/src/lib-charset/charset-iconv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - charset
        - normalizer
        - t_r
      BBCount:         12
      ICount:          81
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - charset_is_utf8
        - iconv_open
        - malloc_multiply_check
        - p_malloc
        - strcmp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'charset-iconv.c:22,6'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:23,6'
              BranchSideFuncs:
                - malloc_multiply_check.362
                - p_malloc.364
            - BranchSide:      'charset-iconv.c:25,14'
              BranchSideFuncs:
                - strcmp
                - iconv_open
                - malloc_multiply_check.362
                - p_malloc.364
        - Branch String:   'charset-iconv.c:25,7'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:26,12'
              BranchSideFuncs:
                - iconv_open
                - malloc_multiply_check.362
                - p_malloc.364
            - BranchSide:      'charset-iconv.c:27,28'
              BranchSideFuncs:
                - iconv_open
                - malloc_multiply_check.362
                - p_malloc.364
        - Branch String:   'charset-iconv.c:28,7'
          Branch Sides:
            - BranchSide:      'charset-iconv.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'charset-iconv.c:29,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'charset-iconv.c:22,6'
          Dst:             charset_is_utf8
        - Src:             'charset-iconv.c:25,7'
          Dst:             strcmp
        - Src:             'charset-iconv.c:27,8'
          Dst:             iconv_open
        - Src:             'charset-iconv.c:32,6'
          Dst:             malloc_multiply_check
        - Src:             'charset-iconv.c:32,6'
          Dst:             p_malloc
    - functionName:    iconv_open
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fuzzer_t_strndup_replace_zero
      functionSourceFile: '/src/dovecot/src/lib-test/fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - char
      constantsTouched: []
      argNames:
        - data
        - size
        - subst
      BBCount:         10
      ICount:          81
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - t_malloc_no0
      functionUses:    0
      BranchProfiles:
        - Branch String:   'fuzzer.c:94,2'
          Branch Sides:
            - BranchSide:      'fuzzer.c:95,16'
              BranchSideFuncs: []
            - BranchSide:      'fuzzer.c:98,2'
              BranchSideFuncs: []
        - Branch String:   'fuzzer.c:96,16'
          Branch Sides:
            - BranchSide:      'fuzzer.c:96,26'
              BranchSideFuncs: []
            - BranchSide:      'fuzzer.c:96,40'
              BranchSideFuncs: []
      Callsites:
        - Src:             'fuzzer.c:93,14'
          Dst:             t_malloc_no0
    - functionName:    pump_finished
      functionSourceFile: '/src/dovecot/src/lib-test/fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - status
        - fuzz_ctx
      BBCount:         10
      ICount:          78
      EdgeCount:       19
      CyclomaticComplexity: 11
      functionsReached:
        - i_error
        - i_fatal
        - i_stream_get_error
        - i_stream_get_name
        - iostream_pump_destroy
        - iostream_pump_get_input
        - iostream_pump_get_output
        - o_stream_get_error
        - o_stream_get_fd
        - o_stream_get_name
        - shutdown
      functionUses:    1
      BranchProfiles:
        - Branch String:   'fuzzer.c:44,2'
          Branch Sides:
            - BranchSide:      'fuzzer.c:46,3'
              BranchSideFuncs:
                - o_stream_get_fd
                - shutdown
                - iostream_pump_destroy
                - i_fatal
            - BranchSide:      'fuzzer.c:48,52'
              BranchSideFuncs:
                - i_stream_get_name
                - i_stream_get_error
                - i_error
                - o_stream_get_fd
                - shutdown
                - iostream_pump_destroy
                - i_fatal
            - BranchSide:      'fuzzer.c:52,53'
              BranchSideFuncs:
                - o_stream_get_name
                - o_stream_get_error
                - i_error
                - o_stream_get_fd
                - shutdown
                - iostream_pump_destroy
                - i_fatal
            - BranchSide:      'fuzzer.c:57,31'
              BranchSideFuncs:
                - o_stream_get_fd
                - shutdown
                - iostream_pump_destroy
                - i_fatal
        - Branch String:   'fuzzer.c:57,6'
          Branch Sides:
            - BranchSide:      'fuzzer.c:58,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'fuzzer.c:59,25'
              BranchSideFuncs:
                - iostream_pump_destroy
      Callsites:
        - Src:             'fuzzer.c:41,26'
          Dst:             iostream_pump_get_input
        - Src:             'fuzzer.c:42,27'
          Dst:             iostream_pump_get_output
        - Src:             'fuzzer.c:48,34'
          Dst:             i_stream_get_name
        - Src:             'fuzzer.c:49,4'
          Dst:             i_stream_get_error
        - Src:             'fuzzer.c:48,3'
          Dst:             i_error
        - Src:             'fuzzer.c:52,35'
          Dst:             o_stream_get_name
        - Src:             'fuzzer.c:53,4'
          Dst:             o_stream_get_error
        - Src:             'fuzzer.c:52,3'
          Dst:             i_error
        - Src:             'fuzzer.c:57,15'
          Dst:             o_stream_get_fd
        - Src:             'fuzzer.c:57,6'
          Dst:             shutdown
        - Src:             'fuzzer.c:58,3'
          Dst:             i_fatal
        - Src:             'fuzzer.c:59,2'
          Dst:             iostream_pump_destroy
    - functionName:    shutdown
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fuzzer_io_as_fd
      functionSourceFile: '/src/dovecot/src/lib-test/fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - fuzz_ctx
        - data
        - size
      BBCount:         5
      ICount:          88
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_fatal
        - i_stream_create_from_data
        - i_stream_set_name
        - i_stream_unref
        - iostream_pump_create
        - iostream_pump_set_completion_callback
        - iostream_pump_start
        - net_set_nonblock
        - o_stream_create_fd
        - o_stream_set_name
        - o_stream_set_no_error_handling
        - o_stream_unref
        - pump_finished
        - socketpair
      functionUses:    0
      BranchProfiles:
        - Branch String:   'fuzzer.c:67,6'
          Branch Sides:
            - BranchSide:      'fuzzer.c:68,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'fuzzer.c:69,19'
              BranchSideFuncs:
                - net_set_nonblock
                - net_set_nonblock
                - i_stream_create_from_data
                - o_stream_create_fd
                - i_stream_set_name
                - o_stream_set_name
                - o_stream_set_no_error_handling
                - iostream_pump_create
                - iostream_pump_set_completion_callback
                - i_stream_unref
                - o_stream_unref
                - iostream_pump_start
      Callsites:
        - Src:             'fuzzer.c:67,6'
          Dst:             socketpair
        - Src:             'fuzzer.c:68,3'
          Dst:             i_fatal
        - Src:             'fuzzer.c:69,2'
          Dst:             net_set_nonblock
        - Src:             'fuzzer.c:70,2'
          Dst:             net_set_nonblock
        - Src:             'fuzzer.c:72,26'
          Dst:             i_stream_create_from_data
        - Src:             'fuzzer.c:73,27'
          Dst:             o_stream_create_fd
        - Src:             'fuzzer.c:74,2'
          Dst:             i_stream_set_name
        - Src:             'fuzzer.c:75,2'
          Dst:             o_stream_set_name
        - Src:             'fuzzer.c:76,2'
          Dst:             o_stream_set_no_error_handling
        - Src:             'fuzzer.c:78,19'
          Dst:             iostream_pump_create
        - Src:             'fuzzer.c:81,2'
          Dst:             iostream_pump_set_completion_callback
        - Src:             'fuzzer.c:81,2'
          Dst:             pump_finished
        - Src:             'fuzzer.c:83,2'
          Dst:             i_stream_unref
        - Src:             'fuzzer.c:84,2'
          Dst:             o_stream_unref
        - Src:             'fuzzer.c:85,2'
          Dst:             iostream_pump_start
    - functionName:    socketpair
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fuzzer_deinit
      functionSourceFile: '/src/dovecot/src/lib-test/fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fuzz_ctx
      BBCount:         12
      ICount:          69
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - close
        - io_loop_destroy
        - iostream_pump_destroy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'fuzzer.c:30,6'
          Branch Sides:
            - BranchSide:      'fuzzer.c:31,15'
              BranchSideFuncs:
                - close
                - io_loop_destroy
                - close
            - BranchSide:      'fuzzer.c:32,6'
              BranchSideFuncs:
                - io_loop_destroy
                - close
        - Branch String:   'fuzzer.c:32,6'
          Branch Sides:
            - BranchSide:      'fuzzer.c:33,15'
              BranchSideFuncs:
                - close
                - io_loop_destroy
            - BranchSide:      'fuzzer.c:34,6'
              BranchSideFuncs:
                - io_loop_destroy
        - Branch String:   'fuzzer.c:34,6'
          Branch Sides:
            - BranchSide:      'fuzzer.c:34,6'
              BranchSideFuncs:
                - io_loop_destroy
            - BranchSide:      'fuzzer.c:35,20'
              BranchSideFuncs:
                - io_loop_destroy
      Callsites:
        - Src:             'fuzzer.c:27,2'
          Dst:             iostream_pump_destroy
        - Src:             'fuzzer.c:31,9'
          Dst:             close
        - Src:             'fuzzer.c:33,9'
          Dst:             close
        - Src:             'fuzzer.c:35,3'
          Dst:             io_loop_destroy
    - functionName:    close
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fuzzer_init
      functionSourceFile: '/src/dovecot/src/lib-test/fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 15
      functionLinenumberEnd: 23
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fuzz_ctx
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lib_init
        - lib_is_initialized
        - lib_signals_ignore
        - lib_signals_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'fuzzer.c:17,6'
          Branch Sides:
            - BranchSide:      'fuzzer.c:17,6'
              BranchSideFuncs: []
            - BranchSide:      'fuzzer.c:18,3'
              BranchSideFuncs:
                - lib_init
                - lib_signals_init
                - lib_signals_ignore
      Callsites:
        - Src:             'fuzzer.c:17,7'
          Dst:             lib_is_initialized
        - Src:             'fuzzer.c:18,3'
          Dst:             lib_init
        - Src:             'fuzzer.c:19,3'
          Dst:             lib_signals_init
        - Src:             'fuzzer.c:20,3'
          Dst:             lib_signals_ignore
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib-test/../../src/lib/mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/mempool.h:150,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      '../../src/lib/mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    test_buffer_free
      functionSourceFile: '/src/dovecot/src/lib-test/test-istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 17
      functionLinenumberEnd: 19
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - buf
      BBCount:         5
      ICount:          23
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'test-istream.c:18,2'
          Dst:             p_free_internal
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib-test/../../src/lib/lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   '../../src/lib/lib.h:75,2'
          Branch Sides:
            - BranchSide:      '../../src/lib/lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/lib.h:75,2'
          Branch Sides:
            - BranchSide:      '../../src/lib/lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             '../../src/lib/lib.h:75,2'
          Dst:             i_panic
    - functionName:    test_istream_set_size
      functionSourceFile: '/src/dovecot/src/lib-test/test-istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - input
        - size
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - test_istream_find
      functionUses:    0
      BranchProfiles:
        - Branch String:   'test-istream.c:165,6'
          Branch Sides:
            - BranchSide:      'test-istream.c:165,6'
              BranchSideFuncs: []
            - BranchSide:      'test-istream.c:166,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'test-istream.c:163,33'
          Dst:             test_istream_find
    - functionName:    test_istream_find
      functionSourceFile: '/src/dovecot/src/lib-test/test-istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
      BBCount:         13
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - i_stream_get_name
      functionUses:    3
      BranchProfiles:
        - Branch String:   'test-istream.c:138,2'
          Branch Sides:
            - BranchSide:      'test-istream.c:138,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'test-istream.c:140,12'
              BranchSideFuncs:
                - i_stream_get_name
                - i_panic
        - Branch String:   'test-istream.c:140,2'
          Branch Sides:
            - BranchSide:      'test-istream.c:141,7'
              BranchSideFuncs:
                - i_stream_get_name
                - i_panic
            - BranchSide:      'test-istream.c:144,53'
              BranchSideFuncs:
                - i_stream_get_name
                - i_panic
        - Branch String:   'test-istream.c:141,7'
          Branch Sides:
            - BranchSide:      'test-istream.c:142,34'
              BranchSideFuncs: []
            - BranchSide:      'test-istream.c:143,2'
              BranchSideFuncs:
                - i_stream_get_name
                - i_panic
      Callsites:
        - Src:             'test-istream.c:138,2'
          Dst:             i_panic
        - Src:             'test-istream.c:144,35'
          Dst:             i_stream_get_name
        - Src:             'test-istream.c:144,2'
          Dst:             i_panic
    - functionName:    test_read
      functionSourceFile: '/src/dovecot/src/lib-test/test-istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 22
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         51
      ICount:          420
      EdgeCount:       66
      CyclomaticComplexity: 17
      functionsReached:
        - i_malloc
        - i_memcpy
        - i_panic
        - i_rand_limit
        - memarea_get_refcount
        - memarea_init
        - memarea_unref
        - test_buffer_free
      functionUses:    2
      BranchProfiles:
        - Branch String:   'test-istream.c:28,2'
          Branch Sides:
            - BranchSide:      'test-istream.c:28,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'test-istream.c:30,6'
              BranchSideFuncs:
                - i_rand_limit
                - i_memcpy.428
                - memarea_get_refcount
                - i_malloc
                - memarea_init
                - memarea_unref
                - i_memcpy.428
                - i_panic
        - Branch String:   'test-istream.c:30,6'
          Branch Sides:
            - BranchSide:      'test-istream.c:31,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'test-istream.c:35,6'
              BranchSideFuncs:
                - i_rand_limit
                - i_memcpy.428
                - memarea_get_refcount
                - i_malloc
                - memarea_init
                - memarea_unref
                - i_memcpy.428
        - Branch String:   'test-istream.c:31,3'
          Branch Sides:
            - BranchSide:      'test-istream.c:31,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'test-istream.c:32,3'
              BranchSideFuncs: []
        - Branch String:   'test-istream.c:35,6'
          Branch Sides:
            - BranchSide:      'test-istream.c:37,7'
              BranchSideFuncs: []
            - BranchSide:      'test-istream.c:41,19'
              BranchSideFuncs:
                - i_rand_limit
                - i_memcpy.428
                - memarea_get_refcount
                - i_malloc
                - memarea_init
                - memarea_unref
                - i_memcpy.428
        - Branch String:   'test-istream.c:51,57'
          Branch Sides:
            - BranchSide:      'test-istream.c:52,7'
              BranchSideFuncs:
                - i_memcpy.428
                - memarea_get_refcount
                - i_malloc
                - memarea_init
                - memarea_unref
                - i_memcpy.428
            - BranchSide:      'test-istream.c:61,7'
              BranchSideFuncs:
                - i_memcpy.428
                - memarea_get_refcount
                - i_malloc
                - memarea_init
                - memarea_unref
                - i_memcpy.428
        - Branch String:   'test-istream.c:51,7'
          Branch Sides:
            - BranchSide:      'test-istream.c:53,14'
              BranchSideFuncs:
                - i_memcpy.428
                - memarea_get_refcount
                - i_malloc
                - memarea_init
                - memarea_unref
                - i_memcpy.428
            - BranchSide:      'test-istream.c:61,7'
              BranchSideFuncs:
                - i_memcpy.428
                - memarea_get_refcount
                - i_malloc
                - memarea_init
                - memarea_unref
                - i_memcpy.428
        - Branch String:   'test-istream.c:61,19'
          Branch Sides:
            - BranchSide:      'test-istream.c:61,23'
              BranchSideFuncs:
                - memarea_get_refcount
                - i_memcpy.428
                - i_malloc
                - memarea_init
                - memarea_unref
                - i_memcpy.428
            - BranchSide:      'test-istream.c:80,18'
              BranchSideFuncs:
                - i_memcpy.428
        - Branch String:   'test-istream.c:61,54'
          Branch Sides:
            - BranchSide:      'test-istream.c:62,9'
              BranchSideFuncs:
                - i_malloc
                - memarea_init
                - i_memcpy.428
                - memarea_unref
                - i_memcpy.428
            - BranchSide:      'test-istream.c:64,25'
              BranchSideFuncs:
                - i_malloc
                - memarea_init
                - i_memcpy.428
                - memarea_unref
                - i_memcpy.428
        - Branch String:   'test-istream.c:62,33'
          Branch Sides:
            - BranchSide:      'test-istream.c:63,30'
              BranchSideFuncs:
                - i_malloc
                - memarea_init
                - i_memcpy.428
                - memarea_unref
                - i_memcpy.428
            - BranchSide:      'test-istream.c:64,25'
              BranchSideFuncs:
                - i_malloc
                - memarea_init
                - i_memcpy.428
                - memarea_unref
                - i_memcpy.428
        - Branch String:   'test-istream.c:61,7'
          Branch Sides:
            - BranchSide:      'test-istream.c:64,25'
              BranchSideFuncs:
                - i_malloc
                - memarea_init
                - i_memcpy.428
                - memarea_unref
                - i_memcpy.428
            - BranchSide:      'test-istream.c:80,18'
              BranchSideFuncs:
                - i_memcpy.428
        - Branch String:   'test-istream.c:66,8'
          Branch Sides:
            - BranchSide:      'test-istream.c:67,5'
              BranchSideFuncs:
                - i_memcpy.428
                - memarea_init
                - i_memcpy.428
                - memarea_unref
            - BranchSide:      'test-istream.c:70,21'
              BranchSideFuncs:
                - memarea_init
                - i_memcpy.428
                - memarea_unref
        - Branch String:   'test-istream.c:67,5'
          Branch Sides:
            - BranchSide:      'test-istream.c:70,21'
              BranchSideFuncs:
                - i_memcpy.428
                - memarea_init
                - i_memcpy.428
                - memarea_unref
            - BranchSide:      'test-istream.c:70,21'
              BranchSideFuncs:
                - i_memcpy.428
                - memarea_init
                - i_memcpy.428
                - memarea_unref
        - Branch String:   'test-istream.c:73,8'
          Branch Sides:
            - BranchSide:      'test-istream.c:74,20'
              BranchSideFuncs:
                - memarea_unref
                - memarea_init
                - i_memcpy.428
            - BranchSide:      'test-istream.c:75,22'
              BranchSideFuncs:
                - memarea_init
                - i_memcpy.428
        - Branch String:   'test-istream.c:81,7'
          Branch Sides:
            - BranchSide:      'test-istream.c:82,4'
              BranchSideFuncs:
                - i_memcpy.428
            - BranchSide:      'test-istream.c:85,9'
              BranchSideFuncs: []
        - Branch String:   'test-istream.c:89,6'
          Branch Sides:
            - BranchSide:      'test-istream.c:90,10'
              BranchSideFuncs: []
            - BranchSide:      'test-istream.c:91,12'
              BranchSideFuncs: []
        - Branch String:   'test-istream.c:91,31'
          Branch Sides:
            - BranchSide:      'test-istream.c:92,4'
              BranchSideFuncs: []
            - BranchSide:      'test-istream.c:93,3'
              BranchSideFuncs: []
        - Branch String:   'test-istream.c:91,11'
          Branch Sides:
            - BranchSide:      'test-istream.c:93,3'
              BranchSideFuncs: []
            - BranchSide:      'test-istream.c:95,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'test-istream.c:28,2'
          Dst:             i_panic
        - Src:             'test-istream.c:31,3'
          Dst:             i_panic
        - Src:             'test-istream.c:41,19'
          Dst:             i_rand_limit
        - Src:             'test-istream.c:63,9'
          Dst:             memarea_get_refcount
        - Src:             'test-istream.c:65,23'
          Dst:             i_malloc
        - Src:             'test-istream.c:67,5'
          Dst:             i_memcpy
        - Src:             'test-istream.c:74,5'
          Dst:             memarea_unref
        - Src:             'test-istream.c:75,22'
          Dst:             memarea_init
        - Src:             'test-istream.c:75,22'
          Dst:             test_buffer_free
        - Src:             'test-istream.c:82,4'
          Dst:             i_memcpy
    - functionName:    test_istream_set_max_buffer_size
      functionSourceFile: '/src/dovecot/src/lib-test/test-istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - input
        - size
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - test_istream_find
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'test-istream.c:156,33'
          Dst:             test_istream_find
    - functionName:    test_istream_set_allow_eof
      functionSourceFile: '/src/dovecot/src/lib-test/test-istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - input
        - allow
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - test_istream_find
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'test-istream.c:149,33'
          Dst:             test_istream_find
    - functionName:    test_istream_create
      functionSourceFile: '/src/dovecot/src/lib-test/test-istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strlen
        - test_istream_create_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'test-istream.c:131,40'
          Dst:             strlen
        - Src:             'test-istream.c:131,9'
          Dst:             test_istream_create_data
    - functionName:    test_istream_create_data
      functionSourceFile: '/src/dovecot/src/lib-test/test-istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - data
        - size
      BBCount:         3
      ICount:          74
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_stream_create
        - malloc_multiply_check
        - p_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'test-istream.c:114,12'
          Dst:             malloc_multiply_check
        - Src:             'test-istream.c:114,12'
          Dst:             p_malloc
        - Src:             'test-istream.c:122,2'
          Dst:             i_stream_create
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib-test/../../src/lib/malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   '../../src/lib/malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             '../../src/lib/malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib-test/../../src/lib/mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   '../../src/lib/mempool.h:118,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   '../../src/lib/mempool.h:118,6'
          Branch Sides:
            - BranchSide:      '../../src/lib/mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      '../../src/lib/mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             '../../src/lib/mempool.h:119,3'
          Dst:             i_panic
    - functionName:    test_seek
      functionSourceFile: '/src/dovecot/src/lib-test/test-istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - stream
        - v_offset
        - mark
      BBCount:         1
      ICount:          38
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_lsearch_ptr_idx_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - key
        - idx_r
      BBCount:         14
      ICount:          93
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - array_count_i
        - i_panic
      functionUses:    5
      BranchProfiles:
        - Branch String:   'array.c:184,2'
          Branch Sides:
            - BranchSide:      'array.c:184,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'array.c:185,28'
              BranchSideFuncs:
                - array_count_i.485
        - Branch String:   'array.c:188,2'
          Branch Sides:
            - BranchSide:      'array.c:189,7'
              BranchSideFuncs: []
            - BranchSide:      'array.c:194,2'
              BranchSideFuncs: []
        - Branch String:   'array.c:189,7'
          Branch Sides:
            - BranchSide:      'array.c:190,13'
              BranchSideFuncs: []
            - BranchSide:      'array.c:193,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'array.c:184,2'
          Dst:             i_panic
        - Src:             'array.c:186,26'
          Dst:             array_count_i
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_lsearch_ptr_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - key
      BBCount:         14
      ICount:          92
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - array_count_i
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'array.c:170,2'
          Branch Sides:
            - BranchSide:      'array.c:170,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'array.c:171,28'
              BranchSideFuncs:
                - array_count_i.485
        - Branch String:   'array.c:174,2'
          Branch Sides:
            - BranchSide:      'array.c:175,7'
              BranchSideFuncs: []
            - BranchSide:      'array.c:178,2'
              BranchSideFuncs: []
        - Branch String:   'array.c:175,7'
          Branch Sides:
            - BranchSide:      'array.c:176,11'
              BranchSideFuncs: []
            - BranchSide:      'array.c:177,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'array.c:170,2'
          Dst:             i_panic
        - Src:             'array.c:172,26'
          Dst:             array_count_i
    - functionName:    array_lsearch_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - key
        - cmp
      BBCount:         10
      ICount:          89
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - array_count_i
      functionUses:    2
      BranchProfiles:
        - Branch String:   'array.c:159,2'
          Branch Sides:
            - BranchSide:      'array.c:160,7'
              BranchSideFuncs:
                - array_count_i.485
            - BranchSide:      'array.c:165,2'
              BranchSideFuncs: []
        - Branch String:   'array.c:160,7'
          Branch Sides:
            - BranchSide:      'array.c:161,11'
              BranchSideFuncs: []
            - BranchSide:      'array.c:163,2'
              BranchSideFuncs:
                - array_count_i.485
      Callsites:
        - Src:             'array.c:159,22'
          Dst:             array_count_i
    - functionName:    array_bsearch_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - key
        - cmp
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
        - bsearch
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'array.c:147,10'
          Dst:             array_count_i
        - Src:             'array.c:148,9'
          Dst:             bsearch
    - functionName:    bsearch
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_sort_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - cmp
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_count_i
        - buffer_get_modifiable_data
        - qsort
      functionUses:    2
      BranchProfiles:
        - Branch String:   'array.c:136,6'
          Branch Sides:
            - BranchSide:      'array.c:137,3'
              BranchSideFuncs: []
            - BranchSide:      'array.c:138,35'
              BranchSideFuncs:
                - buffer_get_modifiable_data
                - qsort
      Callsites:
        - Src:             'array.c:135,10'
          Dst:             array_count_i
        - Src:             'array.c:138,8'
          Dst:             buffer_get_modifiable_data
        - Src:             'array.c:138,2'
          Dst:             qsort
    - functionName:    qsort
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    array_reverse_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         7
      ICount:          107
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - array_count_i
        - buffer_get_modifiable_data
        - i_memcpy
        - t_buffer_get
      functionUses:    0
      BranchProfiles:
        - Branch String:   'array.c:121,2'
          Branch Sides:
            - BranchSide:      'array.c:122,3'
              BranchSideFuncs:
                - i_memcpy.488
                - i_memcpy.488
                - i_memcpy.488
            - BranchSide:      'array.c:129,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'array.c:115,26'
          Dst:             array_count_i
        - Src:             'array.c:119,9'
          Dst:             buffer_get_modifiable_data
        - Src:             'array.c:120,8'
          Dst:             t_buffer_get
        - Src:             'array.c:122,3'
          Dst:             i_memcpy
        - Src:             'array.c:123,3'
          Dst:             i_memcpy
        - Src:             'array.c:126,3'
          Dst:             i_memcpy
    - functionName:    array_equal_fn_ctx_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array1
        - array2
        - cmp
        - context
      BBCount:         26
      ICount:          182
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - array_count_i
        - array_is_created_i
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'array.c:91,34'
          Branch Sides:
            - BranchSide:      'array.c:91,37'
              BranchSideFuncs:
                - array_is_created_i
                - array_count_i.485
                - array_count_i.485
                - i_panic
                - array_is_created_i
            - BranchSide:      'array.c:92,30'
              BranchSideFuncs:
                - array_is_created_i
        - Branch String:   'array.c:91,6'
          Branch Sides:
            - BranchSide:      'array.c:92,30'
              BranchSideFuncs:
                - array_is_created_i
            - BranchSide:      'array.c:94,26'
              BranchSideFuncs:
                - array_is_created_i
                - array_count_i.485
                - array_count_i.485
                - i_panic
        - Branch String:   'array.c:92,38'
          Branch Sides:
            - BranchSide:      'array.c:92,41'
              BranchSideFuncs: []
            - BranchSide:      'array.c:92,3'
              BranchSideFuncs: []
        - Branch String:   'array.c:94,6'
          Branch Sides:
            - BranchSide:      'array.c:95,3'
              BranchSideFuncs:
                - array_count_i.485
                - array_count_i.485
                - i_panic
            - BranchSide:      'array.c:97,25'
              BranchSideFuncs:
                - array_count_i.485
                - array_count_i.485
                - i_panic
        - Branch String:   'array.c:98,6'
          Branch Sides:
            - BranchSide:      'array.c:99,3'
              BranchSideFuncs: []
            - BranchSide:      'array.c:101,9'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'array.c:102,2'
          Branch Sides:
            - BranchSide:      'array.c:102,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'array.c:104,9'
              BranchSideFuncs: []
        - Branch String:   'array.c:104,2'
          Branch Sides:
            - BranchSide:      'array.c:105,7'
              BranchSideFuncs: []
            - BranchSide:      'array.c:109,2'
              BranchSideFuncs: []
        - Branch String:   'array.c:105,7'
          Branch Sides:
            - BranchSide:      'array.c:107,4'
              BranchSideFuncs: []
            - BranchSide:      'array.c:108,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'array.c:91,7'
          Dst:             array_is_created_i
        - Src:             'array.c:92,11'
          Dst:             array_is_created_i
        - Src:             'array.c:94,7'
          Dst:             array_is_created_i
        - Src:             'array.c:97,11'
          Dst:             array_count_i
        - Src:             'array.c:97,43'
          Dst:             array_count_i
        - Src:             'array.c:102,2'
          Dst:             i_panic
    - functionName:    array_is_created_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_equal_fn_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array1
        - array2
        - cmp
      BBCount:         26
      ICount:          178
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - array_count_i
        - array_is_created_i
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'array.c:63,34'
          Branch Sides:
            - BranchSide:      'array.c:63,37'
              BranchSideFuncs:
                - array_is_created_i
                - array_count_i.485
                - array_count_i.485
                - i_panic
                - array_is_created_i
            - BranchSide:      'array.c:64,30'
              BranchSideFuncs:
                - array_is_created_i
        - Branch String:   'array.c:63,6'
          Branch Sides:
            - BranchSide:      'array.c:64,30'
              BranchSideFuncs:
                - array_is_created_i
            - BranchSide:      'array.c:66,26'
              BranchSideFuncs:
                - array_is_created_i
                - array_count_i.485
                - array_count_i.485
                - i_panic
        - Branch String:   'array.c:64,38'
          Branch Sides:
            - BranchSide:      'array.c:64,41'
              BranchSideFuncs: []
            - BranchSide:      'array.c:64,3'
              BranchSideFuncs: []
        - Branch String:   'array.c:66,6'
          Branch Sides:
            - BranchSide:      'array.c:67,3'
              BranchSideFuncs:
                - array_count_i.485
                - array_count_i.485
                - i_panic
            - BranchSide:      'array.c:69,25'
              BranchSideFuncs:
                - array_count_i.485
                - array_count_i.485
                - i_panic
        - Branch String:   'array.c:70,6'
          Branch Sides:
            - BranchSide:      'array.c:71,3'
              BranchSideFuncs: []
            - BranchSide:      'array.c:73,9'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'array.c:74,2'
          Branch Sides:
            - BranchSide:      'array.c:74,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'array.c:76,9'
              BranchSideFuncs: []
        - Branch String:   'array.c:76,2'
          Branch Sides:
            - BranchSide:      'array.c:77,7'
              BranchSideFuncs: []
            - BranchSide:      'array.c:81,2'
              BranchSideFuncs: []
        - Branch String:   'array.c:77,7'
          Branch Sides:
            - BranchSide:      'array.c:79,4'
              BranchSideFuncs: []
            - BranchSide:      'array.c:80,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'array.c:63,7'
          Dst:             array_is_created_i
        - Src:             'array.c:64,11'
          Dst:             array_is_created_i
        - Src:             'array.c:66,7'
          Dst:             array_is_created_i
        - Src:             'array.c:69,11'
          Dst:             array_count_i
        - Src:             'array.c:69,43'
          Dst:             array_count_i
        - Src:             'array.c:74,2'
          Dst:             i_panic
    - functionName:    array_cmp_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array1
        - array2
      BBCount:         14
      ICount:          81
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - array_is_created_i
        - buffer_cmp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'array.c:48,34'
          Branch Sides:
            - BranchSide:      'array.c:48,37'
              BranchSideFuncs:
                - array_is_created_i
                - buffer_cmp
                - array_is_created_i
            - BranchSide:      'array.c:49,30'
              BranchSideFuncs:
                - array_is_created_i
        - Branch String:   'array.c:48,6'
          Branch Sides:
            - BranchSide:      'array.c:49,30'
              BranchSideFuncs:
                - array_is_created_i
            - BranchSide:      'array.c:51,26'
              BranchSideFuncs:
                - array_is_created_i
                - buffer_cmp
        - Branch String:   'array.c:49,38'
          Branch Sides:
            - BranchSide:      'array.c:49,41'
              BranchSideFuncs: []
            - BranchSide:      'array.c:49,3'
              BranchSideFuncs: []
        - Branch String:   'array.c:51,6'
          Branch Sides:
            - BranchSide:      'array.c:52,3'
              BranchSideFuncs:
                - buffer_cmp
            - BranchSide:      'array.c:54,20'
              BranchSideFuncs:
                - buffer_cmp
      Callsites:
        - Src:             'array.c:48,7'
          Dst:             array_is_created_i
        - Src:             'array.c:49,11'
          Dst:             array_is_created_i
        - Src:             'array.c:51,7'
          Dst:             array_is_created_i
        - Src:             'array.c:54,9'
          Dst:             buffer_cmp
    - functionName:    array_insert_space_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
      BBCount:         3
      ICount:          56
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_copy
        - buffer_get_space_unsafe
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'array.c:38,2'
          Dst:             buffer_copy
        - Src:             'array.c:41,9'
          Dst:             buffer_get_space_unsafe
    - functionName:    array_idx_clear_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 30
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_write_zero
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'array.c:28,2'
          Dst:             buffer_write_zero
    - functionName:    array_idx_set_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 24
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - idx
        - data
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'array.c:22,2'
          Dst:             buffer_write
    - functionName:    array_idx_get_space_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 15
      functionLinenumberEnd: 17
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_get_space_unsafe
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'array.c:16,9'
          Dst:             buffer_get_space_unsafe
    - functionName:    array_idx_modifiable_i
      functionSourceFile: '/src/dovecot/src/lib/array.c'
      linkageType:     InternalLinkage
      functionLinenumber: 9
      functionLinenumberEnd: 11
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
      BBCount:         7
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'array.c:10,2'
          Branch Sides:
            - BranchSide:      'array.c:10,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'array.c:10,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'array.c:10,2'
          Dst:             i_panic
    - functionName:    pool_get_name
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    buffer_truncate_rshift_bits
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 488
      functionLinenumberEnd: 509
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - buf
        - bits
      BBCount:         18
      ICount:          150
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - buffer_get_modifiable_data
        - buffer_set_used_size
      functionUses:    0
      BranchProfiles:
        - Branch String:   'buffer.c:490,6'
          Branch Sides:
            - BranchSide:      'buffer.c:490,28'
              BranchSideFuncs: []
            - BranchSide:      'buffer.c:492,6'
              BranchSideFuncs:
                - buffer_set_used_size
                - buffer_set_used_size
                - buffer_get_modifiable_data
        - Branch String:   'buffer.c:492,6'
          Branch Sides:
            - BranchSide:      'buffer.c:494,20'
              BranchSideFuncs:
                - buffer_set_used_size
                - buffer_get_modifiable_data
            - BranchSide:      'buffer.c:507,24'
              BranchSideFuncs:
                - buffer_set_used_size
        - Branch String:   'buffer.c:497,29'
          Branch Sides:
            - BranchSide:      'buffer.c:497,3'
              BranchSideFuncs:
                - buffer_set_used_size
                - buffer_get_modifiable_data
            - BranchSide:      'buffer.c:497,3'
              BranchSideFuncs:
                - buffer_set_used_size
                - buffer_get_modifiable_data
        - Branch String:   'buffer.c:500,7'
          Branch Sides:
            - BranchSide:      'buffer.c:501,17'
              BranchSideFuncs: []
            - BranchSide:      'buffer.c:506,2'
              BranchSideFuncs: []
        - Branch String:   'buffer.c:501,4'
          Branch Sides:
            - BranchSide:      'buffer.c:502,15'
              BranchSideFuncs: []
            - BranchSide:      'buffer.c:504,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'buffer.c:497,3'
          Dst:             buffer_set_used_size
        - Src:             'buffer.c:498,24'
          Dst:             buffer_get_modifiable_data
        - Src:             'buffer.c:507,3'
          Dst:             buffer_set_used_size
    - functionName:    buffer_set_used_size
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 410
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - _buf
        - used_size
      BBCount:         10
      ICount:          76
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    19
      BranchProfiles:
        - Branch String:   'buffer.c:413,2'
          Branch Sides:
            - BranchSide:      'buffer.c:413,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:415,6'
              BranchSideFuncs: []
        - Branch String:   'buffer.c:415,6'
          Branch Sides:
            - BranchSide:      'buffer.c:415,6'
              BranchSideFuncs: []
            - BranchSide:      'buffer.c:416,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'buffer.c:413,2'
          Dst:             i_panic
    - functionName:    buffer_get_modifiable_data
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 406
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - _buf
        - used_size_r
      BBCount:         13
      ICount:          82
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
      functionUses:    15
      BranchProfiles:
        - Branch String:   'buffer.c:403,6'
          Branch Sides:
            - BranchSide:      'buffer.c:404,18'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:405,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'buffer.c:405,2'
          Branch Sides:
            - BranchSide:      'buffer.c:405,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:405,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'buffer.c:405,2'
          Branch Sides:
            - BranchSide:      'buffer.c:405,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:405,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'buffer.c:405,2'
          Dst:             i_panic
    - functionName:    p_realloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - mem
        - old_size
        - new_size
      BBCount:         11
      ICount:          89
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:129,6'
          Branch Sides:
            - BranchSide:      './mempool.h:129,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:129,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:129,6'
          Branch Sides:
            - BranchSide:      './mempool.h:131,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:133,6'
              BranchSideFuncs: []
        - Branch String:   './mempool.h:133,6'
          Branch Sides:
            - BranchSide:      './mempool.h:134,10'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:136,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:130,3'
          Dst:             i_panic
    - functionName:    buffer_verify_pool
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 483
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _buf
      BBCount:         14
      ICount:          99
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - p_realloc
      functionUses:    0
      BranchProfiles:
        - Branch String:   'buffer.c:476,24'
          Branch Sides:
            - BranchSide:      'buffer.c:476,27'
              BranchSideFuncs:
                - p_realloc
                - i_panic
            - BranchSide:      'buffer.c:476,24'
              BranchSideFuncs: []
        - Branch String:   'buffer.c:476,53'
          Branch Sides:
            - BranchSide:      'buffer.c:476,56'
              BranchSideFuncs:
                - p_realloc
                - i_panic
            - BranchSide:      'buffer.c:476,53'
              BranchSideFuncs: []
        - Branch String:   'buffer.c:476,6'
          Branch Sides:
            - BranchSide:      'buffer.c:476,6'
              BranchSideFuncs:
                - p_realloc
                - i_panic
            - BranchSide:      'buffer.c:479,19'
              BranchSideFuncs:
                - p_realloc
                - i_panic
        - Branch String:   'buffer.c:481,3'
          Branch Sides:
            - BranchSide:      'buffer.c:481,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:482,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'buffer.c:479,9'
          Dst:             p_realloc
        - Src:             'buffer.c:481,3'
          Dst:             i_panic
    - functionName:    buffer_cmp
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 461
      functionLinenumberEnd: 468
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - buf1
        - buf2
      BBCount:         8
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'buffer.c:462,6'
          Branch Sides:
            - BranchSide:      'buffer.c:463,3'
              BranchSideFuncs: []
            - BranchSide:      'buffer.c:464,6'
              BranchSideFuncs:
                - memcmp
        - Branch String:   'buffer.c:464,6'
          Branch Sides:
            - BranchSide:      'buffer.c:465,3'
              BranchSideFuncs: []
            - BranchSide:      'buffer.c:467,16'
              BranchSideFuncs:
                - memcmp
      Callsites:
        - Src:             'buffer.c:467,9'
          Dst:             memcmp
    - functionName:    buffer_get_avail_size
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 452
      functionLinenumberEnd: 457
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _buf
      BBCount:         10
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'buffer.c:456,2'
          Branch Sides:
            - BranchSide:      'buffer.c:456,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:457,11'
              BranchSideFuncs: []
        - Branch String:   'buffer.c:457,11'
          Branch Sides:
            - BranchSide:      'buffer.c:457,11'
              BranchSideFuncs: []
            - BranchSide:      'buffer.c:457,37'
              BranchSideFuncs: []
      Callsites:
        - Src:             'buffer.c:456,2'
          Dst:             i_panic
    - functionName:    buffer_get_writable_size
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _buf
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    buffer_get_size
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _buf
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    buffer_clear
      functionSourceFile: '/src/dovecot/src/lib/./buffer.h'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - buf
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_set_used_size
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './buffer.h:141,2'
          Dst:             buffer_set_used_size
    - functionName:    buffer_clear_safe
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 422
      functionLinenumberEnd: 429
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _buf
      BBCount:         9
      ICount:          66
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_clear
        - safe_memset
      functionUses:    0
      BranchProfiles:
        - Branch String:   'buffer.c:426,6'
          Branch Sides:
            - BranchSide:      'buffer.c:426,6'
              BranchSideFuncs:
                - safe_memset
                - buffer_clear
            - BranchSide:      'buffer.c:427,15'
              BranchSideFuncs:
                - safe_memset
                - buffer_clear
        - Branch String:   'buffer.c:427,33'
          Branch Sides:
            - BranchSide:      'buffer.c:427,3'
              BranchSideFuncs:
                - safe_memset
                - buffer_clear
            - BranchSide:      'buffer.c:427,3'
              BranchSideFuncs:
                - safe_memset
                - buffer_clear
      Callsites:
        - Src:             'buffer.c:427,3'
          Dst:             safe_memset
        - Src:             'buffer.c:428,2'
          Dst:             buffer_clear
    - functionName:    buffer_append_space_unsafe
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 392
      functionLinenumberEnd: 395
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - buf
        - size
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_get_space_unsafe
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'buffer.c:395,9'
          Dst:             buffer_get_space_unsafe
    - functionName:    buffer_get_space_unsafe
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - _buf
        - pos
        - size
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_check_limits
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'buffer.c:387,2'
          Dst:             buffer_check_limits
    - functionName:    buffer_check_limits
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - buf
        - pos
        - data_size
      BBCount:         41
      ICount:          324
      EdgeCount:       50
      CyclomaticComplexity: 11
      functionsReached:
        - buffer_alloc
        - i_panic
        - pool_get_exp_grown_size
        - pool_get_name
      functionUses:    6
      BranchProfiles:
        - Branch String:   'buffer.c:58,6'
          Branch Sides:
            - BranchSide:      'buffer.c:59,52'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:61,13'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - pool_get_exp_grown_size
                - buffer_alloc
                - pool_get_name
                - i_panic
        - Branch String:   'buffer.c:63,27'
          Branch Sides:
            - BranchSide:      'buffer.c:63,30'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - pool_get_exp_grown_size
                - buffer_alloc
                - pool_get_name
                - i_panic
            - BranchSide:      'buffer.c:74,6'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - pool_get_exp_grown_size
                - buffer_alloc
                - pool_get_name
                - i_panic
        - Branch String:   'buffer.c:63,6'
          Branch Sides:
            - BranchSide:      'buffer.c:65,16'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - pool_get_exp_grown_size
                - buffer_alloc
                - pool_get_name
                - i_panic
            - BranchSide:      'buffer.c:74,6'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - pool_get_exp_grown_size
                - buffer_alloc
                - pool_get_name
                - i_panic
        - Branch String:   'buffer.c:65,16'
          Branch Sides:
            - BranchSide:      'buffer.c:65,16'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - pool_get_exp_grown_size
                - buffer_alloc
                - pool_get_name
                - i_panic
            - BranchSide:      'buffer.c:65,16'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - pool_get_exp_grown_size
                - buffer_alloc
                - pool_get_name
                - i_panic
        - Branch String:   'buffer.c:65,16'
          Branch Sides:
            - BranchSide:      'buffer.c:65,16'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - pool_get_exp_grown_size
                - buffer_alloc
                - pool_get_name
                - i_panic
            - BranchSide:      'buffer.c:65,10'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - pool_get_exp_grown_size
                - buffer_alloc
                - pool_get_name
                - i_panic
        - Branch String:   'buffer.c:65,16'
          Branch Sides:
            - BranchSide:      'buffer.c:65,10'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - pool_get_exp_grown_size
                - buffer_alloc
                - pool_get_name
                - i_panic
            - BranchSide:      'buffer.c:65,10'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - pool_get_exp_grown_size
                - buffer_alloc
                - pool_get_name
                - i_panic
        - Branch String:   'buffer.c:74,6'
          Branch Sides:
            - BranchSide:      'buffer.c:75,7'
              BranchSideFuncs:
                - pool_get_exp_grown_size
                - buffer_alloc
                - i_panic
                - i_panic
                - pool_get_name
                - i_panic
            - BranchSide:      'buffer.c:109,6'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'buffer.c:75,7'
          Branch Sides:
            - BranchSide:      'buffer.c:77,5'
              BranchSideFuncs:
                - pool_get_name
                - i_panic
            - BranchSide:      'buffer.c:83,28'
              BranchSideFuncs:
                - pool_get_exp_grown_size
                - buffer_alloc
                - i_panic
                - i_panic
        - Branch String:   'buffer.c:78,5'
          Branch Sides:
            - BranchSide:      'buffer.c:76,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:79,19'
              BranchSideFuncs:
                - pool_get_name
                - i_panic
        - Branch String:   'buffer.c:85,7'
          Branch Sides:
            - BranchSide:      'buffer.c:88,21'
              BranchSideFuncs:
                - buffer_alloc
                - i_panic
                - i_panic
            - BranchSide:      'buffer.c:90,16'
              BranchSideFuncs:
                - buffer_alloc
                - i_panic
                - i_panic
        - Branch String:   'buffer.c:109,6'
          Branch Sides:
            - BranchSide:      'buffer.c:110,15'
              BranchSideFuncs:
                - i_panic
                - i_panic
            - BranchSide:      'buffer.c:111,2'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'buffer.c:111,2'
          Branch Sides:
            - BranchSide:      'buffer.c:111,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:112,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'buffer.c:112,2'
          Branch Sides:
            - BranchSide:      'buffer.c:112,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:112,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'buffer.c:59,3'
          Dst:             i_panic
        - Src:             'buffer.c:79,5'
          Dst:             pool_get_name
        - Src:             'buffer.c:76,4'
          Dst:             i_panic
        - Src:             'buffer.c:83,4'
          Dst:             pool_get_exp_grown_size
        - Src:             'buffer.c:90,3'
          Dst:             buffer_alloc
        - Src:             'buffer.c:111,2'
          Dst:             i_panic
        - Src:             'buffer.c:112,2'
          Dst:             i_panic
    - functionName:    buffer_alloc
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - buf
        - size
      BBCount:         20
      ICount:          154
      EdgeCount:       23
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - p_malloc
        - p_realloc
      functionUses:    2
      BranchProfiles:
        - Branch String:   'buffer.c:35,2'
          Branch Sides:
            - BranchSide:      'buffer.c:35,2'
              BranchSideFuncs:
                - p_realloc
                - p_malloc.598
                - i_panic
                - i_panic
            - BranchSide:      'buffer.c:35,2'
              BranchSideFuncs:
                - p_realloc
                - p_malloc.598
                - i_panic
                - i_panic
        - Branch String:   'buffer.c:35,2'
          Branch Sides:
            - BranchSide:      'buffer.c:35,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:37,6'
              BranchSideFuncs:
                - p_realloc
                - p_malloc.598
                - i_panic
        - Branch String:   'buffer.c:37,6'
          Branch Sides:
            - BranchSide:      'buffer.c:38,3'
              BranchSideFuncs: []
            - BranchSide:      'buffer.c:40,2'
              BranchSideFuncs:
                - p_realloc
                - p_malloc.598
                - i_panic
        - Branch String:   'buffer.c:40,2'
          Branch Sides:
            - BranchSide:      'buffer.c:40,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:42,6'
              BranchSideFuncs:
                - p_realloc
                - p_malloc.598
        - Branch String:   'buffer.c:42,6'
          Branch Sides:
            - BranchSide:      'buffer.c:43,28'
              BranchSideFuncs:
                - p_malloc.598
            - BranchSide:      'buffer.c:45,29'
              BranchSideFuncs:
                - p_realloc
      Callsites:
        - Src:             'buffer.c:35,2'
          Dst:             i_panic
        - Src:             'buffer.c:40,2'
          Dst:             i_panic
        - Src:             'buffer.c:43,19'
          Dst:             p_malloc
        - Src:             'buffer.c:45,19'
          Dst:             p_realloc
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    buffer_append_buf
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - src_pos
        - copy_size
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_copy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'buffer.c:380,2'
          Dst:             buffer_copy
    - functionName:    buffer_copy
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 353
      functionLinenumberEnd: 375
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - _dest
        - dest_pos
        - _src
        - src_pos
        - copy_size
      BBCount:         17
      ICount:          150
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_check_limits
        - i_panic
      functionUses:    5
      BranchProfiles:
        - Branch String:   'buffer.c:359,2'
          Branch Sides:
            - BranchSide:      'buffer.c:359,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:361,13'
              BranchSideFuncs:
                - buffer_check_limits
                - i_panic
        - Branch String:   'buffer.c:362,6'
          Branch Sides:
            - BranchSide:      'buffer.c:363,15'
              BranchSideFuncs:
                - buffer_check_limits
                - i_panic
            - BranchSide:      'buffer.c:365,22'
              BranchSideFuncs:
                - buffer_check_limits
                - i_panic
        - Branch String:   'buffer.c:366,2'
          Branch Sides:
            - BranchSide:      'buffer.c:366,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:368,6'
              BranchSideFuncs: []
        - Branch String:   'buffer.c:368,6'
          Branch Sides:
            - BranchSide:      'buffer.c:369,11'
              BranchSideFuncs: []
            - BranchSide:      'buffer.c:372,10'
              BranchSideFuncs: []
      Callsites:
        - Src:             'buffer.c:359,2'
          Dst:             i_panic
        - Src:             'buffer.c:365,2'
          Dst:             buffer_check_limits
        - Src:             'buffer.c:366,2'
          Dst:             i_panic
    - functionName:    buffer_insert_zero
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 340
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - _buf
        - pos
        - data_size
      BBCount:         6
      ICount:          61
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_copy
        - buffer_write_zero
      functionUses:    0
      BranchProfiles:
        - Branch String:   'buffer.c:343,6'
          Branch Sides:
            - BranchSide:      'buffer.c:344,21'
              BranchSideFuncs:
                - buffer_write_zero
            - BranchSide:      'buffer.c:346,15'
              BranchSideFuncs:
                - buffer_copy
      Callsites:
        - Src:             'buffer.c:344,3'
          Dst:             buffer_write_zero
        - Src:             'buffer.c:346,3'
          Dst:             buffer_copy
    - functionName:    buffer_write_zero
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 328
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - _buf
        - pos
        - data_size
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_check_limits
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'buffer.c:326,2'
          Dst:             buffer_check_limits
    - functionName:    buffer_append_zero
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 331
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - _buf
        - data_size
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_check_limits
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'buffer.c:336,2'
          Dst:             buffer_check_limits
    - functionName:    buffer_replace
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - _buf
        - pos
        - size
        - data
        - data_size
      BBCount:         12
      ICount:          132
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - buffer_copy
        - buffer_set_used_size
        - buffer_write
      functionUses:    0
      BranchProfiles:
        - Branch String:   'buffer.c:294,6'
          Branch Sides:
            - BranchSide:      'buffer.c:295,16'
              BranchSideFuncs:
                - buffer_write
            - BranchSide:      'buffer.c:298,13'
              BranchSideFuncs:
                - buffer_write
                - buffer_set_used_size
                - buffer_copy
        - Branch String:   'buffer.c:300,6'
          Branch Sides:
            - BranchSide:      'buffer.c:301,15'
              BranchSideFuncs:
                - buffer_copy
                - buffer_set_used_size
            - BranchSide:      'buffer.c:314,12'
              BranchSideFuncs:
                - buffer_write
                - buffer_set_used_size
        - Branch String:   'buffer.c:302,7'
          Branch Sides:
            - BranchSide:      'buffer.c:304,12'
              BranchSideFuncs:
                - buffer_set_used_size
            - BranchSide:      'buffer.c:308,16'
              BranchSideFuncs:
                - buffer_copy
                - buffer_set_used_size
      Callsites:
        - Src:             'buffer.c:295,3'
          Dst:             buffer_write
        - Src:             'buffer.c:308,4'
          Dst:             buffer_copy
        - Src:             'buffer.c:315,3'
          Dst:             buffer_write
        - Src:             'buffer.c:318,2'
          Dst:             buffer_set_used_size
    - functionName:    buffer_write
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - _buf
        - pos
        - data
        - data_size
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_check_limits
      functionUses:    5
      BranchProfiles:
        - Branch String:   'buffer.c:229,6'
          Branch Sides:
            - BranchSide:      'buffer.c:229,6'
              BranchSideFuncs: []
            - BranchSide:      'buffer.c:230,10'
              BranchSideFuncs: []
      Callsites:
        - Src:             'buffer.c:228,2'
          Dst:             buffer_check_limits
    - functionName:    buffer_delete
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - _buf
        - pos
        - size
      BBCount:         9
      ICount:          87
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_set_used_size
      functionUses:    8
      BranchProfiles:
        - Branch String:   'buffer.c:271,6'
          Branch Sides:
            - BranchSide:      'buffer.c:272,3'
              BranchSideFuncs: []
            - BranchSide:      'buffer.c:273,13'
              BranchSideFuncs:
                - buffer_set_used_size
        - Branch String:   'buffer.c:275,6'
          Branch Sides:
            - BranchSide:      'buffer.c:277,15'
              BranchSideFuncs:
                - buffer_set_used_size
            - BranchSide:      'buffer.c:282,12'
              BranchSideFuncs:
                - buffer_set_used_size
      Callsites:
        - Src:             'buffer.c:285,2'
          Dst:             buffer_set_used_size
    - functionName:    buffer_insert
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 264
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - _buf
        - pos
        - data
        - data_size
      BBCount:         9
      ICount:          75
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_copy
        - buffer_write
      functionUses:    2
      BranchProfiles:
        - Branch String:   'buffer.c:258,6'
          Branch Sides:
            - BranchSide:      'buffer.c:259,16'
              BranchSideFuncs:
                - buffer_write
            - BranchSide:      'buffer.c:260,11'
              BranchSideFuncs:
                - buffer_copy
      Callsites:
        - Src:             'buffer.c:259,3'
          Dst:             buffer_write
        - Src:             'buffer.c:261,3'
          Dst:             buffer_copy
    - functionName:    buffer_append_c
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - _buf
        - chr
      BBCount:         3
      ICount:          40
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_check_append_limits
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'buffer.c:249,2'
          Dst:             buffer_check_append_limits
    - functionName:    buffer_check_append_limits
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - buf
        - data_size
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_check_limits
      functionUses:    2
      BranchProfiles:
        - Branch String:   'buffer.c:121,6'
          Branch Sides:
            - BranchSide:      'buffer.c:122,23'
              BranchSideFuncs:
                - buffer_check_limits
            - BranchSide:      'buffer.c:124,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'buffer.c:122,3'
          Dst:             buffer_check_limits
    - functionName:    buffer_append
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - _buf
        - data
        - data_size
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_check_append_limits
      functionUses:    44
      BranchProfiles:
        - Branch String:   'buffer.c:237,6'
          Branch Sides:
            - BranchSide:      'buffer.c:237,6'
              BranchSideFuncs:
                - buffer_check_append_limits
            - BranchSide:      'buffer.c:238,16'
              BranchSideFuncs:
                - buffer_check_append_limits
      Callsites:
        - Src:             'buffer.c:239,3'
          Dst:             buffer_check_append_limits
    - functionName:    buffer_get_pool
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _buf
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    buffer_free_without_data
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _buf
      BBCount:         5
      ICount:          43
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'buffer.c:211,2'
          Dst:             p_free_internal
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    buffer_free
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _buf
      BBCount:         15
      ICount:          84
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - p_free_internal
      functionUses:    11
      BranchProfiles:
        - Branch String:   'buffer.c:192,6'
          Branch Sides:
            - BranchSide:      'buffer.c:193,3'
              BranchSideFuncs: []
            - BranchSide:      'buffer.c:194,28'
              BranchSideFuncs:
                - p_free_internal.614
                - p_free_internal.614
        - Branch String:   'buffer.c:197,6'
          Branch Sides:
            - BranchSide:      'buffer.c:198,3'
              BranchSideFuncs:
                - p_free_internal.614
                - p_free_internal.614
            - BranchSide:      'buffer.c:199,6'
              BranchSideFuncs:
                - p_free_internal.614
        - Branch String:   'buffer.c:199,6'
          Branch Sides:
            - BranchSide:      'buffer.c:199,6'
              BranchSideFuncs:
                - p_free_internal.614
            - BranchSide:      'buffer.c:200,3'
              BranchSideFuncs:
                - p_free_internal.614
      Callsites:
        - Src:             'buffer.c:198,3'
          Dst:             p_free_internal
        - Src:             'buffer.c:200,3'
          Dst:             p_free_internal
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    buffer_create_dynamic_max
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - init_size
        - max_size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_alloc
        - malloc_multiply_check
        - p_malloc
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'buffer.c:179,8'
          Dst:             malloc_multiply_check
        - Src:             'buffer.c:179,8'
          Dst:             p_malloc
        - Src:             'buffer.c:186,2'
          Dst:             buffer_alloc
    - functionName:    buffer_create_dynamic
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - init_size
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_create_dynamic_max
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'buffer.c:162,9'
          Dst:             buffer_create_dynamic_max
    - functionName:    buffer_create_from_const_data
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - buffer
        - data
        - size
      BBCount:         9
      ICount:          74
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'buffer.c:157,2'
          Branch Sides:
            - BranchSide:      'buffer.c:157,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'buffer.c:157,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'buffer.c:157,2'
          Dst:             i_panic
    - functionName:    buffer_create_from_data
      functionSourceFile: '/src/dovecot/src/lib/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - buffer
        - data
        - size
      BBCount:         3
      ICount:          51
      EdgeCount:       5
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    malloc_add_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         11
      ICount:          71
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:38,34'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:38,37'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:39,17'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:38,65'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:38,65'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:39,17'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:38,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:38,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:41,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:40,3'
          Dst:             i_panic
    - functionName:    data_stack_send_grow_event
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 453
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - last_alloc_size
      BBCount:         18
      ICount:          132
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - backtrace_get
        - data_stack_get_alloc_size
        - data_stack_get_used_size
        - e_debug
        - event_add_int
        - event_add_str
        - event_create
        - event_send_abort
        - event_set_name
        - event_want_level
        - str_c
        - str_printfa
        - t_str_new
        - t_strdup_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'data-stack.c:404,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:407,3'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:409,6'
              BranchSideFuncs:
                - event_set_name
                - data_stack_get_alloc_size
                - event_add_int
                - data_stack_get_used_size
                - event_add_int
                - event_add_int
                - event_add_int
                - event_add_str
                - event_want_level
                - backtrace_get
                - t_strdup_printf
                - event_add_str
                - t_str_new
                - data_stack_get_used_size
                - data_stack_get_alloc_size
                - str_printfa
                - event_want_level
                - event_send_abort
                - str_c
                - e_debug
                - event_add_str
                - event_create
        - Branch String:   'data-stack.c:409,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:410,21'
              BranchSideFuncs:
                - event_create
                - event_set_name
                - data_stack_get_alloc_size
                - event_add_int
                - data_stack_get_used_size
                - event_add_int
                - event_add_int
                - event_add_int
                - event_add_str
                - event_want_level
                - backtrace_get
                - t_strdup_printf
                - event_add_str
                - t_str_new
                - data_stack_get_used_size
                - data_stack_get_alloc_size
                - str_printfa
                - event_want_level
                - event_send_abort
                - str_c
                - e_debug
                - event_add_str
            - BranchSide:      'data-stack.c:411,17'
              BranchSideFuncs:
                - event_set_name
                - data_stack_get_alloc_size
                - event_add_int
                - data_stack_get_used_size
                - event_add_int
                - event_add_int
                - event_add_int
                - event_add_str
                - event_want_level
                - backtrace_get
                - t_strdup_printf
                - event_add_str
                - t_str_new
                - data_stack_get_used_size
                - data_stack_get_alloc_size
                - str_printfa
                - event_want_level
                - event_send_abort
                - str_c
                - e_debug
                - event_add_str
        - Branch String:   'data-stack.c:428,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:429,3'
              BranchSideFuncs:
                - backtrace_get
                - t_strdup_printf
                - event_add_str
                - t_str_new
                - data_stack_get_used_size
                - data_stack_get_alloc_size
                - str_printfa
                - event_want_level
                - event_send_abort
                - str_c
                - e_debug
                - event_add_str
            - BranchSide:      'data-stack.c:435,6'
              BranchSideFuncs:
                - backtrace_get
                - t_strdup_printf
                - event_add_str
                - t_str_new
                - data_stack_get_used_size
                - data_stack_get_alloc_size
                - str_printfa
                - event_want_level
                - event_send_abort
                - str_c
                - e_debug
                - event_add_str
        - Branch String:   'data-stack.c:435,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:436,17'
              BranchSideFuncs:
                - event_add_str
                - t_str_new
                - data_stack_get_used_size
                - data_stack_get_alloc_size
                - str_printfa
                - event_want_level
                - event_send_abort
                - str_c
                - e_debug
            - BranchSide:      'data-stack.c:438,55'
              BranchSideFuncs:
                - t_strdup_printf
                - event_add_str
                - t_str_new
                - data_stack_get_used_size
                - data_stack_get_alloc_size
                - str_printfa
                - event_want_level
                - event_send_abort
                - str_c
                - e_debug
        - Branch String:   'data-stack.c:451,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:451,2'
              BranchSideFuncs:
                - str_c
                - e_debug
            - BranchSide:      'data-stack.c:451,2'
              BranchSideFuncs:
                - event_send_abort
      Callsites:
        - Src:             'data-stack.c:410,21'
          Dst:             event_create
        - Src:             'data-stack.c:411,2'
          Dst:             event_set_name
        - Src:             'data-stack.c:412,47'
          Dst:             data_stack_get_alloc_size
        - Src:             'data-stack.c:412,2'
          Dst:             event_add_int
        - Src:             'data-stack.c:413,46'
          Dst:             data_stack_get_used_size
        - Src:             'data-stack.c:413,2'
          Dst:             event_add_int
        - Src:             'data-stack.c:414,2'
          Dst:             event_add_int
        - Src:             'data-stack.c:415,2'
          Dst:             event_add_int
        - Src:             'data-stack.c:422,2'
          Dst:             event_add_str
        - Src:             'data-stack.c:428,7'
          Dst:             event_want_level
        - Src:             'data-stack.c:435,6'
          Dst:             backtrace_get
        - Src:             'data-stack.c:436,3'
          Dst:             event_add_str
        - Src:             'data-stack.c:438,15'
          Dst:             t_strdup_printf
        - Src:             'data-stack.c:439,3'
          Dst:             event_add_str
        - Src:             'data-stack.c:442,18'
          Dst:             t_str_new
        - Src:             'data-stack.c:444,7'
          Dst:             data_stack_get_used_size
        - Src:             'data-stack.c:445,7'
          Dst:             data_stack_get_alloc_size
        - Src:             'data-stack.c:443,2'
          Dst:             str_printfa
        - Src:             'data-stack.c:451,2'
          Dst:             event_want_level
        - Src:             'data-stack.c:451,2'
          Dst:             str_c
        - Src:             'data-stack.c:451,2'
          Dst:             e_debug
        - Src:             'data-stack.c:451,2'
          Dst:             event_send_abort
    - functionName:    data_stack_get_alloc_size
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 717
      functionLinenumberEnd: 725
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          59
      EdgeCount:       12
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'data-stack.c:719,9'
          Branch Sides:
            - BranchSide:      'data-stack.c:718,22'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:721,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'data-stack.c:721,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:721,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:723,15'
              BranchSideFuncs: []
        - Branch String:   'data-stack.c:723,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:724,11'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:725,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'data-stack.c:721,2'
          Dst:             i_panic
    - functionName:    data_stack_get_used_size
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 729
      functionLinenumberEnd: 737
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          63
      EdgeCount:       12
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'data-stack.c:731,9'
          Branch Sides:
            - BranchSide:      'data-stack.c:730,22'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:733,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'data-stack.c:733,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:733,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:735,15'
              BranchSideFuncs: []
        - Branch String:   'data-stack.c:735,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:736,11'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:737,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'data-stack.c:733,2'
          Dst:             i_panic
    - functionName:    mem_block_reset
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - block
      BBCount:         1
      ICount:          19
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    data_stack_deinit
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 776
      functionLinenumberEnd: 784
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - data_stack_free_unused
        - i_panic
        - t_pop
      functionUses:    1
      BranchProfiles:
        - Branch String:   'data-stack.c:777,7'
          Branch Sides:
            - BranchSide:      'data-stack.c:777,7'
              BranchSideFuncs:
                - t_pop
                - i_panic
                - free
                - data_stack_free_unused
            - BranchSide:      'data-stack.c:777,7'
              BranchSideFuncs:
                - t_pop
                - i_panic
                - free
                - data_stack_free_unused
        - Branch String:   'data-stack.c:777,29'
          Branch Sides:
            - BranchSide:      'data-stack.c:778,6'
              BranchSideFuncs:
                - free
                - data_stack_free_unused
                - i_panic
            - BranchSide:      'data-stack.c:779,3'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'data-stack.c:777,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:779,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:781,7'
              BranchSideFuncs:
                - free
                - data_stack_free_unused
      Callsites:
        - Src:             'data-stack.c:777,7'
          Dst:             t_pop
        - Src:             'data-stack.c:779,3'
          Dst:             i_panic
        - Src:             'data-stack.c:783,2'
          Dst:             data_stack_free_unused
    - functionName:    t_pop
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 325
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - id
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - t_pop_last_unsafe
      functionUses:    40
      BranchProfiles:
        - Branch String:   'data-stack.c:328,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:329,3'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:330,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'data-stack.c:326,2'
          Dst:             t_pop_last_unsafe
    - functionName:    data_stack_free_unused
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 741
      functionLinenumberEnd: 744
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'data-stack.c:742,7'
          Branch Sides:
            - BranchSide:      'data-stack.c:742,7'
              BranchSideFuncs:
                - free
            - BranchSide:      'data-stack.c:742,7'
              BranchSideFuncs:
                - free
      Callsites:       []
    - functionName:    t_pop_last_unsafe
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          82
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - data_stack_last_buffer_reset
        - free_blocks
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'data-stack.c:283,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:281,9'
              BranchSideFuncs:
                - data_stack_last_buffer_reset
                - free_blocks
                - i_panic
            - BranchSide:      'data-stack.c:283,6'
              BranchSideFuncs:
                - data_stack_last_buffer_reset
                - free_blocks
                - i_panic
        - Branch String:   'data-stack.c:283,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:284,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:286,2'
              BranchSideFuncs:
                - data_stack_last_buffer_reset
                - free_blocks
        - Branch String:   'data-stack.c:293,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:294,19'
              BranchSideFuncs:
                - free_blocks
            - BranchSide:      'data-stack.c:301,2'
              BranchSideFuncs: []
        - Branch String:   'data-stack.c:295,7'
          Branch Sides:
            - BranchSide:      'data-stack.c:297,16'
              BranchSideFuncs:
                - free_blocks
            - BranchSide:      'data-stack.c:300,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'data-stack.c:284,3'
          Dst:             i_panic
        - Src:             'data-stack.c:286,2'
          Dst:             data_stack_last_buffer_reset
        - Src:             'data-stack.c:297,4'
          Dst:             free_blocks
    - functionName:    data_stack_last_buffer_reset
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - bool
      constantsTouched: []
      argNames:
        - preserve_data
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'data-stack.c:112,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:112,6'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:129,21'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    free_blocks
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - block
      BBCount:         17
      ICount:          71
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'data-stack.c:220,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:221,3'
              BranchSideFuncs:
                - free
                - free
            - BranchSide:      'data-stack.c:240,1'
              BranchSideFuncs: []
        - Branch String:   'data-stack.c:228,7'
          Branch Sides:
            - BranchSide:      'data-stack.c:230,12'
              BranchSideFuncs:
                - free
                - free
            - BranchSide:      'data-stack.c:238,11'
              BranchSideFuncs:
                - free
                - free
        - Branch String:   'data-stack.c:230,33'
          Branch Sides:
            - BranchSide:      'data-stack.c:231,5'
              BranchSideFuncs:
                - free
                - free
            - BranchSide:      'data-stack.c:232,9'
              BranchSideFuncs:
                - free
                - free
        - Branch String:   'data-stack.c:230,12'
          Branch Sides:
            - BranchSide:      'data-stack.c:232,9'
              BranchSideFuncs:
                - free
                - free
            - BranchSide:      'data-stack.c:235,9'
              BranchSideFuncs:
                - free
                - free
      Callsites:       []
    - functionName:    data_stack_deinit_event
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 770
      functionLinenumberEnd: 773
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_unref
      functionUses:    1
      BranchProfiles:
        - Branch String:   'data-stack.c:771,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:771,2'
              BranchSideFuncs:
                - event_unref
            - BranchSide:      'data-stack.c:771,2'
              BranchSideFuncs:
                - event_unref
      Callsites:
        - Src:             'data-stack.c:771,2'
          Dst:             event_unref
    - functionName:    mem_block_alloc
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 396
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - min_size
      BBCount:         16
      ICount:          110
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - abort
        - i_panic
        - malloc_add_check
        - mem_block_reset
        - nearest_power
      functionUses:    2
      BranchProfiles:
        - Branch String:   'data-stack.c:371,14'
          Branch Sides:
            - BranchSide:      'data-stack.c:371,12'
              BranchSideFuncs:
                - malloc_add_check
                - nearest_power
                - malloc
                - mem_block_reset
                - i_panic
                - abort
            - BranchSide:      'data-stack.c:371,42'
              BranchSideFuncs:
                - malloc_add_check
                - nearest_power
                - malloc
                - mem_block_reset
                - i_panic
                - abort
        - Branch String:   'data-stack.c:373,15'
          Branch Sides:
            - BranchSide:      'data-stack.c:373,32'
              BranchSideFuncs:
                - malloc
                - mem_block_reset
                - i_panic
                - abort
            - BranchSide:      'data-stack.c:374,17'
              BranchSideFuncs:
                - malloc_add_check
                - nearest_power
                - malloc
                - mem_block_reset
                - i_panic
                - abort
        - Branch String:   'data-stack.c:379,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:380,7'
              BranchSideFuncs:
                - i_panic
                - abort
            - BranchSide:      'data-stack.c:389,16'
              BranchSideFuncs:
                - mem_block_reset
        - Branch String:   'data-stack.c:380,7'
          Branch Sides:
            - BranchSide:      'data-stack.c:381,8'
              BranchSideFuncs:
                - abort
            - BranchSide:      'data-stack.c:385,12'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'data-stack.c:381,8'
          Branch Sides:
            - BranchSide:      'data-stack.c:382,5'
              BranchSideFuncs:
                - abort
            - BranchSide:      'data-stack.c:383,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'data-stack.c:374,17'
          Dst:             malloc_add_check
        - Src:             'data-stack.c:374,3'
          Dst:             nearest_power
        - Src:             'data-stack.c:382,5'
          Dst:             abort
        - Src:             'data-stack.c:386,3'
          Dst:             i_panic
        - Src:             'data-stack.c:391,2'
          Dst:             mem_block_reset
    - functionName:    abort
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    t_buffer_alloc_last_full
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 672
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - t_malloc_real
      functionUses:    0
      BranchProfiles:
        - Branch String:   'data-stack.c:670,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:670,6'
              BranchSideFuncs:
                - t_malloc_real
            - BranchSide:      'data-stack.c:670,6'
              BranchSideFuncs:
                - t_malloc_real
        - Branch String:   'data-stack.c:670,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:670,6'
              BranchSideFuncs:
                - t_malloc_real
            - BranchSide:      'data-stack.c:671,23'
              BranchSideFuncs:
                - t_malloc_real
      Callsites:
        - Src:             'data-stack.c:671,9'
          Dst:             t_malloc_real
    - functionName:    t_malloc_real
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 545
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - size
        - permanent
      BBCount:         37
      ICount:          213
      EdgeCount:       45
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - data_stack_after_last_alloc
        - data_stack_init
        - data_stack_last_buffer_reset
        - data_stack_send_grow_event
        - i_panic
        - mem_block_alloc
        - mem_block_reset
        - t_pop
        - t_push
      functionUses:    5
      BranchProfiles:
        - Branch String:   'data-stack.c:464,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:464,6'
              BranchSideFuncs:
                - data_stack_last_buffer_reset
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
                - mem_block_alloc
                - mem_block_reset
                - data_stack_init
                - i_panic
            - BranchSide:      'data-stack.c:464,6'
              BranchSideFuncs:
                - data_stack_last_buffer_reset
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
                - mem_block_alloc
                - mem_block_reset
                - data_stack_init
                - i_panic
        - Branch String:   'data-stack.c:464,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:465,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:467,6'
              BranchSideFuncs:
                - data_stack_last_buffer_reset
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
                - mem_block_alloc
                - mem_block_reset
                - data_stack_init
        - Branch String:   'data-stack.c:467,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:469,3'
              BranchSideFuncs:
                - data_stack_init
                - data_stack_last_buffer_reset
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
                - mem_block_alloc
                - mem_block_reset
            - BranchSide:      'data-stack.c:471,2'
              BranchSideFuncs:
                - data_stack_last_buffer_reset
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
                - mem_block_alloc
                - mem_block_reset
        - Branch String:   'data-stack.c:484,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:486,36'
              BranchSideFuncs:
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
                - mem_block_alloc
                - mem_block_reset
            - BranchSide:      'data-stack.c:489,6'
              BranchSideFuncs:
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
                - mem_block_alloc
                - mem_block_reset
        - Branch String:   'data-stack.c:489,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:493,7'
              BranchSideFuncs:
                - mem_block_alloc
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
                - mem_block_reset
            - BranchSide:      'data-stack.c:512,36'
              BranchSideFuncs:
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
        - Branch String:   'data-stack.c:493,28'
          Branch Sides:
            - BranchSide:      'data-stack.c:493,31'
              BranchSideFuncs:
                - mem_block_alloc
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
                - mem_block_reset
            - BranchSide:      'data-stack.c:499,28'
              BranchSideFuncs:
                - mem_block_alloc
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
        - Branch String:   'data-stack.c:493,7'
          Branch Sides:
            - BranchSide:      'data-stack.c:494,12'
              BranchSideFuncs:
                - mem_block_reset
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
            - BranchSide:      'data-stack.c:499,28'
              BranchSideFuncs:
                - mem_block_alloc
                - data_stack_after_last_alloc
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
        - Branch String:   'data-stack.c:518,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:519,26'
              BranchSideFuncs:
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
            - BranchSide:      'data-stack.c:521,6'
              BranchSideFuncs:
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
        - Branch String:   'data-stack.c:521,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:521,12'
              BranchSideFuncs:
                - t_push
                - __errno_location
                - data_stack_send_grow_event
                - __errno_location
                - t_pop
                - i_panic
            - BranchSide:      'data-stack.c:521,6'
              BranchSideFuncs: []
        - Branch String:   'data-stack.c:533,4'
          Branch Sides:
            - BranchSide:      'data-stack.c:533,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:533,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'data-stack.c:465,3'
          Dst:             i_panic
        - Src:             'data-stack.c:469,3'
          Dst:             data_stack_init
        - Src:             'data-stack.c:482,2'
          Dst:             data_stack_last_buffer_reset
        - Src:             'data-stack.c:496,4'
          Dst:             mem_block_reset
        - Src:             'data-stack.c:499,12'
          Dst:             mem_block_alloc
        - Src:             'data-stack.c:512,8'
          Dst:             data_stack_after_last_alloc
        - Src:             'data-stack.c:521,12'
          Dst:             t_push
        - Src:             'data-stack.c:526,19'
          Dst:             __errno_location
        - Src:             'data-stack.c:530,3'
          Dst:             data_stack_send_grow_event
        - Src:             'data-stack.c:532,3'
          Dst:             __errno_location
        - Src:             'data-stack.c:533,4'
          Dst:             t_pop
        - Src:             'data-stack.c:533,4'
          Dst:             i_panic
    - functionName:    data_stack_init
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 747
      functionLinenumberEnd: 767
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mem_block_alloc
        - t_push
      functionUses:    3
      BranchProfiles:
        - Branch String:   'data-stack.c:748,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:748,6'
              BranchSideFuncs:
                - mem_block_alloc
                - t_push
            - BranchSide:      'data-stack.c:748,6'
              BranchSideFuncs:
                - mem_block_alloc
                - t_push
        - Branch String:   'data-stack.c:748,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:751,3'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:753,25'
              BranchSideFuncs:
                - mem_block_alloc
                - t_push
      Callsites:
        - Src:             'data-stack.c:760,18'
          Dst:             mem_block_alloc
        - Src:             'data-stack.c:766,18'
          Dst:             t_push
    - functionName:    data_stack_after_last_alloc
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - block
      BBCount:         1
      ICount:          19
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    t_push
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - marker
      BBCount:         10
      ICount:          85
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - data_stack_init
        - i_panic
        - t_buffer_alloc
        - t_buffer_get
        - t_push
      functionUses:    40
      BranchProfiles:
        - Branch String:   'data-stack.c:153,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:153,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:155,6'
              BranchSideFuncs:
                - t_buffer_get
                - t_buffer_alloc
                - data_stack_init
                - t_push
        - Branch String:   'data-stack.c:155,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:157,3'
              BranchSideFuncs:
                - data_stack_init
                - t_push
            - BranchSide:      'data-stack.c:162,10'
              BranchSideFuncs:
                - t_buffer_get
                - t_buffer_alloc
      Callsites:
        - Src:             'data-stack.c:153,2'
          Dst:             i_panic
        - Src:             'data-stack.c:157,3'
          Dst:             data_stack_init
        - Src:             'data-stack.c:158,10'
          Dst:             t_push
        - Src:             'data-stack.c:162,10'
          Dst:             t_buffer_get
        - Src:             'data-stack.c:176,2'
          Dst:             t_buffer_alloc
    - functionName:    t_buffer_get
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 639
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - size
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_malloc_real
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'data-stack.c:635,8'
          Dst:             t_malloc_real
    - functionName:    t_buffer_alloc
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 666
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - size
      BBCount:         15
      ICount:          73
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - t_malloc_real
      functionUses:    12
      BranchProfiles:
        - Branch String:   'data-stack.c:660,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:660,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:661,2'
              BranchSideFuncs:
                - t_malloc_real
                - i_panic
                - i_panic
        - Branch String:   'data-stack.c:661,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:661,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:662,2'
              BranchSideFuncs:
                - t_malloc_real
                - i_panic
        - Branch String:   'data-stack.c:662,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:662,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:662,2'
              BranchSideFuncs:
                - t_malloc_real
      Callsites:
        - Src:             'data-stack.c:660,2'
          Dst:             i_panic
        - Src:             'data-stack.c:661,2'
          Dst:             i_panic
        - Src:             'data-stack.c:662,2'
          Dst:             i_panic
        - Src:             'data-stack.c:665,8'
          Dst:             t_malloc_real
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    t_buffer_reget
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 643
      functionLinenumberEnd: 656
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - buffer
        - size
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - i_memcpy
        - t_buffer_get
      functionUses:    5
      BranchProfiles:
        - Branch String:   'data-stack.c:648,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:649,10'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:651,28'
              BranchSideFuncs:
                - t_buffer_get
                - i_memcpy.720
        - Branch String:   'data-stack.c:652,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:653,3'
              BranchSideFuncs:
                - i_memcpy.720
            - BranchSide:      'data-stack.c:655,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'data-stack.c:651,15'
          Dst:             t_buffer_get
        - Src:             'data-stack.c:653,3'
          Dst:             i_memcpy
    - functionName:    t_get_bytes_available
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 617
      functionLinenumberEnd: 628
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          50
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'data-stack.c:618,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:618,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:618,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'data-stack.c:627,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:627,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:627,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'data-stack.c:627,2'
          Dst:             i_panic
    - functionName:    t_try_realloc
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 564
      functionLinenumberEnd: 614
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - mem
        - size
      BBCount:         16
      ICount:          118
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - data_stack_after_last_alloc
        - data_stack_last_buffer_reset
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'data-stack.c:568,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:568,6'
              BranchSideFuncs:
                - data_stack_last_buffer_reset
                - data_stack_after_last_alloc
                - i_panic
            - BranchSide:      'data-stack.c:568,6'
              BranchSideFuncs:
                - data_stack_last_buffer_reset
                - data_stack_after_last_alloc
                - i_panic
        - Branch String:   'data-stack.c:568,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:569,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:570,2'
              BranchSideFuncs:
                - data_stack_last_buffer_reset
                - data_stack_after_last_alloc
        - Branch String:   'data-stack.c:580,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:584,20'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:613,2'
              BranchSideFuncs: []
        - Branch String:   'data-stack.c:595,7'
          Branch Sides:
            - BranchSide:      'data-stack.c:597,27'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:611,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'data-stack.c:569,3'
          Dst:             i_panic
        - Src:             'data-stack.c:571,2'
          Dst:             data_stack_last_buffer_reset
        - Src:             'data-stack.c:576,21'
          Dst:             data_stack_after_last_alloc
    - functionName:    t_malloc0
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 554
      functionLinenumberEnd: 559
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - size
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_malloc_real
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'data-stack.c:557,8'
          Dst:             t_malloc_real
    - functionName:    t_malloc_no0
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 549
      functionLinenumberEnd: 550
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - size
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_malloc_real
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'data-stack.c:550,9'
          Dst:             t_malloc_real
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    data_stack_frame_contains
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 675
      functionLinenumberEnd: 714
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - id
        - _ptr
      BBCount:         28
      ICount:          187
      EdgeCount:       34
      CyclomaticComplexity: 8
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'data-stack.c:682,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:683,3'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:686,21'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'data-stack.c:692,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:692,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:693,10'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'data-stack.c:694,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:694,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'data-stack.c:698,15'
              BranchSideFuncs: []
        - Branch String:   'data-stack.c:701,42'
          Branch Sides:
            - BranchSide:      'data-stack.c:702,6'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:707,15'
              BranchSideFuncs: []
        - Branch String:   'data-stack.c:701,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:703,3'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:707,15'
              BranchSideFuncs: []
        - Branch String:   'data-stack.c:707,2'
          Branch Sides:
            - BranchSide:      'data-stack.c:708,16'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:713,2'
              BranchSideFuncs: []
        - Branch String:   'data-stack.c:710,25'
          Branch Sides:
            - BranchSide:      'data-stack.c:710,28'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:712,2'
              BranchSideFuncs: []
        - Branch String:   'data-stack.c:710,7'
          Branch Sides:
            - BranchSide:      'data-stack.c:711,4'
              BranchSideFuncs: []
            - BranchSide:      'data-stack.c:712,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'data-stack.c:692,2'
          Dst:             i_panic
        - Src:             'data-stack.c:694,2'
          Dst:             i_panic
    - functionName:    t_pop_pass_str
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - id
        - str
      BBCount:         11
      ICount:          68
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - data_stack_frame_contains
        - i_strdup
        - p_free_internal
        - t_pop
        - t_strdup
      functionUses:    2
      BranchProfiles:
        - Branch String:   'data-stack.c:343,18'
          Branch Sides:
            - BranchSide:      'data-stack.c:343,48'
              BranchSideFuncs:
                - t_pop
            - BranchSide:      'data-stack.c:344,16'
              BranchSideFuncs:
                - t_pop
        - Branch String:   'data-stack.c:343,6'
          Branch Sides:
            - BranchSide:      'data-stack.c:344,16'
              BranchSideFuncs:
                - i_strdup
                - t_pop
                - t_strdup
                - p_free_internal.727
            - BranchSide:      'data-stack.c:349,28'
              BranchSideFuncs:
                - i_strdup
                - t_pop
                - t_strdup
                - p_free_internal.727
      Callsites:
        - Src:             'data-stack.c:343,22'
          Dst:             data_stack_frame_contains
        - Src:             'data-stack.c:344,10'
          Dst:             t_pop
        - Src:             'data-stack.c:349,18'
          Dst:             i_strdup
        - Src:             'data-stack.c:350,13'
          Dst:             t_pop
        - Src:             'data-stack.c:351,9'
          Dst:             t_strdup
        - Src:             'data-stack.c:352,2'
          Dst:             p_free_internal
    - functionName:    t_push_named
      functionSourceFile: '/src/dovecot/src/lib/data-stack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_push
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'data-stack.c:189,27'
          Dst:             t_push
    - functionName:    str_append_str
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dest
        - src
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:61,2'
          Dst:             buffer_append
    - functionName:    str_truncate
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - len
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_set_used_size
        - str_len
      functionUses:    1
      BranchProfiles:
        - Branch String:   './str.h:90,6'
          Branch Sides:
            - BranchSide:      './str.h:90,6'
              BranchSideFuncs:
                - buffer_set_used_size
            - BranchSide:      './str.h:91,24'
              BranchSideFuncs:
                - buffer_set_used_size
      Callsites:
        - Src:             './str.h:90,6'
          Dst:             str_len
        - Src:             './str.h:91,3'
          Dst:             buffer_set_used_size
    - functionName:    str_len
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_insert
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - pos
        - cstr
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_insert
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:72,32'
          Dst:             strlen
        - Src:             './str.h:72,2'
          Dst:             buffer_insert
    - functionName:    event_get_log_message_str_out
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - glmctx
        - fmt
        - args
      BBCount:         17
      ICount:          120
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - str_append
        - str_append_str
        - str_vprintfa
      functionUses:    3
      BranchProfiles:
        - Branch String:   'event-log.c:142,27'
          Branch Sides:
            - BranchSide:      'event-log.c:142,30'
              BranchSideFuncs: []
            - BranchSide:      'event-log.c:143,3'
              BranchSideFuncs: []
        - Branch String:   'event-log.c:142,6'
          Branch Sides:
            - BranchSide:      'event-log.c:143,3'
              BranchSideFuncs: []
            - BranchSide:      'event-log.c:146,6'
              BranchSideFuncs:
                - str_append_str
                - str_vprintfa
                - str_append.796
                - str_append.796
        - Branch String:   'event-log.c:146,38'
          Branch Sides:
            - BranchSide:      'event-log.c:146,42'
              BranchSideFuncs:
                - str_append.796
                - str_append_str
                - str_vprintfa
                - str_append.796
            - BranchSide:      'event-log.c:148,17'
              BranchSideFuncs:
                - str_append_str
                - str_vprintfa
                - str_append.796
        - Branch String:   'event-log.c:146,6'
          Branch Sides:
            - BranchSide:      'event-log.c:147,14'
              BranchSideFuncs:
                - str_append_str
                - str_vprintfa
                - str_append.796
            - BranchSide:      'event-log.c:148,17'
              BranchSideFuncs:
                - str_append_str
                - str_vprintfa
                - str_append.796
        - Branch String:   'event-log.c:150,6'
          Branch Sides:
            - BranchSide:      'event-log.c:152,14'
              BranchSideFuncs:
                - str_append.796
            - BranchSide:      'event-log.c:157,3'
              BranchSideFuncs:
                - str_vprintfa
      Callsites:
        - Src:             'event-log.c:147,3'
          Dst:             str_append
        - Src:             'event-log.c:148,2'
          Dst:             str_append_str
        - Src:             'event-log.c:152,3'
          Dst:             str_append
        - Src:             'event-log.c:158,3'
          Dst:             str_vprintfa
    - functionName:    str_append
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cstr
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:35,27'
          Dst:             strlen
        - Src:             './str.h:35,2'
          Dst:             buffer_append
    - functionName:    event_get_log_message
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - glmctx
        - prefixes_dropped
        - fmt
        - args
      BBCount:         63
      ICount:          411
      EdgeCount:       84
      CyclomaticComplexity: 23
      functionsReached:
        - event_get_log_message
        - event_get_log_message_str_out
        - str_append
        - str_c
        - str_insert
        - str_len
        - str_truncate
        - str_vprintfa
        - strlen
        - t_strdup
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-log.c:177,6'
          Branch Sides:
            - BranchSide:      'event-log.c:179,33'
              BranchSideFuncs:
                - event_get_log_message_str_out
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
                - str_c
                - str_len.795
                - str_append.796
                - str_truncate.794
                - t_strdup
                - str_vprintfa
                - str_insert
            - BranchSide:      'event-log.c:190,6'
              BranchSideFuncs:
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
                - str_c
                - str_len.795
                - str_append.796
                - str_truncate.794
                - t_strdup
                - str_vprintfa
        - Branch String:   'event-log.c:181,7'
          Branch Sides:
            - BranchSide:      'event-log.c:182,15'
              BranchSideFuncs:
                - str_insert
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
                - str_c
                - str_len.795
                - str_append.796
                - str_truncate.794
                - t_strdup
                - str_vprintfa
            - BranchSide:      'event-log.c:186,2'
              BranchSideFuncs:
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
                - str_c
                - str_len.795
                - str_append.796
                - str_truncate.794
                - t_strdup
                - str_vprintfa
        - Branch String:   'event-log.c:190,6'
          Branch Sides:
            - BranchSide:      'event-log.c:195,34'
              BranchSideFuncs:
                - str_c
                - str_len.795
                - str_append.796
                - str_truncate.794
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
                - t_strdup
                - str_vprintfa
            - BranchSide:      'event-log.c:223,6'
              BranchSideFuncs:
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
        - Branch String:   'event-log.c:196,7'
          Branch Sides:
            - BranchSide:      'event-log.c:197,17'
              BranchSideFuncs:
                - str_vprintfa
                - str_truncate.794
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
                - t_strdup
            - BranchSide:      'event-log.c:199,22'
              BranchSideFuncs:
                - str_len.795
                - str_append.796
                - str_truncate.794
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
                - t_strdup
        - Branch String:   'event-log.c:199,14'
          Branch Sides:
            - BranchSide:      'event-log.c:200,17'
              BranchSideFuncs:
                - str_truncate.794
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
                - t_strdup
            - BranchSide:      'event-log.c:202,15'
              BranchSideFuncs:
                - str_append.796
                - str_truncate.794
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
                - t_strdup
        - Branch String:   'event-log.c:210,7'
          Branch Sides:
            - BranchSide:      'event-log.c:214,31'
              BranchSideFuncs:
                - t_strdup
                - str_truncate.794
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
            - BranchSide:      'event-log.c:219,16'
              BranchSideFuncs:
                - str_truncate.794
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
        - Branch String:   'event-log.c:223,6'
          Branch Sides:
            - BranchSide:      'event-log.c:224,12'
              BranchSideFuncs:
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
            - BranchSide:      'event-log.c:227,6'
              BranchSideFuncs:
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
                - strlen
                - event_get_log_message_str_out
        - Branch String:   'event-log.c:227,6'
          Branch Sides:
            - BranchSide:      'event-log.c:229,3'
              BranchSideFuncs:
                - strlen
                - event_get_log_message_str_out
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
            - BranchSide:      'event-log.c:233,6'
              BranchSideFuncs:
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
        - Branch String:   'event-log.c:230,23'
          Branch Sides:
            - BranchSide:      'event-log.c:230,22'
              BranchSideFuncs:
                - event_get_log_message_str_out
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
            - BranchSide:      'event-log.c:230,51'
              BranchSideFuncs:
                - strlen
                - event_get_log_message_str_out
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
        - Branch String:   'event-log.c:233,6'
          Branch Sides:
            - BranchSide:      'event-log.c:234,7'
              BranchSideFuncs:
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
                - str_insert
            - BranchSide:      'event-log.c:241,6'
              BranchSideFuncs:
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
        - Branch String:   'event-log.c:234,33'
          Branch Sides:
            - BranchSide:      'event-log.c:234,36'
              BranchSideFuncs:
                - str_insert
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
            - BranchSide:      'event-log.c:235,15'
              BranchSideFuncs:
                - str_insert
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
        - Branch String:   'event-log.c:234,7'
          Branch Sides:
            - BranchSide:      'event-log.c:235,15'
              BranchSideFuncs:
                - str_insert
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
            - BranchSide:      'event-log.c:237,14'
              BranchSideFuncs:
                - event_get_log_message
                - event_get_log_message_str_out
                - str_insert
        - Branch String:   'event-log.c:241,6'
          Branch Sides:
            - BranchSide:      'event-log.c:242,33'
              BranchSideFuncs:
                - event_get_log_message_str_out
                - str_insert
            - BranchSide:      'event-log.c:250,14'
              BranchSideFuncs:
                - event_get_log_message
        - Branch String:   'event-log.c:243,34'
          Branch Sides:
            - BranchSide:      'event-log.c:244,7'
              BranchSideFuncs:
                - str_insert
            - BranchSide:      'event-log.c:250,2'
              BranchSideFuncs: []
        - Branch String:   'event-log.c:244,40'
          Branch Sides:
            - BranchSide:      'event-log.c:245,8'
              BranchSideFuncs:
                - str_insert
            - BranchSide:      'event-log.c:250,2'
              BranchSideFuncs: []
        - Branch String:   'event-log.c:243,7'
          Branch Sides:
            - BranchSide:      'event-log.c:246,15'
              BranchSideFuncs: []
            - BranchSide:      'event-log.c:250,2'
              BranchSideFuncs: []
        - Branch String:   'event-log.c:251,24'
          Branch Sides:
            - BranchSide:      'event-log.c:251,28'
              BranchSideFuncs:
                - event_get_log_message
            - BranchSide:      'event-log.c:252,23'
              BranchSideFuncs:
                - event_get_log_message
        - Branch String:   'event-log.c:253,7'
          Branch Sides:
            - BranchSide:      'event-log.c:255,8'
              BranchSideFuncs: []
            - BranchSide:      'event-log.c:256,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-log.c:179,3'
          Dst:             event_get_log_message_str_out
        - Src:             'event-log.c:182,4'
          Dst:             str_insert
        - Src:             'event-log.c:195,28'
          Dst:             str_c
        - Src:             'event-log.c:197,4'
          Dst:             str_vprintfa
        - Src:             'event-log.c:199,14'
          Dst:             str_len
        - Src:             'event-log.c:202,4'
          Dst:             str_append
        - Src:             'event-log.c:214,22'
          Dst:             t_strdup
        - Src:             'event-log.c:219,3'
          Dst:             str_truncate
        - Src:             'event-log.c:230,44'
          Dst:             strlen
        - Src:             'event-log.c:231,3'
          Dst:             event_get_log_message_str_out
        - Src:             'event-log.c:235,4'
          Dst:             str_insert
        - Src:             'event-log.c:242,3'
          Dst:             event_get_log_message_str_out
        - Src:             'event-log.c:246,4'
          Dst:             str_insert
        - Src:             'event-log.c:253,7'
          Dst:             event_get_log_message
    - functionName:    event_get_global_core_log_filter
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 481
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_unset_global_core_log_filter
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 488
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_unref
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-log.c:486,2'
          Branch Sides:
            - BranchSide:      'event-log.c:486,2'
              BranchSideFuncs:
                - event_filter_unref
            - BranchSide:      'event-log.c:486,2'
              BranchSideFuncs:
                - event_filter_unref
      Callsites:
        - Src:             'event-log.c:486,2'
          Dst:             event_filter_unref
    - functionName:    event_set_global_core_log_filter
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 472
      functionLinenumberEnd: 477
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_ref
        - event_unset_global_core_log_filter
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'event-log.c:473,2'
          Dst:             event_unset_global_core_log_filter
        - Src:             'event-log.c:475,2'
          Dst:             event_filter_ref
    - functionName:    event_get_global_debug_send_filter
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 461
      functionLinenumberEnd: 462
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_unset_global_debug_send_filter
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 469
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_unref
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-log.c:467,2'
          Branch Sides:
            - BranchSide:      'event-log.c:467,2'
              BranchSideFuncs:
                - event_filter_unref
            - BranchSide:      'event-log.c:467,2'
              BranchSideFuncs:
                - event_filter_unref
      Callsites:
        - Src:             'event-log.c:467,2'
          Dst:             event_filter_unref
    - functionName:    event_set_global_debug_send_filter
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_ref
        - event_unset_global_debug_send_filter
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'event-log.c:454,2'
          Dst:             event_unset_global_debug_send_filter
        - Src:             'event-log.c:456,2'
          Dst:             event_filter_ref
    - functionName:    event_get_global_debug_log_filter
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 442
      functionLinenumberEnd: 443
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_unset_global_debug_log_filter
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 447
      functionLinenumberEnd: 450
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_unref
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-log.c:448,2'
          Branch Sides:
            - BranchSide:      'event-log.c:448,2'
              BranchSideFuncs:
                - event_filter_unref
            - BranchSide:      'event-log.c:448,2'
              BranchSideFuncs:
                - event_filter_unref
      Callsites:
        - Src:             'event-log.c:448,2'
          Dst:             event_filter_unref
    - functionName:    event_set_global_debug_log_filter
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 439
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_ref
        - event_unset_global_debug_log_filter
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'event-log.c:435,2'
          Dst:             event_unset_global_debug_log_filter
        - Src:             'event-log.c:437,2'
          Dst:             event_filter_ref
    - functionName:    event_set_forced_never_debug
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 428
      functionLinenumberEnd: 430
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - event
        - force
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_unset_forced_debug
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 424
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_recalculate_debug_level
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'event-log.c:423,2'
          Dst:             event_recalculate_debug_level
    - functionName:    event_recalculate_debug_level
      functionSourceFile: '/src/dovecot/src/lib/./lib-event-private.h'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_set_forced_debug
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - event
        - force
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - event_recalculate_debug_level
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-log.c:414,6'
          Branch Sides:
            - BranchSide:      'event-log.c:414,6'
              BranchSideFuncs:
                - event_recalculate_debug_level
            - BranchSide:      'event-log.c:415,3'
              BranchSideFuncs:
                - event_recalculate_debug_level
      Callsites:
        - Src:             'event-log.c:416,2'
          Dst:             event_recalculate_debug_level
    - functionName:    event_logv_params
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 386
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - params
        - fmt
        - args
      BBCount:         40
      ICount:          248
      EdgeCount:       51
      CyclomaticComplexity: 13
      functionsReached:
        - abort
        - event_filter_match_source
        - event_get_log_message
        - event_send
        - event_vsend
        - i_panic
        - str_append
        - str_c
        - str_vprintfa
        - t_str_new
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-log.c:344,2'
          Branch Sides:
            - BranchSide:      'event-log.c:344,2'
              BranchSideFuncs:
                - t_str_new
                - event_get_log_message
                - event_vsend
                - abort
                - str_vprintfa
                - str_vprintfa
                - str_c
                - event_send
                - str_append.796
                - str_c
                - event_vsend
                - event_send
                - event_filter_match_source
                - i_panic
            - BranchSide:      'event-log.c:344,2'
              BranchSideFuncs:
                - t_str_new
                - event_get_log_message
                - event_vsend
                - abort
                - str_vprintfa
                - str_vprintfa
                - str_c
                - event_send
                - str_append.796
                - str_c
                - event_vsend
                - event_send
                - event_filter_match_source
                - i_panic
        - Branch String:   'event-log.c:344,2'
          Branch Sides:
            - BranchSide:      'event-log.c:344,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-log.c:346,6'
              BranchSideFuncs:
                - t_str_new
                - event_get_log_message
                - event_vsend
                - abort
                - str_vprintfa
                - str_vprintfa
                - str_c
                - event_send
                - str_append.796
                - str_c
                - event_vsend
                - event_send
                - event_filter_match_source
        - Branch String:   'event-log.c:346,37'
          Branch Sides:
            - BranchSide:      'event-log.c:347,32'
              BranchSideFuncs:
                - event_filter_match_source
                - t_str_new
                - event_get_log_message
                - event_vsend
                - abort
                - str_vprintfa
                - str_vprintfa
                - str_c
                - event_send
                - str_append.796
                - str_c
                - event_vsend
                - event_send
            - BranchSide:      'event-log.c:352,2'
              BranchSideFuncs:
                - t_str_new
                - event_get_log_message
                - event_vsend
                - abort
                - str_vprintfa
                - str_vprintfa
                - str_c
                - event_send
                - str_append.796
                - str_c
                - event_vsend
                - event_send
        - Branch String:   'event-log.c:346,6'
          Branch Sides:
            - BranchSide:      'event-log.c:350,21'
              BranchSideFuncs:
                - t_str_new
                - event_get_log_message
                - event_vsend
                - abort
                - str_vprintfa
                - str_vprintfa
                - str_c
                - event_send
                - str_append.796
                - str_c
                - event_vsend
                - event_send
            - BranchSide:      'event-log.c:352,2'
              BranchSideFuncs:
                - t_str_new
                - event_get_log_message
                - event_vsend
                - abort
                - str_vprintfa
                - str_vprintfa
                - str_c
                - event_send
                - str_append.796
                - str_c
                - event_vsend
                - event_send
        - Branch String:   'event-log.c:355,6'
          Branch Sides:
            - BranchSide:      'event-log.c:357,7'
              BranchSideFuncs:
                - str_vprintfa
                - str_c
                - event_send
                - abort
                - str_append.796
                - str_c
                - event_vsend
                - event_send
            - BranchSide:      'event-log.c:366,13'
              BranchSideFuncs:
                - str_vprintfa
                - str_c
                - event_send
                - abort
                - str_append.796
                - str_c
                - event_vsend
                - event_send
        - Branch String:   'event-log.c:357,36'
          Branch Sides:
            - BranchSide:      'event-log.c:357,47'
              BranchSideFuncs:
                - str_vprintfa
                - event_vsend
                - abort
            - BranchSide:      'event-log.c:364,8'
              BranchSideFuncs:
                - event_vsend
                - abort
        - Branch String:   'event-log.c:357,7'
          Branch Sides:
            - BranchSide:      'event-log.c:360,4'
              BranchSideFuncs:
                - event_vsend
                - abort
            - BranchSide:      'event-log.c:364,8'
              BranchSideFuncs:
                - event_vsend
                - abort
        - Branch String:   'event-log.c:364,7'
          Branch Sides:
            - BranchSide:      'event-log.c:365,16'
              BranchSideFuncs:
                - abort
            - BranchSide:      'event-log.c:366,2'
              BranchSideFuncs:
                - abort
        - Branch String:   'event-log.c:366,13'
          Branch Sides:
            - BranchSide:      'event-log.c:368,2'
              BranchSideFuncs:
                - abort
            - BranchSide:      'event-log.c:368,20'
              BranchSideFuncs:
                - str_vprintfa
                - str_c
                - event_send
                - abort
                - str_append.796
                - str_c
                - event_vsend
                - event_send
        - Branch String:   'event-log.c:368,13'
          Branch Sides:
            - BranchSide:      'event-log.c:370,33'
              BranchSideFuncs:
                - str_c
                - event_vsend
                - abort
                - event_send
            - BranchSide:      'event-log.c:378,14'
              BranchSideFuncs:
                - str_vprintfa
                - str_c
                - event_send
                - abort
                - str_append.796
        - Branch String:   'event-log.c:372,7'
          Branch Sides:
            - BranchSide:      'event-log.c:373,15'
              BranchSideFuncs:
                - event_send
                - abort
            - BranchSide:      'event-log.c:375,16'
              BranchSideFuncs:
                - event_vsend
                - abort
        - Branch String:   'event-log.c:378,7'
          Branch Sides:
            - BranchSide:      'event-log.c:379,22'
              BranchSideFuncs:
                - str_append.796
                - str_c
                - event_send
                - abort
            - BranchSide:      'event-log.c:381,24'
              BranchSideFuncs:
                - str_vprintfa
                - str_c
                - event_send
                - abort
        - Branch String:   'event-log.c:384,6'
          Branch Sides:
            - BranchSide:      'event-log.c:385,3'
              BranchSideFuncs:
                - abort
            - BranchSide:      'event-log.c:386,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-log.c:344,2'
          Dst:             i_panic
        - Src:             'event-log.c:347,6'
          Dst:             event_filter_match_source
        - Src:             'event-log.c:354,22'
          Dst:             t_str_new
        - Src:             'event-log.c:355,7'
          Dst:             event_get_log_message
        - Src:             'event-log.c:361,4'
          Dst:             str_vprintfa
        - Src:             'event-log.c:365,4'
          Dst:             event_vsend
        - Src:             'event-log.c:370,20'
          Dst:             str_c
        - Src:             'event-log.c:373,4'
          Dst:             event_send
        - Src:             'event-log.c:375,4'
          Dst:             event_vsend
        - Src:             'event-log.c:379,4'
          Dst:             str_append
        - Src:             'event-log.c:381,4'
          Dst:             str_vprintfa
        - Src:             'event-log.c:382,33'
          Dst:             str_c
        - Src:             'event-log.c:382,3'
          Dst:             event_send
        - Src:             'event-log.c:385,3'
          Dst:             abort
    - functionName:    event_want_log_level
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - event
        - level
        - source_filename
        - source_linenum
      BBCount:         28
      ICount:          174
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - event_filter_match_source
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-log.c:277,32'
          Branch Sides:
            - BranchSide:      'event-log.c:277,35'
              BranchSideFuncs:
                - event_filter_match_source
                - event_filter_match_source
            - BranchSide:      'event-log.c:279,6'
              BranchSideFuncs:
                - event_filter_match_source
                - event_filter_match_source
        - Branch String:   'event-log.c:277,6'
          Branch Sides:
            - BranchSide:      'event-log.c:278,3'
              BranchSideFuncs: []
            - BranchSide:      'event-log.c:279,6'
              BranchSideFuncs:
                - event_filter_match_source
                - event_filter_match_source
        - Branch String:   'event-log.c:279,6'
          Branch Sides:
            - BranchSide:      'event-log.c:281,3'
              BranchSideFuncs: []
            - BranchSide:      'event-log.c:284,6'
              BranchSideFuncs:
                - event_filter_match_source
                - event_filter_match_source
        - Branch String:   'event-log.c:284,6'
          Branch Sides:
            - BranchSide:      'event-log.c:289,10'
              BranchSideFuncs: []
            - BranchSide:      'event-log.c:292,3'
              BranchSideFuncs:
                - event_filter_match_source
                - event_filter_match_source
        - Branch String:   'event-log.c:294,6'
          Branch Sides:
            - BranchSide:      'event-log.c:296,3'
              BranchSideFuncs: []
            - BranchSide:      'event-log.c:297,13'
              BranchSideFuncs:
                - event_filter_match_source
                - event_filter_match_source
        - Branch String:   'event-log.c:297,45'
          Branch Sides:
            - BranchSide:      'event-log.c:298,32'
              BranchSideFuncs:
                - event_filter_match_source
                - event_filter_match_source
            - BranchSide:      'event-log.c:302,13'
              BranchSideFuncs:
                - event_filter_match_source
        - Branch String:   'event-log.c:297,13'
          Branch Sides:
            - BranchSide:      'event-log.c:301,3'
              BranchSideFuncs: []
            - BranchSide:      'event-log.c:302,13'
              BranchSideFuncs:
                - event_filter_match_source
        - Branch String:   'event-log.c:302,44'
          Branch Sides:
            - BranchSide:      'event-log.c:303,32'
              BranchSideFuncs:
                - event_filter_match_source
            - BranchSide:      'event-log.c:308,3'
              BranchSideFuncs: []
        - Branch String:   'event-log.c:302,13'
          Branch Sides:
            - BranchSide:      'event-log.c:306,3'
              BranchSideFuncs: []
            - BranchSide:      'event-log.c:308,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-log.c:298,6'
          Dst:             event_filter_match_source
        - Src:             'event-log.c:303,6'
          Dst:             event_filter_match_source
    - functionName:    event_log
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - params
        - fmt
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_logv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'event-log.c:266,2'
          Dst:             event_logv
    - functionName:    event_logv
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 390
      functionLinenumberEnd: 410
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - params
        - fmt
        - args
      BBCount:         6
      ICount:          87
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - event_logv_params
        - event_ref
        - event_set_source
        - event_unref
        - event_want_log_level
      functionUses:    6
      BranchProfiles:
        - Branch String:   'event-log.c:395,6'
          Branch Sides:
            - BranchSide:      'event-log.c:395,6'
              BranchSideFuncs:
                - event_set_source
                - event_want_log_level
                - event_ref
                - event_logv_params
                - event_set_source
                - event_unref
                - __errno_location
            - BranchSide:      'event-log.c:396,20'
              BranchSideFuncs:
                - event_set_source
                - event_want_log_level
                - event_ref
                - event_logv_params
                - event_set_source
                - event_unref
                - __errno_location
      Callsites:
        - Src:             'event-log.c:393,18'
          Dst:             __errno_location
        - Src:             'event-log.c:396,3'
          Dst:             event_set_source
        - Src:             'event-log.c:400,8'
          Dst:             event_want_log_level
        - Src:             'event-log.c:404,2'
          Dst:             event_ref
        - Src:             'event-log.c:405,2'
          Dst:             event_logv_params
        - Src:             'event-log.c:406,2'
          Dst:             event_set_source
        - Src:             'event-log.c:408,2'
          Dst:             event_unref
        - Src:             'event-log.c:409,2'
          Dst:             __errno_location
    - functionName:    e_log
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - level
        - source_filename
        - source_linenum
        - fmt
      BBCount:         9
      ICount:          73
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - event_logv
        - i_panic
        - t_pop
        - t_push
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-log.c:117,4'
          Branch Sides:
            - BranchSide:      'event-log.c:117,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-log.c:117,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-log.c:115,2'
          Dst:             t_push
        - Src:             'event-log.c:116,3'
          Dst:             event_logv
        - Src:             'event-log.c:117,4'
          Dst:             t_pop
        - Src:             'event-log.c:117,4'
          Dst:             i_panic
    - functionName:    e_debug
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - source_filename
        - source_linenum
        - fmt
      BBCount:         9
      ICount:          69
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - event_logv
        - i_panic
        - t_pop
        - t_push
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-log.c:98,4'
          Branch Sides:
            - BranchSide:      'event-log.c:98,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-log.c:98,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-log.c:96,2'
          Dst:             t_push
        - Src:             'event-log.c:97,3'
          Dst:             event_logv
        - Src:             'event-log.c:98,4'
          Dst:             t_pop
        - Src:             'event-log.c:98,4'
          Dst:             i_panic
    - functionName:    e_info
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - source_filename
        - source_linenum
        - fmt
      BBCount:         12
      ICount:          79
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - event_logv
        - event_send_abort
        - event_want_level
        - i_panic
        - t_pop
        - t_push
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-log.c:65,6'
          Branch Sides:
            - BranchSide:      'event-log.c:66,20'
              BranchSideFuncs:
                - t_push
                - event_logv
                - t_pop
                - i_panic
            - BranchSide:      'event-log.c:69,26'
              BranchSideFuncs:
                - t_push
                - event_logv
                - t_pop
                - i_panic
        - Branch String:   'event-log.c:79,4'
          Branch Sides:
            - BranchSide:      'event-log.c:79,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-log.c:79,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-log.c:65,7'
          Dst:             event_want_level
        - Src:             'event-log.c:66,3'
          Dst:             event_send_abort
        - Src:             'event-log.c:77,2'
          Dst:             t_push
        - Src:             'event-log.c:78,3'
          Dst:             event_logv
        - Src:             'event-log.c:79,4'
          Dst:             t_pop
        - Src:             'event-log.c:79,4'
          Dst:             i_panic
    - functionName:    event_want_level
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 317
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - event
        - level
        - source_filename
        - source_linenum
      BBCount:         11
      ICount:          63
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - event_filter_match_source
        - event_want_log_level
      functionUses:    5
      BranchProfiles:
        - Branch String:   'event-log.c:318,6'
          Branch Sides:
            - BranchSide:      'event-log.c:319,3'
              BranchSideFuncs: []
            - BranchSide:      'event-log.c:322,6'
              BranchSideFuncs:
                - event_filter_match_source
        - Branch String:   'event-log.c:322,6'
          Branch Sides:
            - BranchSide:      'event-log.c:323,26'
              BranchSideFuncs:
                - event_filter_match_source
            - BranchSide:      'event-log.c:330,2'
              BranchSideFuncs: []
        - Branch String:   'event-log.c:325,7'
          Branch Sides:
            - BranchSide:      'event-log.c:328,4'
              BranchSideFuncs: []
            - BranchSide:      'event-log.c:329,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-log.c:318,6'
          Dst:             event_want_log_level
        - Src:             'event-log.c:325,7'
          Dst:             event_filter_match_source
    - functionName:    e_warning
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - source_filename
        - source_linenum
        - fmt
      BBCount:         12
      ICount:          79
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - event_logv
        - event_send_abort
        - event_want_level
        - i_panic
        - t_pop
        - t_push
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-log.c:42,6'
          Branch Sides:
            - BranchSide:      'event-log.c:43,20'
              BranchSideFuncs:
                - t_push
                - event_logv
                - t_pop
                - i_panic
            - BranchSide:      'event-log.c:46,26'
              BranchSideFuncs:
                - t_push
                - event_logv
                - t_pop
                - i_panic
        - Branch String:   'event-log.c:56,4'
          Branch Sides:
            - BranchSide:      'event-log.c:56,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-log.c:56,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-log.c:42,7'
          Dst:             event_want_level
        - Src:             'event-log.c:43,3'
          Dst:             event_send_abort
        - Src:             'event-log.c:54,2'
          Dst:             t_push
        - Src:             'event-log.c:55,3'
          Dst:             event_logv
        - Src:             'event-log.c:56,4'
          Dst:             t_pop
        - Src:             'event-log.c:56,4'
          Dst:             i_panic
    - functionName:    e_error
      functionSourceFile: '/src/dovecot/src/lib/event-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - source_filename
        - source_linenum
        - fmt
      BBCount:         12
      ICount:          79
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - event_logv
        - event_send_abort
        - event_want_level
        - i_panic
        - t_pop
        - t_push
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-log.c:19,6'
          Branch Sides:
            - BranchSide:      'event-log.c:20,20'
              BranchSideFuncs:
                - t_push
                - event_logv
                - t_pop
                - i_panic
            - BranchSide:      'event-log.c:23,26'
              BranchSideFuncs:
                - t_push
                - event_logv
                - t_pop
                - i_panic
        - Branch String:   'event-log.c:33,4'
          Branch Sides:
            - BranchSide:      'event-log.c:33,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-log.c:33,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-log.c:19,7'
          Dst:             event_want_level
        - Src:             'event-log.c:20,3'
          Dst:             event_send_abort
        - Src:             'event-log.c:31,2'
          Dst:             t_push
        - Src:             'event-log.c:32,3'
          Dst:             event_logv
        - Src:             'event-log.c:33,4'
          Dst:             t_pop
        - Src:             'event-log.c:33,4'
          Dst:             i_panic
    - functionName:    str_truncate
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - len
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_set_used_size
        - str_len
      functionUses:    1
      BranchProfiles:
        - Branch String:   './str.h:90,6'
          Branch Sides:
            - BranchSide:      './str.h:90,6'
              BranchSideFuncs:
                - buffer_set_used_size
            - BranchSide:      './str.h:91,24'
              BranchSideFuncs:
                - buffer_set_used_size
      Callsites:
        - Src:             './str.h:90,6'
          Dst:             str_len
        - Src:             './str.h:91,3'
          Dst:             buffer_set_used_size
    - functionName:    str_len
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    internal_send_split
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 775
      functionLinenumberEnd: 821
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - full_str
        - prefix_len
      BBCount:         21
      ICount:          156
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - log_fd_write
        - str_append_c
        - str_append_data
        - str_append_max
        - str_c
        - str_data
        - str_len
        - str_truncate
        - strchr
        - t_str_new
      functionUses:    1
      BranchProfiles:
        - Branch String:   'failures.c:794,6'
          Branch Sides:
            - BranchSide:      'failures.c:795,18'
              BranchSideFuncs:
                - str_len.904
                - str_truncate.903
                - str_c
                - strchr
                - str_append_data.906
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_append_max
                - str_append_c.907
            - BranchSide:      'failures.c:798,16'
              BranchSideFuncs:
                - str_len.904
                - str_truncate.903
                - str_c
                - strchr
                - str_append_data.906
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_append_max
                - str_append_c.907
        - Branch String:   'failures.c:795,18'
          Branch Sides:
            - BranchSide:      'failures.c:795,16'
              BranchSideFuncs:
                - str_len.904
                - str_truncate.903
                - str_c
                - strchr
                - str_append_data.906
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_append_max
                - str_append_c.907
            - BranchSide:      'failures.c:795,16'
              BranchSideFuncs:
                - str_len.904
                - str_truncate.903
                - str_c
                - strchr
                - str_append_data.906
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_append_max
                - str_append_c.907
        - Branch String:   'failures.c:801,2'
          Branch Sides:
            - BranchSide:      'failures.c:802,16'
              BranchSideFuncs:
                - str_truncate.903
                - str_c
                - strchr
                - str_append_data.906
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_len.904
                - str_append_max
                - str_append_c.907
            - BranchSide:      'failures.c:820,2'
              BranchSideFuncs: []
        - Branch String:   'failures.c:806,18'
          Branch Sides:
            - BranchSide:      'failures.c:806,30'
              BranchSideFuncs:
                - str_append_max
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_len.904
                - str_truncate.903
                - str_c
                - strchr
                - str_append_data.906
            - BranchSide:      'failures.c:807,19'
              BranchSideFuncs:
                - str_append_max
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_len.904
                - str_truncate.903
                - str_c
                - strchr
                - str_append_data.906
        - Branch String:   'failures.c:806,7'
          Branch Sides:
            - BranchSide:      'failures.c:807,19'
              BranchSideFuncs:
                - str_append_max
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_len.904
                - str_truncate.903
                - str_c
                - strchr
                - str_append_data.906
            - BranchSide:      'failures.c:812,15'
              BranchSideFuncs:
                - str_append_data.906
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_len.904
                - str_truncate.903
                - str_c
                - strchr
                - str_append_max
                - str_append_c.907
        - Branch String:   'failures.c:815,7'
          Branch Sides:
            - BranchSide:      'failures.c:817,4'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:818,10'
              BranchSideFuncs:
                - str_len.904
                - str_truncate.903
                - str_c
                - strchr
                - str_append_data.906
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_append_max
                - str_append_c.907
      Callsites:
        - Src:             'failures.c:792,8'
          Dst:             t_str_new
        - Src:             'failures.c:793,23'
          Dst:             str_data
        - Src:             'failures.c:793,2'
          Dst:             str_append_data
        - Src:             'failures.c:801,15'
          Dst:             str_len
        - Src:             'failures.c:802,3'
          Dst:             str_truncate
        - Src:             'failures.c:803,22'
          Dst:             str_c
        - Src:             'failures.c:804,20'
          Dst:             strchr
        - Src:             'failures.c:807,4'
          Dst:             str_append_max
        - Src:             'failures.c:808,4'
          Dst:             str_append_c
        - Src:             'failures.c:813,4'
          Dst:             str_append_data
        - Src:             'failures.c:816,6'
          Dst:             str_data
        - Src:             'failures.c:816,21'
          Dst:             str_len
        - Src:             'failures.c:815,7'
          Dst:             log_fd_write
    - functionName:    str_data
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_append_data
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - data
        - len
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:39,2'
          Dst:             buffer_append
    - functionName:    str_append_c
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - str
        - chr
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_c
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:44,2'
          Dst:             buffer_append_c
    - functionName:    log_fd_write
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 442
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - fd
        - data
        - len
      BBCount:         33
      ICount:          180
      EdgeCount:       41
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - fd_wait_writable
        - process_title_get
        - process_title_set
        - t_strdup
        - t_strdup_printf
        - write
      functionUses:    5
      BranchProfiles:
        - Branch String:   'failures.c:380,17'
          Branch Sides:
            - BranchSide:      'failures.c:380,2'
              BranchSideFuncs:
                - process_title_set
                - __errno_location
                - write
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - __errno_location
            - BranchSide:      'failures.c:381,22'
              BranchSideFuncs:
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - __errno_location
        - Branch String:   'failures.c:380,2'
          Branch Sides:
            - BranchSide:      'failures.c:382,7'
              BranchSideFuncs:
                - __errno_location
                - write
                - process_title_set
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - __errno_location
            - BranchSide:      'failures.c:440,6'
              BranchSideFuncs:
                - process_title_set
        - Branch String:   'failures.c:382,7'
          Branch Sides:
            - BranchSide:      'failures.c:384,12'
              BranchSideFuncs:
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - __errno_location
            - BranchSide:      'failures.c:388,7'
              BranchSideFuncs:
                - __errno_location
                - write
                - process_title_set
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - __errno_location
        - Branch String:   'failures.c:388,7'
          Branch Sides:
            - BranchSide:      'failures.c:390,4'
              BranchSideFuncs:
                - __errno_location
                - process_title_set
            - BranchSide:      'failures.c:394,11'
              BranchSideFuncs:
                - __errno_location
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
        - Branch String:   'failures.c:394,3'
          Branch Sides:
            - BranchSide:      'failures.c:406,9'
              BranchSideFuncs:
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - write
                - process_title_set
                - __errno_location
                - __errno_location
            - BranchSide:      'failures.c:422,8'
              BranchSideFuncs:
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - __errno_location
            - BranchSide:      'failures.c:435,11'
              BranchSideFuncs:
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - __errno_location
        - Branch String:   'failures.c:406,8'
          Branch Sides:
            - BranchSide:      'failures.c:409,27'
              BranchSideFuncs:
                - fd_wait_writable
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - __errno_location
            - BranchSide:      'failures.c:418,21'
              BranchSideFuncs:
                - fd_wait_writable
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - __errno_location
        - Branch String:   'failures.c:411,9'
          Branch Sides:
            - BranchSide:      'failures.c:412,12'
              BranchSideFuncs:
                - process_title_set
                - fd_wait_writable
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - __errno_location
            - BranchSide:      'failures.c:415,9'
              BranchSideFuncs:
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - __errno_location
        - Branch String:   'failures.c:422,8'
          Branch Sides:
            - BranchSide:      'failures.c:424,4'
              BranchSideFuncs:
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - __errno_location
            - BranchSide:      'failures.c:424,35'
              BranchSideFuncs:
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - __errno_location
        - Branch String:   'failures.c:424,15'
          Branch Sides:
            - BranchSide:      'failures.c:427,4'
              BranchSideFuncs:
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - __errno_location
            - BranchSide:      'failures.c:430,12'
              BranchSideFuncs:
                - write
                - process_title_set
                - __errno_location
                - process_title_get
                - t_strdup
                - t_strdup_printf
                - process_title_set
                - fd_wait_writable
                - __errno_location
        - Branch String:   'failures.c:440,6'
          Branch Sides:
            - BranchSide:      'failures.c:440,6'
              BranchSideFuncs:
                - process_title_set
            - BranchSide:      'failures.c:441,21'
              BranchSideFuncs:
                - process_title_set
      Callsites:
        - Src:             'failures.c:381,16'
          Dst:             write
        - Src:             'failures.c:390,4'
          Dst:             __errno_location
        - Src:             'failures.c:394,11'
          Dst:             __errno_location
        - Src:             'failures.c:410,26'
          Dst:             process_title_get
        - Src:             'failures.c:410,17'
          Dst:             t_strdup
        - Src:             'failures.c:414,14'
          Dst:             t_strdup_printf
        - Src:             'failures.c:416,5'
          Dst:             process_title_set
        - Src:             'failures.c:418,4'
          Dst:             fd_wait_writable
        - Src:             'failures.c:441,3'
          Dst:             process_title_set
    - functionName:    write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fd_wait_writable
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 370
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - fd
      BBCount:         8
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - abort
        - poll
      functionUses:    1
      BranchProfiles:
        - Branch String:   'failures.c:365,28'
          Branch Sides:
            - BranchSide:      'failures.c:365,31'
              BranchSideFuncs:
                - __errno_location
                - abort
            - BranchSide:      'failures.c:365,28'
              BranchSideFuncs: []
        - Branch String:   'failures.c:365,6'
          Branch Sides:
            - BranchSide:      'failures.c:365,6'
              BranchSideFuncs:
                - abort
            - BranchSide:      'failures.c:368,3'
              BranchSideFuncs:
                - abort
      Callsites:
        - Src:             'failures.c:365,6'
          Dst:             poll
        - Src:             'failures.c:365,31'
          Dst:             __errno_location
        - Src:             'failures.c:368,3'
          Dst:             abort
    - functionName:    poll
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_failure_send_option_forced
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 732
      functionLinenumberEnd: 738
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - key
        - value
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - log_fd_write
        - strlen
        - t_strdup_printf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:735,8'
          Dst:             t_strdup_printf
        - Src:             'failures.c:738,8'
          Dst:             strlen
        - Src:             'failures.c:737,9'
          Dst:             log_fd_write
    - functionName:    internal_write
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         28
      ICount:          182
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - i_failure_send_option_forced
        - internal_send_split
        - log_fd_write
        - log_prefix_sanitize
        - str_append
        - str_append_c
        - str_c
        - str_data
        - str_len
        - str_printfa
        - str_vprintfa
        - strchr
        - t_str_new
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:199,6'
          Branch Sides:
            - BranchSide:      'failures.c:200,12'
              BranchSideFuncs:
                - t_str_new
                - str_printfa
                - str_len.904
                - str_vprintfa
                - str_len.904
                - internal_send_split
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - log_prefix_sanitize
                - str_append.914
                - str_printfa
            - BranchSide:      'failures.c:203,14'
              BranchSideFuncs:
                - t_str_new
                - str_printfa
                - str_len.904
                - str_vprintfa
                - str_len.904
                - internal_send_split
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - log_prefix_sanitize
                - str_append.914
                - str_printfa
                - i_failure_send_option_forced
        - Branch String:   'failures.c:201,7'
          Branch Sides:
            - BranchSide:      'failures.c:202,13'
              BranchSideFuncs:
                - t_str_new
                - str_printfa
                - str_len.904
                - str_vprintfa
                - str_len.904
                - internal_send_split
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - log_prefix_sanitize
                - str_append.914
                - str_printfa
            - BranchSide:      'failures.c:203,2'
              BranchSideFuncs:
                - t_str_new
                - str_printfa
                - str_len.904
                - str_vprintfa
                - str_len.904
                - internal_send_split
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - log_prefix_sanitize
                - str_append.914
                - str_printfa
        - Branch String:   'failures.c:204,7'
          Branch Sides:
            - BranchSide:      'failures.c:208,4'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:210,19'
              BranchSideFuncs:
                - t_str_new
                - str_printfa
                - str_len.904
                - str_vprintfa
                - str_len.904
                - internal_send_split
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - log_prefix_sanitize
                - str_append.914
                - str_printfa
        - Branch String:   'failures.c:215,6'
          Branch Sides:
            - BranchSide:      'failures.c:216,15'
              BranchSideFuncs:
                - str_printfa
                - str_len.904
                - str_vprintfa
                - str_len.904
                - internal_send_split
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - log_prefix_sanitize
                - str_append.914
            - BranchSide:      'failures.c:217,6'
              BranchSideFuncs:
                - str_len.904
                - str_vprintfa
                - str_len.904
                - internal_send_split
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - log_prefix_sanitize
                - str_append.914
        - Branch String:   'failures.c:217,6'
          Branch Sides:
            - BranchSide:      'failures.c:218,14'
              BranchSideFuncs:
                - log_prefix_sanitize
                - str_append.914
                - str_len.904
                - str_vprintfa
                - str_len.904
                - internal_send_split
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
            - BranchSide:      'failures.c:219,30'
              BranchSideFuncs:
                - str_len.904
                - str_vprintfa
                - str_len.904
                - internal_send_split
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
        - Branch String:   'failures.c:223,34'
          Branch Sides:
            - BranchSide:      'failures.c:223,50'
              BranchSideFuncs:
                - str_c
                - strchr
                - internal_send_split
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
            - BranchSide:      'failures.c:229,29'
              BranchSideFuncs:
                - internal_send_split
        - Branch String:   'failures.c:223,6'
          Branch Sides:
            - BranchSide:      'failures.c:225,3'
              BranchSideFuncs:
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
            - BranchSide:      'failures.c:229,29'
              BranchSideFuncs:
                - internal_send_split
      Callsites:
        - Src:             'failures.c:204,7'
          Dst:             i_failure_send_option_forced
        - Src:             'failures.c:213,9'
          Dst:             t_str_new
        - Src:             'failures.c:214,2'
          Dst:             str_printfa
        - Src:             'failures.c:216,3'
          Dst:             str_printfa
        - Src:             'failures.c:218,20'
          Dst:             log_prefix_sanitize
        - Src:             'failures.c:218,3'
          Dst:             str_append
        - Src:             'failures.c:219,22'
          Dst:             str_len
        - Src:             'failures.c:221,2'
          Dst:             str_vprintfa
        - Src:             'failures.c:223,6'
          Dst:             str_len
        - Src:             'failures.c:223,44'
          Dst:             str_c
        - Src:             'failures.c:223,37'
          Dst:             strchr
        - Src:             'failures.c:225,3'
          Dst:             str_append_c
        - Src:             'failures.c:227,9'
          Dst:             str_data
        - Src:             'failures.c:227,25'
          Dst:             str_len
        - Src:             'failures.c:226,10'
          Dst:             log_fd_write
        - Src:             'failures.c:229,9'
          Dst:             internal_send_split
    - functionName:    log_prefix_sanitize
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_str_replace
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:77,9'
          Dst:             t_str_replace
    - functionName:    str_append
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cstr
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:35,27'
          Dst:             strlen
        - Src:             './str.h:35,2'
          Dst:             buffer_append
    - functionName:    syslog_write
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         31
      ICount:          192
      EdgeCount:       33
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - i_unreached
        - log_prefix_add
        - log_prefix_sanitize
        - str_append
        - str_c
        - str_c_modifiable
        - str_delete
        - str_len
        - str_vprintfa
        - strchr
        - syslog
        - t_str_new
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:140,6'
          Branch Sides:
            - BranchSide:      'failures.c:141,7'
              BranchSideFuncs:
                - str_len.904
                - str_vprintfa
                - i_unreached
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - str_c_modifiable
                - str_c
                - syslog
                - str_delete
                - i_panic
                - str_append.914
                - log_prefix_sanitize
                - str_append.914
            - BranchSide:      'failures.c:146,18'
              BranchSideFuncs:
                - log_prefix_add
                - str_len.904
                - str_vprintfa
                - i_unreached
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - str_c_modifiable
                - str_c
                - syslog
                - str_delete
                - i_panic
        - Branch String:   'failures.c:141,7'
          Branch Sides:
            - BranchSide:      'failures.c:142,15'
              BranchSideFuncs:
                - log_prefix_sanitize
                - str_append.914
                - str_len.904
                - str_vprintfa
                - i_unreached
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - str_c_modifiable
                - str_c
                - syslog
                - str_delete
                - i_panic
            - BranchSide:      'failures.c:143,12'
              BranchSideFuncs:
                - str_len.904
                - str_vprintfa
                - i_unreached
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - str_c_modifiable
                - str_c
                - syslog
                - str_delete
                - i_panic
                - str_append.914
        - Branch String:   'failures.c:152,2'
          Branch Sides:
            - BranchSide:      'failures.c:154,9'
              BranchSideFuncs:
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - str_c_modifiable
                - str_c
                - syslog
                - str_delete
                - i_panic
            - BranchSide:      'failures.c:157,9'
              BranchSideFuncs:
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - str_c_modifiable
                - str_c
                - syslog
                - str_delete
                - i_panic
            - BranchSide:      'failures.c:160,9'
              BranchSideFuncs:
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - str_c_modifiable
                - str_c
                - syslog
                - str_delete
                - i_panic
            - BranchSide:      'failures.c:163,9'
              BranchSideFuncs:
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - str_c_modifiable
                - str_c
                - syslog
                - str_delete
                - i_panic
            - BranchSide:      'failures.c:167,9'
              BranchSideFuncs:
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - str_c_modifiable
                - str_c
                - syslog
                - str_delete
                - i_panic
            - BranchSide:      'failures.c:167,9'
              BranchSideFuncs:
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - str_c_modifiable
                - str_c
                - syslog
                - str_delete
                - i_panic
            - BranchSide:      'failures.c:171,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'failures.c:171,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'failures.c:174,2'
              BranchSideFuncs:
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - str_c_modifiable
                - str_c
                - syslog
                - str_delete
                - i_panic
        - Branch String:   'failures.c:174,2'
          Branch Sides:
            - BranchSide:      'failures.c:175,21'
              BranchSideFuncs:
                - str_c_modifiable
                - str_c
                - syslog
                - str_delete
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - i_panic
            - BranchSide:      'failures.c:183,9'
              BranchSideFuncs:
                - str_c
                - syslog
        - Branch String:   'failures.c:179,3'
          Branch Sides:
            - BranchSide:      'failures.c:179,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'failures.c:180,14'
              BranchSideFuncs:
                - str_delete
                - str_c_modifiable
                - strchr
                - str_c
                - syslog
                - str_c_modifiable
                - str_c
                - syslog
                - i_panic
      Callsites:
        - Src:             'failures.c:139,19'
          Dst:             t_str_new
        - Src:             'failures.c:142,21'
          Dst:             log_prefix_sanitize
        - Src:             'failures.c:142,4'
          Dst:             str_append
        - Src:             'failures.c:144,4'
          Dst:             str_append
        - Src:             'failures.c:146,3'
          Dst:             log_prefix_add
        - Src:             'failures.c:148,22'
          Dst:             str_len
        - Src:             'failures.c:149,2'
          Dst:             str_vprintfa
        - Src:             'failures.c:171,3'
          Dst:             i_unreached
        - Src:             'failures.c:174,21'
          Dst:             str_c_modifiable
        - Src:             'failures.c:174,14'
          Dst:             strchr
        - Src:             'failures.c:175,25'
          Dst:             str_c_modifiable
        - Src:             'failures.c:177,23'
          Dst:             str_c
        - Src:             'failures.c:177,3'
          Dst:             syslog
        - Src:             'failures.c:179,3'
          Dst:             i_panic
        - Src:             'failures.c:180,3'
          Dst:             str_delete
        - Src:             'failures.c:183,22'
          Dst:             str_c
        - Src:             'failures.c:183,2'
          Dst:             syslog
    - functionName:    log_prefix_add
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - str
      BBCount:         16
      ICount:          126
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - log_prefix_sanitize
        - str_append
        - str_append_data
        - strlen
      functionUses:    2
      BranchProfiles:
        - Branch String:   'failures.c:339,6'
          Branch Sides:
            - BranchSide:      'failures.c:341,7'
              BranchSideFuncs:
                - str_append.914
                - str_append.914
            - BranchSide:      'failures.c:344,13'
              BranchSideFuncs:
                - log_prefix_sanitize
                - strlen
                - str_append_data.906
                - str_append.914
                - str_append.914
                - i_panic
                - log_prefix_sanitize
                - str_append.914
                - str_append.914
        - Branch String:   'failures.c:341,7'
          Branch Sides:
            - BranchSide:      'failures.c:342,15'
              BranchSideFuncs:
                - str_append.914
                - str_append.914
            - BranchSide:      'failures.c:343,14'
              BranchSideFuncs:
                - str_append.914
        - Branch String:   'failures.c:344,13'
          Branch Sides:
            - BranchSide:      'failures.c:345,14'
              BranchSideFuncs:
                - log_prefix_sanitize
                - str_append.914
                - str_append.914
            - BranchSide:      'failures.c:348,44'
              BranchSideFuncs:
                - log_prefix_sanitize
                - strlen
                - str_append_data.906
                - str_append.914
                - str_append.914
                - i_panic
        - Branch String:   'failures.c:349,3'
          Branch Sides:
            - BranchSide:      'failures.c:349,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'failures.c:350,19'
              BranchSideFuncs:
                - str_append_data.906
                - str_append.914
                - str_append.914
      Callsites:
        - Src:             'failures.c:342,4'
          Dst:             str_append
        - Src:             'failures.c:343,3'
          Dst:             str_append
        - Src:             'failures.c:345,19'
          Dst:             log_prefix_sanitize
        - Src:             'failures.c:345,3'
          Dst:             str_append
        - Src:             'failures.c:346,3'
          Dst:             str_append
        - Src:             'failures.c:348,24'
          Dst:             log_prefix_sanitize
        - Src:             'failures.c:349,3'
          Dst:             strlen
        - Src:             'failures.c:349,3'
          Dst:             i_panic
        - Src:             'failures.c:350,3'
          Dst:             str_append_data
        - Src:             'failures.c:351,3'
          Dst:             str_append
        - Src:             'failures.c:352,3'
          Dst:             str_append
    - functionName:    i_unreached
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1018
      functionLinenumberEnd: 1020
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source_filename
        - source_linenum
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    33
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:1020,2'
          Dst:             i_panic
    - functionName:    syslog
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_panic
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 516
      functionLinenumberEnd: 526
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - lib_set_clean_exit
      functionUses:    616
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:521,2'
          Dst:             lib_set_clean_exit
    - functionName:    str_delete
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - str
        - pos
        - len
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_delete
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:77,2'
          Dst:             buffer_delete
    - functionName:    default_fatal_handler
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 481
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - fatal_handler_real
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:481,2'
          Dst:             fatal_handler_real
    - functionName:    fatal_handler_real
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 468
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         8
      ICount:          56
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - common_handler
        - default_fatal_finish
      functionUses:    3
      BranchProfiles:
        - Branch String:   'failures.c:470,44'
          Branch Sides:
            - BranchSide:      'failures.c:471,6'
              BranchSideFuncs:
                - default_fatal_finish
            - BranchSide:      'failures.c:473,23'
              BranchSideFuncs:
                - default_fatal_finish
        - Branch String:   'failures.c:470,6'
          Branch Sides:
            - BranchSide:      'failures.c:472,28'
              BranchSideFuncs:
                - default_fatal_finish
            - BranchSide:      'failures.c:473,23'
              BranchSideFuncs:
                - default_fatal_finish
      Callsites:
        - Src:             'failures.c:470,6'
          Dst:             common_handler
        - Src:             'failures.c:473,2'
          Dst:             default_fatal_finish
    - functionName:    common_handler
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         17
      ICount:          93
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - t_pop
        - t_push
      functionUses:    2
      BranchProfiles:
        - Branch String:   'failures.c:261,6'
          Branch Sides:
            - BranchSide:      'failures.c:264,3'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:266,10'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
        - Branch String:   'failures.c:270,4'
          Branch Sides:
            - BranchSide:      'failures.c:270,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'failures.c:270,4'
              BranchSideFuncs: []
        - Branch String:   'failures.c:272,14'
          Branch Sides:
            - BranchSide:      'failures.c:272,17'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:275,10'
              BranchSideFuncs: []
        - Branch String:   'failures.c:272,6'
          Branch Sides:
            - BranchSide:      'failures.c:273,7'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:275,10'
              BranchSideFuncs: []
      Callsites:
        - Src:             'failures.c:268,2'
          Dst:             t_push
        - Src:             'failures.c:270,4'
          Dst:             t_pop
        - Src:             'failures.c:270,4'
          Dst:             i_panic
    - functionName:    default_fatal_finish
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 447
      functionLinenumberEnd: 463
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - type
        - status
      BBCount:         24
      ICount:          108
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - abort
        - backtrace_get
        - failure_exit
        - getenv
        - i_error
      functionUses:    1
      BranchProfiles:
        - Branch String:   'failures.c:452,30'
          Branch Sides:
            - BranchSide:      'failures.c:452,33'
              BranchSideFuncs:
                - getenv
                - failure_exit
                - getenv
                - abort
                - backtrace_get
                - i_error
            - BranchSide:      'failures.c:453,6'
              BranchSideFuncs:
                - getenv
                - failure_exit
                - getenv
                - abort
                - backtrace_get
                - i_error
        - Branch String:   'failures.c:452,59'
          Branch Sides:
            - BranchSide:      'failures.c:453,6'
              BranchSideFuncs:
                - getenv
                - failure_exit
                - getenv
                - abort
                - backtrace_get
                - i_error
            - BranchSide:      'failures.c:457,10'
              BranchSideFuncs:
                - getenv
                - failure_exit
                - getenv
                - abort
        - Branch String:   'failures.c:452,6'
          Branch Sides:
            - BranchSide:      'failures.c:454,7'
              BranchSideFuncs:
                - backtrace_get
                - getenv
                - failure_exit
                - getenv
                - abort
                - i_error
            - BranchSide:      'failures.c:457,10'
              BranchSideFuncs:
                - getenv
                - failure_exit
                - getenv
                - abort
        - Branch String:   'failures.c:454,7'
          Branch Sides:
            - BranchSide:      'failures.c:455,33'
              BranchSideFuncs:
                - i_error
                - getenv
                - failure_exit
                - getenv
                - abort
            - BranchSide:      'failures.c:456,2'
              BranchSideFuncs:
                - getenv
                - failure_exit
                - getenv
                - abort
        - Branch String:   'failures.c:459,29'
          Branch Sides:
            - BranchSide:      'failures.c:459,32'
              BranchSideFuncs:
                - abort
            - BranchSide:      'failures.c:461,3'
              BranchSideFuncs:
                - abort
        - Branch String:   'failures.c:459,61'
          Branch Sides:
            - BranchSide:      'failures.c:460,7'
              BranchSideFuncs:
                - abort
            - BranchSide:      'failures.c:461,3'
              BranchSideFuncs:
                - abort
        - Branch String:   'failures.c:460,32'
          Branch Sides:
            - BranchSide:      'failures.c:460,35'
              BranchSideFuncs:
                - getenv
                - failure_exit
                - abort
            - BranchSide:      'failures.c:463,16'
              BranchSideFuncs:
                - failure_exit
        - Branch String:   'failures.c:459,6'
          Branch Sides:
            - BranchSide:      'failures.c:461,3'
              BranchSideFuncs:
                - abort
            - BranchSide:      'failures.c:463,16'
              BranchSideFuncs:
                - failure_exit
      Callsites:
        - Src:             'failures.c:454,7'
          Dst:             backtrace_get
        - Src:             'failures.c:455,4'
          Dst:             i_error
        - Src:             'failures.c:459,32'
          Dst:             getenv
        - Src:             'failures.c:460,35'
          Dst:             getenv
        - Src:             'failures.c:461,3'
          Dst:             abort
        - Src:             'failures.c:463,3'
          Dst:             failure_exit
    - functionName:    i_error
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 564
      functionLinenumberEnd: 573
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
      functionUses:    43
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:565,18'
          Dst:             __errno_location
        - Src:             'failures.c:572,2'
          Dst:             __errno_location
    - functionName:    getenv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    failure_exit
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - status
      BBCount:         8
      ICount:          39
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lib_exit
      functionUses:    5
      BranchProfiles:
        - Branch String:   'failures.c:310,36'
          Branch Sides:
            - BranchSide:      'failures.c:310,40'
              BranchSideFuncs:
                - lib_exit
            - BranchSide:      'failures.c:314,11'
              BranchSideFuncs:
                - lib_exit
        - Branch String:   'failures.c:310,6'
          Branch Sides:
            - BranchSide:      'failures.c:311,12'
              BranchSideFuncs:
                - lib_exit
            - BranchSide:      'failures.c:314,11'
              BranchSideFuncs:
                - lib_exit
      Callsites:
        - Src:             'failures.c:314,2'
          Dst:             lib_exit
    - functionName:    default_error_handler
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 490
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - error_handler_real
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:489,2'
          Dst:             error_handler_real
    - functionName:    error_handler_real
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 281
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         11
      ICount:          64
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - abort
        - common_handler
      functionUses:    3
      BranchProfiles:
        - Branch String:   'failures.c:282,6'
          Branch Sides:
            - BranchSide:      'failures.c:283,19'
              BranchSideFuncs:
                - abort
            - BranchSide:      'failures.c:284,6'
              BranchSideFuncs:
                - abort
        - Branch String:   'failures.c:284,34'
          Branch Sides:
            - BranchSide:      'failures.c:284,37'
              BranchSideFuncs:
                - abort
            - BranchSide:      'failures.c:284,34'
              BranchSideFuncs: []
        - Branch String:   'failures.c:284,6'
          Branch Sides:
            - BranchSide:      'failures.c:284,6'
              BranchSideFuncs:
                - abort
            - BranchSide:      'failures.c:285,3'
              BranchSideFuncs:
                - abort
      Callsites:
        - Src:             'failures.c:282,6'
          Dst:             common_handler
        - Src:             'failures.c:285,3'
          Dst:             abort
    - functionName:    default_write
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         13
      ICount:          122
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - log_fd_write
        - log_prefix_add
        - log_timestamp_add
        - printf_format_fix
        - str_append_c
        - str_c
        - str_data
        - str_delete
        - str_len
        - str_vprintfa
        - strchr
        - t_str_new
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:93,2'
          Branch Sides:
            - BranchSide:      'failures.c:95,8'
              BranchSideFuncs:
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_c
                - str_data.905
                - log_fd_write
                - str_delete
            - BranchSide:      'failures.c:98,8'
              BranchSideFuncs:
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_c
                - str_data.905
                - log_fd_write
                - str_delete
            - BranchSide:      'failures.c:101,8'
              BranchSideFuncs:
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_c
                - str_data.905
                - log_fd_write
                - str_delete
        - Branch String:   'failures.c:106,2'
          Branch Sides:
            - BranchSide:      'failures.c:107,21'
              BranchSideFuncs:
                - str_c
                - str_data.905
                - log_fd_write
                - str_delete
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
            - BranchSide:      'failures.c:114,2'
              BranchSideFuncs:
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
        - Branch String:   'failures.c:108,7'
          Branch Sides:
            - BranchSide:      'failures.c:109,4'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:111,14'
              BranchSideFuncs:
                - str_delete
                - str_c
                - strchr
                - str_append_c.907
                - str_data.905
                - str_len.904
                - log_fd_write
                - str_c
                - str_data.905
                - log_fd_write
      Callsites:
        - Src:             'failures.c:84,19'
          Dst:             t_str_new
        - Src:             'failures.c:85,2'
          Dst:             log_timestamp_add
        - Src:             'failures.c:86,2'
          Dst:             log_prefix_add
        - Src:             'failures.c:87,22'
          Dst:             str_len
        - Src:             'failures.c:90,21'
          Dst:             printf_format_fix
        - Src:             'failures.c:90,2'
          Dst:             str_vprintfa
        - Src:             'failures.c:106,21'
          Dst:             str_c
        - Src:             'failures.c:106,14'
          Dst:             strchr
        - Src:             'failures.c:107,25'
          Dst:             str_c
        - Src:             'failures.c:108,24'
          Dst:             str_data
        - Src:             'failures.c:108,7'
          Dst:             log_fd_write
        - Src:             'failures.c:111,3'
          Dst:             str_delete
        - Src:             'failures.c:114,2'
          Dst:             str_append_c
        - Src:             'failures.c:115,26'
          Dst:             str_data
        - Src:             'failures.c:115,42'
          Dst:             str_len
        - Src:             'failures.c:115,9'
          Dst:             log_fd_write
    - functionName:    default_on_handler_failure
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         7
      ICount:          39
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached:
        - failure_exit
        - i_fatal_status
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:121,2'
          Branch Sides:
            - BranchSide:      'failures.c:123,12'
              BranchSideFuncs:
                - i_fatal_status
            - BranchSide:      'failures.c:129,11'
              BranchSideFuncs:
                - i_fatal_status
            - BranchSide:      'failures.c:131,3'
              BranchSideFuncs:
                - failure_exit
      Callsites:
        - Src:             'failures.c:128,3'
          Dst:             i_fatal_status
        - Src:             'failures.c:131,3'
          Dst:             failure_exit
    - functionName:    i_fatal_status
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 558
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - status
        - format
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - lib_set_clean_exit
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:552,2'
          Dst:             lib_set_clean_exit
    - functionName:    log_timestamp_add
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - str
      BBCount:         12
      ICount:          77
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - get_log_stamp_format
        - i_gettimeofday
        - localtime
        - str_append
        - strftime
      functionUses:    1
      BranchProfiles:
        - Branch String:   'failures.c:323,6'
          Branch Sides:
            - BranchSide:      'failures.c:323,6'
              BranchSideFuncs:
                - get_log_stamp_format
                - strftime
                - str_append.914
                - i_gettimeofday
                - localtime
            - BranchSide:      'failures.c:324,7'
              BranchSideFuncs:
                - get_log_stamp_format
                - strftime
                - str_append.914
                - i_gettimeofday
                - localtime
        - Branch String:   'failures.c:324,7'
          Branch Sides:
            - BranchSide:      'failures.c:325,4'
              BranchSideFuncs:
                - i_gettimeofday
                - localtime
                - get_log_stamp_format
                - strftime
                - str_append.914
            - BranchSide:      'failures.c:328,18'
              BranchSideFuncs:
                - get_log_stamp_format
                - strftime
                - str_append.914
        - Branch String:   'failures.c:331,7'
          Branch Sides:
            - BranchSide:      'failures.c:333,15'
              BranchSideFuncs:
                - str_append.914
            - BranchSide:      'failures.c:334,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'failures.c:325,4'
          Dst:             i_gettimeofday
        - Src:             'failures.c:326,9'
          Dst:             localtime
        - Src:             'failures.c:332,9'
          Dst:             get_log_stamp_format
        - Src:             'failures.c:331,7'
          Dst:             strftime
        - Src:             'failures.c:333,4'
          Dst:             str_append
    - functionName:    localtime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_log_stamp_format
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 304
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - format_arg
        - timestamp_usecs
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - t_strdup_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'failures.c:300,6'
          Branch Sides:
            - BranchSide:      'failures.c:301,10'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:302,37'
              BranchSideFuncs:
                - t_strdup_printf
      Callsites:
        - Src:             'failures.c:302,9'
          Dst:             t_strdup_printf
    - functionName:    strftime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    failures_deinit
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 989
      functionLinenumberEnd: 1015
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         29
      ICount:          115
      EdgeCount:       35
      CyclomaticComplexity: 8
      functionsReached:
        - i_close_fd_path
        - log_fd_can_close
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'failures.c:990,6'
          Branch Sides:
            - BranchSide:      'failures.c:990,6'
              BranchSideFuncs:
                - log_fd_can_close
                - log_fd_can_close
                - log_fd_can_close
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - i_close_fd_path
                - i_close_fd_path
                - i_close_fd_path
            - BranchSide:      'failures.c:990,6'
              BranchSideFuncs:
                - log_fd_can_close
                - log_fd_can_close
                - log_fd_can_close
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - i_close_fd_path
                - i_close_fd_path
                - i_close_fd_path
        - Branch String:   'failures.c:990,34'
          Branch Sides:
            - BranchSide:      'failures.c:990,37'
              BranchSideFuncs:
                - log_fd_can_close
                - log_fd_can_close
                - log_fd_can_close
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - i_close_fd_path
                - i_close_fd_path
                - i_close_fd_path
            - BranchSide:      'failures.c:991,16'
              BranchSideFuncs:
                - log_fd_can_close
                - log_fd_can_close
                - log_fd_can_close
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - i_close_fd_path
                - i_close_fd_path
                - i_close_fd_path
        - Branch String:   'failures.c:990,6'
          Branch Sides:
            - BranchSide:      'failures.c:991,16'
              BranchSideFuncs:
                - log_fd_can_close
                - log_fd_can_close
                - log_fd_can_close
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - i_close_fd_path
                - i_close_fd_path
                - i_close_fd_path
            - BranchSide:      'failures.c:993,6'
              BranchSideFuncs:
                - log_fd_can_close
                - log_fd_can_close
                - log_fd_can_close
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - i_close_fd_path
                - i_close_fd_path
                - i_close_fd_path
        - Branch String:   'failures.c:993,6'
          Branch Sides:
            - BranchSide:      'failures.c:994,15'
              BranchSideFuncs:
                - log_fd_can_close
                - log_fd_can_close
                - log_fd_can_close
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - i_close_fd_path
                - i_close_fd_path
                - i_close_fd_path
            - BranchSide:      'failures.c:996,23'
              BranchSideFuncs:
                - log_fd_can_close
                - log_fd_can_close
                - log_fd_can_close
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - i_close_fd_path
                - i_close_fd_path
                - i_close_fd_path
        - Branch String:   'failures.c:996,6'
          Branch Sides:
            - BranchSide:      'failures.c:997,3'
              BranchSideFuncs:
                - i_close_fd_path
                - log_fd_can_close
                - log_fd_can_close
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - i_close_fd_path
                - i_close_fd_path
            - BranchSide:      'failures.c:1001,23'
              BranchSideFuncs:
                - log_fd_can_close
                - log_fd_can_close
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - i_close_fd_path
                - i_close_fd_path
        - Branch String:   'failures.c:1001,6'
          Branch Sides:
            - BranchSide:      'failures.c:1002,3'
              BranchSideFuncs:
                - i_close_fd_path
                - log_fd_can_close
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - i_close_fd_path
            - BranchSide:      'failures.c:1006,23'
              BranchSideFuncs:
                - log_fd_can_close
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - i_close_fd_path
        - Branch String:   'failures.c:1006,6'
          Branch Sides:
            - BranchSide:      'failures.c:1007,3'
              BranchSideFuncs:
                - i_close_fd_path
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
            - BranchSide:      'failures.c:1011,2'
              BranchSideFuncs:
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
                - p_free_internal.946
      Callsites:
        - Src:             'failures.c:996,6'
          Dst:             log_fd_can_close
        - Src:             'failures.c:997,3'
          Dst:             i_close_fd_path
        - Src:             'failures.c:1001,6'
          Dst:             log_fd_can_close
        - Src:             'failures.c:1002,3'
          Dst:             i_close_fd_path
        - Src:             'failures.c:1006,6'
          Dst:             log_fd_can_close
        - Src:             'failures.c:1007,3'
          Dst:             i_close_fd_path
        - Src:             'failures.c:1011,2'
          Dst:             p_free_internal
        - Src:             'failures.c:1012,2'
          Dst:             p_free_internal
        - Src:             'failures.c:1013,2'
          Dst:             p_free_internal
        - Src:             'failures.c:1014,2'
          Dst:             p_free_internal
    - functionName:    log_fd_can_close
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - fd
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   'failures.c:71,29'
          Branch Sides:
            - BranchSide:      'failures.c:71,32'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:71,29'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    9
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_set_failure_exit_callback
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 984
      functionLinenumberEnd: 986
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_set_failure_send_prefix
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 979
      functionLinenumberEnd: 981
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - prefix
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_failure_send_option
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:980,2'
          Dst:             i_failure_send_option
    - functionName:    i_failure_send_option
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 742
      functionLinenumberEnd: 745
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - key
        - value
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_failure_send_option_forced
      functionUses:    2
      BranchProfiles:
        - Branch String:   'failures.c:743,6'
          Branch Sides:
            - BranchSide:      'failures.c:743,6'
              BranchSideFuncs:
                - i_failure_send_option_forced
            - BranchSide:      'failures.c:744,38'
              BranchSideFuncs:
                - i_failure_send_option_forced
      Callsites:
        - Src:             'failures.c:744,9'
          Dst:             i_failure_send_option_forced
    - functionName:    i_internal_error_handler
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 902
      functionLinenumberEnd: 906
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - error_handler_real
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:905,2'
          Dst:             error_handler_real
    - functionName:    internal_on_handler_failure
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - failure_exit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:234,2'
          Dst:             failure_exit
    - functionName:    i_set_failure_send_ip
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 974
      functionLinenumberEnd: 976
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ip
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_failure_send_option
        - net_ip2addr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:975,30'
          Dst:             net_ip2addr
        - Src:             'failures.c:975,2'
          Dst:             i_failure_send_option
    - functionName:    i_set_failure_timestamp_format
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 958
      functionLinenumberEnd: 971
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fmt
      BBCount:         10
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_strdup
        - i_strdup_until
        - p_free_internal
        - strstr
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:965,6'
          Branch Sides:
            - BranchSide:      'failures.c:966,31'
              BranchSideFuncs:
                - i_strdup
            - BranchSide:      'failures.c:968,37'
              BranchSideFuncs:
                - i_strdup_until
                - i_strdup
      Callsites:
        - Src:             'failures.c:961,2'
          Dst:             p_free_internal
        - Src:             'failures.c:962,2'
          Dst:             p_free_internal
        - Src:             'failures.c:964,6'
          Dst:             strstr
        - Src:             'failures.c:966,22'
          Dst:             i_strdup
        - Src:             'failures.c:968,22'
          Dst:             i_strdup_until
        - Src:             'failures.c:969,29'
          Dst:             i_strdup
    - functionName:    strstr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_failure_have_stdout_logs
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 951
      functionLinenumberEnd: 954
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:952,33'
          Branch Sides:
            - BranchSide:      'failures.c:952,33'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:953,3'
              BranchSideFuncs: []
        - Branch String:   'failures.c:953,32'
          Branch Sides:
            - BranchSide:      'failures.c:953,32'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:954,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_set_debug_file
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 942
      functionLinenumberEnd: 948
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
      BBCount:         9
      ICount:          41
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - open_log_file
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:943,29'
          Branch Sides:
            - BranchSide:      'failures.c:943,32'
              BranchSideFuncs:
                - open_log_file
            - BranchSide:      'failures.c:944,16'
              BranchSideFuncs:
                - open_log_file
        - Branch String:   'failures.c:943,6'
          Branch Sides:
            - BranchSide:      'failures.c:943,6'
              BranchSideFuncs:
                - open_log_file
            - BranchSide:      'failures.c:944,16'
              BranchSideFuncs:
                - open_log_file
      Callsites:
        - Src:             'failures.c:946,2'
          Dst:             open_log_file
    - functionName:    open_log_file
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 674
      functionLinenumberEnd: 702
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fd
        - path
      BBCount:         22
      ICount:          120
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - close
        - failure_exit
        - fd_close_on_exec
        - i_fatal_status
        - log_fd_can_close
        - open
        - strcmp
        - strlen
        - t_strdup_printf
        - write_full
      functionUses:    3
      BranchProfiles:
        - Branch String:   'failures.c:677,6'
          Branch Sides:
            - BranchSide:      'failures.c:678,14'
              BranchSideFuncs:
                - close
                - strcmp
                - strcmp
                - open
                - fd_close_on_exec
                - t_strdup_printf
                - strlen
                - write_full
                - i_fatal_status
                - failure_exit
                - t_strdup_printf
                - strlen
                - write_full
            - BranchSide:      'failures.c:684,6'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - open
                - fd_close_on_exec
                - t_strdup_printf
                - strlen
                - write_full
                - i_fatal_status
                - failure_exit
        - Branch String:   'failures.c:678,7'
          Branch Sides:
            - BranchSide:      'failures.c:679,53'
              BranchSideFuncs:
                - t_strdup_printf
                - strlen
                - write_full
                - strcmp
                - strcmp
                - open
                - fd_close_on_exec
                - t_strdup_printf
                - strlen
                - write_full
                - i_fatal_status
                - failure_exit
            - BranchSide:      'failures.c:682,2'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - open
                - fd_close_on_exec
                - t_strdup_printf
                - strlen
                - write_full
                - i_fatal_status
                - failure_exit
        - Branch String:   'failures.c:684,19'
          Branch Sides:
            - BranchSide:      'failures.c:684,29'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:685,4'
              BranchSideFuncs: []
        - Branch String:   'failures.c:684,6'
          Branch Sides:
            - BranchSide:      'failures.c:685,4'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:686,18'
              BranchSideFuncs:
                - strcmp
                - open
                - fd_close_on_exec
                - t_strdup_printf
                - strlen
                - write_full
                - i_fatal_status
                - failure_exit
        - Branch String:   'failures.c:686,11'
          Branch Sides:
            - BranchSide:      'failures.c:687,4'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:689,14'
              BranchSideFuncs:
                - open
                - fd_close_on_exec
                - t_strdup_printf
                - strlen
                - write_full
                - i_fatal_status
                - failure_exit
        - Branch String:   'failures.c:690,7'
          Branch Sides:
            - BranchSide:      'failures.c:691,5'
              BranchSideFuncs:
                - t_strdup_printf
                - strlen
                - write_full
                - i_fatal_status
                - failure_exit
            - BranchSide:      'failures.c:700,21'
              BranchSideFuncs:
                - fd_close_on_exec
        - Branch String:   'failures.c:695,8'
          Branch Sides:
            - BranchSide:      'failures.c:696,5'
              BranchSideFuncs:
                - failure_exit
            - BranchSide:      'failures.c:698,41'
              BranchSideFuncs:
                - i_fatal_status
      Callsites:
        - Src:             'failures.c:677,6'
          Dst:             log_fd_can_close
        - Src:             'failures.c:678,7'
          Dst:             close
        - Src:             'failures.c:679,10'
          Dst:             t_strdup_printf
        - Src:             'failures.c:680,41'
          Dst:             strlen
        - Src:             'failures.c:680,10'
          Dst:             write_full
        - Src:             'failures.c:684,22'
          Dst:             strcmp
        - Src:             'failures.c:686,11'
          Dst:             strcmp
        - Src:             'failures.c:689,9'
          Dst:             open
        - Src:             'failures.c:692,10'
          Dst:             t_strdup_printf
        - Src:             'failures.c:694,41'
          Dst:             strlen
        - Src:             'failures.c:694,10'
          Dst:             write_full
        - Src:             'failures.c:696,5'
          Dst:             failure_exit
        - Src:             'failures.c:698,5'
          Dst:             i_fatal_status
        - Src:             'failures.c:700,3'
          Dst:             fd_close_on_exec
    - functionName:    open
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_set_info_file
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 929
      functionLinenumberEnd: 939
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - default_error_handler
        - i_set_debug_handler
        - open_log_file
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:930,6'
          Branch Sides:
            - BranchSide:      'failures.c:930,6'
              BranchSideFuncs:
                - open_log_file
                - i_set_debug_handler
            - BranchSide:      'failures.c:931,15'
              BranchSideFuncs:
                - open_log_file
                - i_set_debug_handler
      Callsites:
        - Src:             'failures.c:933,2'
          Dst:             open_log_file
        - Src:             'failures.c:938,2'
          Dst:             i_set_debug_handler
        - Src:             'failures.c:938,2'
          Dst:             default_error_handler
    - functionName:    i_set_debug_handler
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 628
      functionLinenumberEnd: 630
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_set_failure_ignore_errors
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - bool
      constantsTouched: []
      argNames:
        - ignore
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_failure_handler_is_internal
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 918
      functionLinenumberEnd: 920
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:919,46'
          Branch Sides:
            - BranchSide:      'failures.c:919,46'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:920,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_internal_fatal_handler
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 889
      functionLinenumberEnd: 894
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - fatal_handler_real
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:894,2'
          Dst:             fatal_handler_real
    - functionName:    i_set_failure_internal
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 909
      functionLinenumberEnd: 915
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fd_set_nonblock
        - i_internal_error_handler
        - i_internal_fatal_handler
        - i_set_debug_handler
        - i_set_error_handler
        - i_set_fatal_handler
        - i_set_info_handler
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:910,2'
          Branch Sides:
            - BranchSide:      'failures.c:910,2'
              BranchSideFuncs:
                - fd_set_nonblock
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
            - BranchSide:      'failures.c:910,2'
              BranchSideFuncs:
                - fd_set_nonblock
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
      Callsites:
        - Src:             'failures.c:910,2'
          Dst:             fd_set_nonblock
        - Src:             'failures.c:911,2'
          Dst:             i_set_fatal_handler
        - Src:             'failures.c:911,2'
          Dst:             i_internal_fatal_handler
        - Src:             'failures.c:912,2'
          Dst:             i_set_error_handler
        - Src:             'failures.c:912,2'
          Dst:             i_internal_error_handler
        - Src:             'failures.c:913,2'
          Dst:             i_set_info_handler
        - Src:             'failures.c:913,2'
          Dst:             i_internal_error_handler
        - Src:             'failures.c:914,2'
          Dst:             i_set_debug_handler
        - Src:             'failures.c:914,2'
          Dst:             i_internal_error_handler
    - functionName:    i_set_fatal_handler
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 612
      functionLinenumberEnd: 614
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_set_error_handler
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 617
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getenv
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:618,22'
          Dst:             getenv
    - functionName:    i_set_info_handler
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 623
      functionLinenumberEnd: 625
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    line_parse_prefix
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 826
      functionLinenumberEnd: 845
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - line
        - log_type_r
        - replace_prefix_r
        - have_prefix_len_r
      BBCount:         10
      ICount:          101
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - i_warning
      functionUses:    1
      BranchProfiles:
        - Branch String:   'failures.c:827,6'
          Branch Sides:
            - BranchSide:      'failures.c:828,3'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:830,28'
              BranchSideFuncs:
                - i_warning
                - i_warning
        - Branch String:   'failures.c:831,6'
          Branch Sides:
            - BranchSide:      'failures.c:832,3'
              BranchSideFuncs:
                - i_warning
            - BranchSide:      'failures.c:835,10'
              BranchSideFuncs:
                - i_warning
        - Branch String:   'failures.c:837,6'
          Branch Sides:
            - BranchSide:      'failures.c:838,50'
              BranchSideFuncs:
                - i_warning
            - BranchSide:      'failures.c:841,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'failures.c:832,3'
          Dst:             i_warning
        - Src:             'failures.c:838,3'
          Dst:             i_warning
    - functionName:    i_warning
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 576
      functionLinenumberEnd: 585
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:577,18'
          Dst:             __errno_location
        - Src:             'failures.c:584,2'
          Dst:             __errno_location
    - functionName:    i_failure_parse_line
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 848
      functionLinenumberEnd: 886
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - line
        - failure
      BBCount:         26
      ICount:          164
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - line_parse_prefix
        - str_parse_uint
        - strlen
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:852,6'
          Branch Sides:
            - BranchSide:      'failures.c:855,3'
              BranchSideFuncs:
                - str_parse_uint
                - strlen
            - BranchSide:      'failures.c:860,7'
              BranchSideFuncs:
                - str_parse_uint
                - strlen
        - Branch String:   'failures.c:862,22'
          Branch Sides:
            - BranchSide:      'failures.c:862,26'
              BranchSideFuncs:
                - str_parse_uint
                - strlen
            - BranchSide:      'failures.c:862,2'
              BranchSideFuncs:
                - str_parse_uint
                - strlen
        - Branch String:   'failures.c:862,2'
          Branch Sides:
            - BranchSide:      'failures.c:863,18'
              BranchSideFuncs:
                - str_parse_uint
                - strlen
            - BranchSide:      'failures.c:866,7'
              BranchSideFuncs:
                - str_parse_uint
                - strlen
        - Branch String:   'failures.c:866,6'
          Branch Sides:
            - BranchSide:      'failures.c:868,3'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:871,6'
              BranchSideFuncs:
                - str_parse_uint
                - strlen
        - Branch String:   'failures.c:873,6'
          Branch Sides:
            - BranchSide:      'failures.c:874,22'
              BranchSideFuncs:
                - str_parse_uint
                - strlen
            - BranchSide:      'failures.c:885,18'
              BranchSideFuncs: []
        - Branch String:   'failures.c:874,65'
          Branch Sides:
            - BranchSide:      'failures.c:875,7'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:877,3'
              BranchSideFuncs: []
        - Branch String:   'failures.c:874,7'
          Branch Sides:
            - BranchSide:      'failures.c:877,3'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:878,8'
              BranchSideFuncs:
                - strlen
      Callsites:
        - Src:             'failures.c:852,7'
          Dst:             line_parse_prefix
        - Src:             'failures.c:874,7'
          Dst:             str_parse_uint
        - Src:             'failures.c:879,34'
          Dst:             strlen
    - functionName:    i_get_failure_prefix
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 770
      functionLinenumberEnd: 771
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          17
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:771,9'
          Branch Sides:
            - BranchSide:      'failures.c:771,30'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:771,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_unset_failure_prefix
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 763
      functionLinenumberEnd: 767
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          23
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_strdup
        - p_free_internal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:764,2'
          Branch Sides:
            - BranchSide:      'failures.c:764,2'
              BranchSideFuncs:
                - p_free_internal.946
                - i_strdup
            - BranchSide:      'failures.c:764,2'
              BranchSideFuncs:
                - p_free_internal.946
                - i_strdup
      Callsites:
        - Src:             'failures.c:764,2'
          Dst:             p_free_internal
        - Src:             'failures.c:765,15'
          Dst:             i_strdup
    - functionName:    i_set_failure_prefix
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 748
      functionLinenumberEnd: 760
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - prefix_fmt
      BBCount:         11
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_strdup
        - log_prefix_sanitize
        - p_free_internal
        - t_pop
        - t_push
        - t_strdup_vprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'failures.c:756,4'
          Branch Sides:
            - BranchSide:      'failures.c:756,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'failures.c:756,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'failures.c:752,2'
          Dst:             p_free_internal
        - Src:             'failures.c:753,2'
          Dst:             t_push
        - Src:             'failures.c:755,4'
          Dst:             t_strdup_vprintf
        - Src:             'failures.c:754,25'
          Dst:             log_prefix_sanitize
        - Src:             'failures.c:754,16'
          Dst:             i_strdup
        - Src:             'failures.c:756,4'
          Dst:             t_pop
        - Src:             'failures.c:756,4'
          Dst:             i_panic
    - functionName:    i_set_failure_file
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 705
      functionLinenumberEnd: 729
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
        - prefix
      BBCount:         21
      ICount:          102
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - close
        - default_error_handler
        - default_fatal_handler
        - i_error
        - i_set_debug_handler
        - i_set_error_handler
        - i_set_failure_prefix
        - i_set_fatal_handler
        - i_set_info_handler
        - log_fd_can_close
        - open_log_file
      functionUses:    0
      BranchProfiles:
        - Branch String:   'failures.c:708,36'
          Branch Sides:
            - BranchSide:      'failures.c:708,39'
              BranchSideFuncs:
                - log_fd_can_close
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
                - close
                - i_error
                - close
                - i_error
            - BranchSide:      'failures.c:713,23'
              BranchSideFuncs:
                - log_fd_can_close
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
                - close
                - i_error
        - Branch String:   'failures.c:708,6'
          Branch Sides:
            - BranchSide:      'failures.c:709,13'
              BranchSideFuncs:
                - close
                - log_fd_can_close
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
                - close
                - i_error
                - i_error
            - BranchSide:      'failures.c:713,23'
              BranchSideFuncs:
                - log_fd_can_close
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
                - close
                - i_error
        - Branch String:   'failures.c:709,7'
          Branch Sides:
            - BranchSide:      'failures.c:710,36'
              BranchSideFuncs:
                - i_error
                - log_fd_can_close
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
                - close
                - i_error
            - BranchSide:      'failures.c:711,2'
              BranchSideFuncs:
                - log_fd_can_close
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
                - close
                - i_error
        - Branch String:   'failures.c:713,37'
          Branch Sides:
            - BranchSide:      'failures.c:713,40'
              BranchSideFuncs:
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
                - close
                - i_error
            - BranchSide:      'failures.c:713,37'
              BranchSideFuncs:
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
        - Branch String:   'failures.c:713,68'
          Branch Sides:
            - BranchSide:      'failures.c:713,68'
              BranchSideFuncs:
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
                - close
                - i_error
            - BranchSide:      'failures.c:714,6'
              BranchSideFuncs:
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
                - close
                - i_error
        - Branch String:   'failures.c:713,6'
          Branch Sides:
            - BranchSide:      'failures.c:713,6'
              BranchSideFuncs:
                - close
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
                - i_error
            - BranchSide:      'failures.c:715,13'
              BranchSideFuncs:
                - close
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
                - i_error
        - Branch String:   'failures.c:715,7'
          Branch Sides:
            - BranchSide:      'failures.c:716,36'
              BranchSideFuncs:
                - i_error
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
            - BranchSide:      'failures.c:717,2'
              BranchSideFuncs:
                - open_log_file
                - i_set_fatal_handler
                - i_set_error_handler
                - i_set_info_handler
                - i_set_debug_handler
      Callsites:
        - Src:             'failures.c:706,2'
          Dst:             i_set_failure_prefix
        - Src:             'failures.c:708,6'
          Dst:             log_fd_can_close
        - Src:             'failures.c:709,7'
          Dst:             close
        - Src:             'failures.c:710,4'
          Dst:             i_error
        - Src:             'failures.c:713,6'
          Dst:             log_fd_can_close
        - Src:             'failures.c:715,7'
          Dst:             close
        - Src:             'failures.c:716,4'
          Dst:             i_error
        - Src:             'failures.c:719,2'
          Dst:             open_log_file
        - Src:             'failures.c:725,2'
          Dst:             i_set_fatal_handler
        - Src:             'failures.c:725,2'
          Dst:             default_fatal_handler
        - Src:             'failures.c:726,2'
          Dst:             i_set_error_handler
        - Src:             'failures.c:726,2'
          Dst:             default_error_handler
        - Src:             'failures.c:727,2'
          Dst:             i_set_info_handler
        - Src:             'failures.c:727,2'
          Dst:             default_error_handler
        - Src:             'failures.c:728,2'
          Dst:             i_set_debug_handler
        - Src:             'failures.c:728,2'
          Dst:             default_error_handler
    - functionName:    i_set_failure_syslog
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 660
      functionLinenumberEnd: 671
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ident
        - options
        - facility
      BBCount:         5
      ICount:          40
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_set_debug_handler
        - i_set_error_handler
        - i_set_fatal_handler
        - i_set_info_handler
        - i_strdup
        - i_syslog_error_handler
        - i_syslog_fatal_handler
        - openlog
        - p_free_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:663,2'
          Dst:             p_free_internal
        - Src:             'failures.c:664,17'
          Dst:             i_strdup
        - Src:             'failures.c:665,2'
          Dst:             openlog
        - Src:             'failures.c:667,2'
          Dst:             i_set_fatal_handler
        - Src:             'failures.c:667,2'
          Dst:             i_syslog_fatal_handler
        - Src:             'failures.c:668,2'
          Dst:             i_set_error_handler
        - Src:             'failures.c:668,2'
          Dst:             i_syslog_error_handler
        - Src:             'failures.c:669,2'
          Dst:             i_set_info_handler
        - Src:             'failures.c:669,2'
          Dst:             i_syslog_error_handler
        - Src:             'failures.c:670,2'
          Dst:             i_set_debug_handler
        - Src:             'failures.c:670,2'
          Dst:             i_syslog_error_handler
    - functionName:    openlog
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_syslog_fatal_handler
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 643
      functionLinenumberEnd: 648
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - fatal_handler_real
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:648,2'
          Dst:             fatal_handler_real
    - functionName:    i_syslog_error_handler
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 653
      functionLinenumberEnd: 657
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - error_handler_real
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:656,2'
          Dst:             error_handler_real
    - functionName:    syslog_on_handler_failure
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - failure_exit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:189,2'
          Dst:             failure_exit
    - functionName:    i_get_failure_handlers
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 636
      functionLinenumberEnd: 641
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fatal_callback_r
        - error_callback_r
        - info_callback_r
        - debug_callback_r
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_debug
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 600
      functionLinenumberEnd: 609
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:601,18'
          Dst:             __errno_location
        - Src:             'failures.c:608,2'
          Dst:             __errno_location
    - functionName:    i_info
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 588
      functionLinenumberEnd: 597
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:589,18'
          Dst:             __errno_location
        - Src:             'failures.c:596,2'
          Dst:             __errno_location
    - functionName:    i_log_typev
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 503
      functionLinenumberEnd: 514
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
        - args
      BBCount:         7
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'failures.c:504,2'
          Branch Sides:
            - BranchSide:      'failures.c:506,3'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:509,3'
              BranchSideFuncs: []
            - BranchSide:      'failures.c:512,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_log_type
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 499
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - format
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_log_typev
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:497,2'
          Dst:             i_log_typev
    - functionName:    i_fatal
      functionSourceFile: '/src/dovecot/src/lib/failures.c'
      linkageType:     InternalLinkage
      functionLinenumber: 531
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - lib_set_clean_exit
      functionUses:    74
      BranchProfiles:  []
      Callsites:
        - Src:             'failures.c:536,2'
          Dst:             lib_set_clean_exit
    - functionName:    i_close_fd_path
      functionSourceFile: '/src/dovecot/src/lib/fd-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - fd
        - path
        - arg
        - func
        - file
        - line
      BBCount:         20
      ICount:          138
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - close
        - i_error
        - i_panic
      functionUses:    15
      BranchProfiles:
        - Branch String:   'fd-util.c:149,6'
          Branch Sides:
            - BranchSide:      'fd-util.c:150,3'
              BranchSideFuncs: []
            - BranchSide:      'fd-util.c:152,6'
              BranchSideFuncs:
                - __errno_location
                - close
                - __errno_location
                - i_error
                - __errno_location
                - i_panic
        - Branch String:   'fd-util.c:152,6'
          Branch Sides:
            - BranchSide:      'fd-util.c:154,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'fd-util.c:160,16'
              BranchSideFuncs:
                - __errno_location
                - close
                - __errno_location
                - i_error
                - __errno_location
        - Branch String:   'fd-util.c:156,4'
          Branch Sides:
            - BranchSide:      'fd-util.c:156,26'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'fd-util.c:157,4'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'fd-util.c:164,6'
          Branch Sides:
            - BranchSide:      'fd-util.c:164,6'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - i_error
            - BranchSide:      'fd-util.c:164,6'
              BranchSideFuncs:
                - __errno_location
                - i_error
        - Branch String:   'fd-util.c:164,6'
          Branch Sides:
            - BranchSide:      'fd-util.c:166,4'
              BranchSideFuncs:
                - i_error
                - __errno_location
            - BranchSide:      'fd-util.c:170,10'
              BranchSideFuncs:
                - __errno_location
        - Branch String:   'fd-util.c:168,4'
          Branch Sides:
            - BranchSide:      'fd-util.c:168,26'
              BranchSideFuncs:
                - i_error
                - __errno_location
            - BranchSide:      'fd-util.c:169,4'
              BranchSideFuncs:
                - i_error
                - __errno_location
      Callsites:
        - Src:             'fd-util.c:153,3'
          Dst:             i_panic
        - Src:             'fd-util.c:160,16'
          Dst:             __errno_location
        - Src:             'fd-util.c:164,6'
          Dst:             close
        - Src:             'fd-util.c:164,6'
          Dst:             __errno_location
        - Src:             'fd-util.c:165,3'
          Dst:             i_error
        - Src:             'fd-util.c:170,2'
          Dst:             __errno_location
    - functionName:    fd_close_maybe_stdio
      functionSourceFile: '/src/dovecot/src/lib/fd-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fd_in
        - fd_out
      BBCount:         19
      ICount:          127
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - dup2
        - i_close_fd_path
        - i_fatal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'fd-util.c:128,6'
          Branch Sides:
            - BranchSide:      'fd-util.c:129,4'
              BranchSideFuncs:
                - dup2
                - i_fatal
                - i_close_fd_path
            - BranchSide:      'fd-util.c:131,20'
              BranchSideFuncs:
                - dup2
                - i_fatal
                - i_close_fd_path
        - Branch String:   'fd-util.c:131,2'
          Branch Sides:
            - BranchSide:      'fd-util.c:132,12'
              BranchSideFuncs:
                - dup2
                - i_fatal
                - i_close_fd_path
            - BranchSide:      'fd-util.c:141,1'
              BranchSideFuncs: []
        - Branch String:   'fd-util.c:132,7'
          Branch Sides:
            - BranchSide:      'fd-util.c:134,17'
              BranchSideFuncs:
                - dup2
                - i_fatal
                - i_close_fd_path
            - BranchSide:      'fd-util.c:140,2'
              BranchSideFuncs:
                - dup2
                - i_fatal
                - i_close_fd_path
        - Branch String:   'fd-util.c:134,12'
          Branch Sides:
            - BranchSide:      'fd-util.c:135,4'
              BranchSideFuncs:
                - i_close_fd_path
                - dup2
                - i_fatal
            - BranchSide:      'fd-util.c:136,17'
              BranchSideFuncs:
                - dup2
                - i_fatal
                - i_close_fd_path
        - Branch String:   'fd-util.c:136,12'
          Branch Sides:
            - BranchSide:      'fd-util.c:137,9'
              BranchSideFuncs:
                - dup2
                - i_fatal
                - i_close_fd_path
            - BranchSide:      'fd-util.c:139,51'
              BranchSideFuncs:
                - i_fatal
      Callsites:
        - Src:             'fd-util.c:135,4'
          Dst:             i_close_fd_path
        - Src:             'fd-util.c:136,12'
          Dst:             dup2
        - Src:             'fd-util.c:139,4'
          Dst:             i_fatal
    - functionName:    dup2
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fd_set_nonblock
      functionSourceFile: '/src/dovecot/src/lib/fd-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - bool
      constantsTouched: []
      argNames:
        - fd
        - nonblock
      BBCount:         14
      ICount:          82
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - fcntl
        - i_fatal
        - i_panic
      functionUses:    6
      BranchProfiles:
        - Branch String:   'fd-util.c:109,2'
          Branch Sides:
            - BranchSide:      'fd-util.c:109,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'fd-util.c:111,16'
              BranchSideFuncs:
                - fcntl
                - fcntl
                - i_fatal
                - i_fatal
        - Branch String:   'fd-util.c:112,6'
          Branch Sides:
            - BranchSide:      'fd-util.c:113,44'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'fd-util.c:115,6'
              BranchSideFuncs:
                - fcntl
                - i_fatal
        - Branch String:   'fd-util.c:115,6'
          Branch Sides:
            - BranchSide:      'fd-util.c:116,9'
              BranchSideFuncs:
                - fcntl
                - i_fatal
            - BranchSide:      'fd-util.c:118,9'
              BranchSideFuncs:
                - fcntl
                - i_fatal
        - Branch String:   'fd-util.c:120,6'
          Branch Sides:
            - BranchSide:      'fd-util.c:121,44'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'fd-util.c:122,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'fd-util.c:109,2'
          Dst:             i_panic
        - Src:             'fd-util.c:111,10'
          Dst:             fcntl
        - Src:             'fd-util.c:113,3'
          Dst:             i_fatal
        - Src:             'fd-util.c:120,6'
          Dst:             fcntl
        - Src:             'fd-util.c:121,3'
          Dst:             i_fatal
    - functionName:    fcntl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fd_debug_verify_leaks
      functionSourceFile: '/src/dovecot/src/lib/fd-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - first_fd
        - last_fd
      BBCount:         29
      ICount:          198
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - dec2str
        - fcntl
        - fstat
        - getsockname
        - gnu_dev_major
        - gnu_dev_minor
        - i_error
        - i_fatal
        - net_getpeername
        - net_getsockname
        - net_ip2addr
        - strerror
        - t_readlink
        - t_strdup_printf
      functionUses:    0
      BranchProfiles:
        - Branch String:   'fd-util.c:33,2'
          Branch Sides:
            - BranchSide:      'fd-util.c:34,13'
              BranchSideFuncs:
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - i_fatal
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - getsockname
                - i_error
                - __errno_location
            - BranchSide:      'fd-util.c:101,6'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'fd-util.c:34,35'
          Branch Sides:
            - BranchSide:      'fd-util.c:34,38'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - i_fatal
                - fcntl
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - getsockname
                - i_error
            - BranchSide:      'fd-util.c:37,15'
              BranchSideFuncs:
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - getsockname
                - i_error
        - Branch String:   'fd-util.c:34,7'
          Branch Sides:
            - BranchSide:      'fd-util.c:35,4'
              BranchSideFuncs:
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - getsockname
                - i_error
                - __errno_location
            - BranchSide:      'fd-util.c:37,15'
              BranchSideFuncs:
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - getsockname
                - i_error
        - Branch String:   'fd-util.c:39,7'
          Branch Sides:
            - BranchSide:      'fd-util.c:40,13'
              BranchSideFuncs:
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - __errno_location
                - getsockname
                - i_error
            - BranchSide:      'fd-util.c:66,13'
              BranchSideFuncs:
                - fstat
                - strerror
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - getsockname
                - i_error
                - __errno_location
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
        - Branch String:   'fd-util.c:40,8'
          Branch Sides:
            - BranchSide:      'fd-util.c:43,15'
              BranchSideFuncs:
                - getsockname
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - __errno_location
            - BranchSide:      'fd-util.c:55,24'
              BranchSideFuncs:
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - getsockname
                - i_error
                - __errno_location
        - Branch String:   'fd-util.c:45,9'
          Branch Sides:
            - BranchSide:      'fd-util.c:47,9'
              BranchSideFuncs:
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - getsockname
                - __errno_location
            - BranchSide:      'fd-util.c:50,6'
              BranchSideFuncs:
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - getsockname
                - __errno_location
        - Branch String:   'fd-util.c:55,8'
          Branch Sides:
            - BranchSide:      'fd-util.c:56,5'
              BranchSideFuncs:
                - net_ip2addr
                - net_ip2addr
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - net_getpeername
                - getsockname
                - i_error
                - __errno_location
            - BranchSide:      'fd-util.c:60,5'
              BranchSideFuncs:
                - net_ip2addr
                - net_ip2addr
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - net_getpeername
                - getsockname
                - i_error
                - __errno_location
        - Branch String:   'fd-util.c:66,7'
          Branch Sides:
            - BranchSide:      'fd-util.c:69,55'
              BranchSideFuncs:
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - getsockname
                - i_error
                - __errno_location
                - t_strdup_printf
            - BranchSide:      'fd-util.c:97,4'
              BranchSideFuncs:
                - strerror
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - t_strdup_printf
                - t_readlink
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - t_strdup_printf
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - getsockname
                - i_error
                - __errno_location
        - Branch String:   'fd-util.c:69,8'
          Branch Sides:
            - BranchSide:      'fd-util.c:71,44'
              BranchSideFuncs:
                - t_strdup_printf
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - t_strdup_printf
                - t_readlink
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - getsockname
                - i_error
                - __errno_location
            - BranchSide:      'fd-util.c:83,5'
              BranchSideFuncs:
                - gnu_dev_major
                - dec2str
                - gnu_dev_minor
                - dec2str
                - dec2str
                - i_error
                - i_fatal
                - fcntl
                - __errno_location
                - net_getsockname
                - fstat
                - strerror
                - i_error
                - t_strdup_printf
                - t_readlink
                - t_strdup_printf
                - net_getpeername
                - net_ip2addr
                - net_ip2addr
                - i_error
                - getsockname
                - i_error
                - __errno_location
        - Branch String:   'fd-util.c:101,6'
          Branch Sides:
            - BranchSide:      'fd-util.c:102,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'fd-util.c:103,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'fd-util.c:34,7'
          Dst:             fcntl
        - Src:             'fd-util.c:34,38'
          Dst:             __errno_location
        - Src:             'fd-util.c:37,15'
          Dst:             __errno_location
        - Src:             'fd-util.c:39,7'
          Dst:             net_getsockname
        - Src:             'fd-util.c:45,9'
          Dst:             getsockname
        - Src:             'fd-util.c:49,5'
          Dst:             i_error
        - Src:             'fd-util.c:55,8'
          Dst:             net_getpeername
        - Src:             'fd-util.c:60,9'
          Dst:             net_ip2addr
        - Src:             'fd-util.c:61,5'
          Dst:             net_ip2addr
        - Src:             'fd-util.c:59,4'
          Dst:             i_error
        - Src:             'fd-util.c:66,7'
          Dst:             fstat
        - Src:             'fd-util.c:69,19'
          Dst:             t_strdup_printf
        - Src:             'fd-util.c:69,8'
          Dst:             t_readlink
        - Src:             'fd-util.c:71,13'
          Dst:             t_strdup_printf
        - Src:             'fd-util.c:83,24'
          Dst:             gnu_dev_major
        - Src:             'fd-util.c:83,16'
          Dst:             dec2str
        - Src:             'fd-util.c:84,13'
          Dst:             gnu_dev_minor
        - Src:             'fd-util.c:84,5'
          Dst:             dec2str
        - Src:             'fd-util.c:84,32'
          Dst:             dec2str
        - Src:             'fd-util.c:82,4'
          Dst:             i_error
        - Src:             'fd-util.c:97,8'
          Dst:             strerror
        - Src:             'fd-util.c:96,3'
          Dst:             i_error
        - Src:             'fd-util.c:102,3'
          Dst:             i_fatal
    - functionName:    getsockname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fstat
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gnu_dev_major
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gnu_dev_minor
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fd_close_on_exec
      functionSourceFile: '/src/dovecot/src/lib/fd-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 23
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - bool
      constantsTouched: []
      argNames:
        - fd
        - set
      BBCount:         10
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - fcntl
        - i_fatal
      functionUses:    7
      BranchProfiles:
        - Branch String:   'fd-util.c:17,6'
          Branch Sides:
            - BranchSide:      'fd-util.c:18,44'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'fd-util.c:20,10'
              BranchSideFuncs:
                - fcntl
                - i_fatal
        - Branch String:   'fd-util.c:20,10'
          Branch Sides:
            - BranchSide:      'fd-util.c:20,17'
              BranchSideFuncs:
                - fcntl
                - i_fatal
            - BranchSide:      'fd-util.c:20,40'
              BranchSideFuncs:
                - fcntl
                - i_fatal
        - Branch String:   'fd-util.c:21,6'
          Branch Sides:
            - BranchSide:      'fd-util.c:22,44'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'fd-util.c:23,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'fd-util.c:16,10'
          Dst:             fcntl
        - Src:             'fd-util.c:18,3'
          Dst:             i_fatal
        - Src:             'fd-util.c:21,6'
          Dst:             fcntl
        - Src:             'fd-util.c:22,3'
          Dst:             i_fatal
    - functionName:    my_hostdomain
      functionSourceFile: '/src/dovecot/src/lib/hostpid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          74
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - freeaddrinfo
        - getaddrinfo
        - getenv
        - i_strdup
      functionUses:    0
      BranchProfiles:
        - Branch String:   'hostpid.c:54,24'
          Branch Sides:
            - BranchSide:      'hostpid.c:53,14'
              BranchSideFuncs:
                - getenv
                - getaddrinfo
                - i_strdup
                - i_strdup
                - freeaddrinfo
                - i_strdup
            - BranchSide:      'hostpid.c:54,24'
              BranchSideFuncs:
                - getenv
                - getaddrinfo
                - i_strdup
                - i_strdup
                - freeaddrinfo
                - i_strdup
        - Branch String:   'hostpid.c:61,6'
          Branch Sides:
            - BranchSide:      'hostpid.c:62,10'
              BranchSideFuncs: []
            - BranchSide:      'hostpid.c:64,9'
              BranchSideFuncs:
                - getenv
                - getaddrinfo
                - i_strdup
                - i_strdup
                - freeaddrinfo
                - i_strdup
        - Branch String:   'hostpid.c:65,6'
          Branch Sides:
            - BranchSide:      'hostpid.c:66,24'
              BranchSideFuncs:
                - i_strdup
            - BranchSide:      'hostpid.c:70,18'
              BranchSideFuncs:
                - getaddrinfo
                - i_strdup
                - i_strdup
                - freeaddrinfo
        - Branch String:   'hostpid.c:70,6'
          Branch Sides:
            - BranchSide:      'hostpid.c:71,24'
              BranchSideFuncs:
                - i_strdup
                - freeaddrinfo
            - BranchSide:      'hostpid.c:77,23'
              BranchSideFuncs:
                - i_strdup
      Callsites:
        - Src:             'hostpid.c:64,9'
          Dst:             getenv
        - Src:             'hostpid.c:66,15'
          Dst:             i_strdup
        - Src:             'hostpid.c:70,6'
          Dst:             getaddrinfo
        - Src:             'hostpid.c:71,15'
          Dst:             i_strdup
        - Src:             'hostpid.c:72,3'
          Dst:             freeaddrinfo
        - Src:             'hostpid.c:77,14'
          Dst:             i_strdup
    - functionName:    getaddrinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freeaddrinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hostpid_deinit
      functionSourceFile: '/src/dovecot/src/lib/hostpid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'hostpid.c:47,2'
          Branch Sides:
            - BranchSide:      'hostpid.c:47,2'
              BranchSideFuncs:
                - p_free_internal.1014
                - p_free_internal.1014
            - BranchSide:      'hostpid.c:47,2'
              BranchSideFuncs:
                - p_free_internal.1014
                - p_free_internal.1014
      Callsites:
        - Src:             'hostpid.c:47,2'
          Dst:             p_free_internal
        - Src:             'hostpid.c:48,2'
          Dst:             p_free_internal
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    hostpid_init
      functionSourceFile: '/src/dovecot/src/lib/hostpid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          91
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - getenv
        - gethostname
        - getpid
        - i_fatal
        - i_snprintf
        - i_strdup
        - p_free_internal
        - strcspn
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'hostpid.c:24,2'
          Branch Sides:
            - BranchSide:      'hostpid.c:20,7'
              BranchSideFuncs:
                - p_free_internal.1014
                - p_free_internal.1014
                - getenv
                - strcspn
                - strlen
                - i_strdup
                - getpid
                - i_snprintf
                - i_fatal
                - gethostname
                - i_fatal
            - BranchSide:      'hostpid.c:24,2'
              BranchSideFuncs:
                - p_free_internal.1014
                - p_free_internal.1014
                - getenv
                - strcspn
                - strlen
                - i_strdup
                - getpid
                - i_snprintf
                - i_fatal
                - gethostname
                - i_fatal
        - Branch String:   'hostpid.c:28,6'
          Branch Sides:
            - BranchSide:      'hostpid.c:29,19'
              BranchSideFuncs:
                - gethostname
                - strcspn
                - strlen
                - i_strdup
                - getpid
                - i_snprintf
                - i_fatal
                - i_fatal
            - BranchSide:      'hostpid.c:35,6'
              BranchSideFuncs:
                - strcspn
                - strlen
                - i_strdup
                - getpid
                - i_snprintf
                - i_fatal
        - Branch String:   'hostpid.c:29,7'
          Branch Sides:
            - BranchSide:      'hostpid.c:30,4'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'hostpid.c:31,3'
              BranchSideFuncs:
                - strcspn
                - strlen
                - i_strdup
                - getpid
                - i_snprintf
                - i_fatal
        - Branch String:   'hostpid.c:35,23'
          Branch Sides:
            - BranchSide:      'hostpid.c:36,14'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'hostpid.c:37,44'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'hostpid.c:35,6'
          Branch Sides:
            - BranchSide:      'hostpid.c:37,44'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'hostpid.c:38,29'
              BranchSideFuncs:
                - i_strdup
                - getpid
                - i_snprintf
      Callsites:
        - Src:             'hostpid.c:24,2'
          Dst:             p_free_internal
        - Src:             'hostpid.c:25,2'
          Dst:             p_free_internal
        - Src:             'hostpid.c:27,10'
          Dst:             getenv
        - Src:             'hostpid.c:29,7'
          Dst:             gethostname
        - Src:             'hostpid.c:30,4'
          Dst:             i_fatal
        - Src:             'hostpid.c:36,6'
          Dst:             strcspn
        - Src:             'hostpid.c:36,51'
          Dst:             strlen
        - Src:             'hostpid.c:37,3'
          Dst:             i_fatal
        - Src:             'hostpid.c:38,20'
          Dst:             i_strdup
        - Src:             'hostpid.c:41,50'
          Dst:             getpid
        - Src:             'hostpid.c:41,2'
          Dst:             i_snprintf
    - functionName:    gethostname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcspn
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getpid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    i_strconcat
      functionSourceFile: '/src/dovecot/src/lib/imem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str1
      BBCount:         13
      ICount:          81
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - i_memcpy
        - i_panic
        - p_malloc
        - t_buffer_alloc
        - t_pop
        - t_push
        - vstrconcat
      functionUses:    0
      BranchProfiles:
        - Branch String:   'imem.c:65,2'
          Branch Sides:
            - BranchSide:      'imem.c:65,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'imem.c:67,2'
              BranchSideFuncs:
                - t_push
                - vstrconcat
                - t_buffer_alloc
                - p_malloc.1062
                - i_memcpy.1052
                - t_pop
                - i_panic
        - Branch String:   'imem.c:74,4'
          Branch Sides:
            - BranchSide:      'imem.c:74,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'imem.c:74,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'imem.c:65,2'
          Dst:             i_panic
        - Src:             'imem.c:69,2'
          Dst:             t_push
        - Src:             'imem.c:70,22'
          Dst:             vstrconcat
        - Src:             'imem.c:71,3'
          Dst:             t_buffer_alloc
        - Src:             'imem.c:72,9'
          Dst:             p_malloc
        - Src:             'imem.c:73,3'
          Dst:             i_memcpy
        - Src:             'imem.c:74,4'
          Dst:             t_pop
        - Src:             'imem.c:74,4'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    i_strdup_vprintf
      functionSourceFile: '/src/dovecot/src/lib/imem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
        - args
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_strdup_vprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'imem.c:56,9'
          Dst:             p_strdup_vprintf
    - functionName:    i_strdup_printf
      functionSourceFile: '/src/dovecot/src/lib/imem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_strdup_vprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'imem.c:49,8'
          Dst:             p_strdup_vprintf
    - functionName:    i_strndup
      functionSourceFile: '/src/dovecot/src/lib/imem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - max_chars
      BBCount:         7
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - p_strndup
      functionUses:    1
      BranchProfiles:
        - Branch String:   'imem.c:39,2'
          Branch Sides:
            - BranchSide:      'imem.c:39,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'imem.c:39,2'
              BranchSideFuncs:
                - p_strndup
      Callsites:
        - Src:             'imem.c:39,2'
          Dst:             i_panic
        - Src:             'imem.c:40,9'
          Dst:             p_strndup
    - functionName:    i_strdup_until
      functionSourceFile: '/src/dovecot/src/lib/imem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - end
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_strdup_until
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'imem.c:34,9'
          Dst:             p_strdup_until
    - functionName:    i_strdup_empty
      functionSourceFile: '/src/dovecot/src/lib/imem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 29
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_strdup_empty
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'imem.c:29,9'
          Dst:             p_strdup_empty
    - functionName:    i_memdup
      functionSourceFile: '/src/dovecot/src/lib/imem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 23
      functionLinenumberEnd: 24
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - data
        - size
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_memdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'imem.c:24,9'
          Dst:             p_memdup
    - functionName:    i_strdup
      functionSourceFile: '/src/dovecot/src/lib/imem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 19
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_strdup
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'imem.c:19,9'
          Dst:             p_strdup
    - functionName:    p_realloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - mem
        - old_size
        - new_size
      BBCount:         11
      ICount:          89
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:129,6'
          Branch Sides:
            - BranchSide:      './mempool.h:129,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:129,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:129,6'
          Branch Sides:
            - BranchSide:      './mempool.h:131,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:133,6'
              BranchSideFuncs: []
        - Branch String:   './mempool.h:133,6'
          Branch Sides:
            - BranchSide:      './mempool.h:134,10'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:136,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:130,3'
          Dst:             i_panic
    - functionName:    i_realloc
      functionSourceFile: '/src/dovecot/src/lib/imem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 14
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - mem
        - old_size
        - new_size
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_realloc
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'imem.c:14,9'
          Dst:             p_realloc
    - functionName:    i_malloc
      functionSourceFile: '/src/dovecot/src/lib/imem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 8
      functionLinenumberEnd: 9
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - size
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_malloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'imem.c:9,9'
          Dst:             p_malloc
    - functionName:    iostream_pump_switch_ioloop
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pump
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - iostream_pump_switch_ioloop_to
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'iostream-pump.c:250,2'
          Dst:             iostream_pump_switch_ioloop_to
    - functionName:    iostream_pump_switch_ioloop_to
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pump
        - ioloop
      BBCount:         10
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - i_stream_switch_ioloop_to
        - io_loop_move_io_to
        - o_stream_switch_ioloop_to
      functionUses:    1
      BranchProfiles:
        - Branch String:   'iostream-pump.c:241,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:241,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:242,6'
              BranchSideFuncs:
                - o_stream_switch_ioloop_to
                - i_stream_switch_ioloop_to
                - io_loop_move_io_to
        - Branch String:   'iostream-pump.c:242,6'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:242,6'
              BranchSideFuncs:
                - io_loop_move_io_to
                - o_stream_switch_ioloop_to
                - i_stream_switch_ioloop_to
            - BranchSide:      'iostream-pump.c:243,33'
              BranchSideFuncs:
                - io_loop_move_io_to
                - o_stream_switch_ioloop_to
                - i_stream_switch_ioloop_to
      Callsites:
        - Src:             'iostream-pump.c:241,2'
          Dst:             i_panic
        - Src:             'iostream-pump.c:243,14'
          Dst:             io_loop_move_io_to
        - Src:             'iostream-pump.c:244,2'
          Dst:             o_stream_switch_ioloop_to
        - Src:             'iostream-pump.c:245,2'
          Dst:             i_stream_switch_ioloop_to
    - functionName:    iostream_pump_is_waiting_output
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pump
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iostream_pump_destroy
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _pump
      BBCount:         10
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - i_stream_unref
        - iostream_pump_stop
        - iostream_pump_unref
        - o_stream_unref
      functionUses:    2
      BranchProfiles:
        - Branch String:   'iostream-pump.c:208,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:208,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:209,32'
              BranchSideFuncs:
                - iostream_pump_stop
                - o_stream_unref
                - i_stream_unref
                - iostream_pump_unref
        - Branch String:   'iostream-pump.c:211,6'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:212,3'
              BranchSideFuncs: []
            - BranchSide:      'iostream-pump.c:214,3'
              BranchSideFuncs:
                - iostream_pump_stop
                - o_stream_unref
                - i_stream_unref
                - iostream_pump_unref
      Callsites:
        - Src:             'iostream-pump.c:208,2'
          Dst:             i_panic
        - Src:             'iostream-pump.c:216,2'
          Dst:             iostream_pump_stop
        - Src:             'iostream-pump.c:217,2'
          Dst:             o_stream_unref
        - Src:             'iostream-pump.c:218,2'
          Dst:             i_stream_unref
        - Src:             'iostream-pump.c:220,2'
          Dst:             iostream_pump_unref
    - functionName:    iostream_pump_stop
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pump
      BBCount:         10
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - io_remove
        - o_stream_unset_flush_callback
      functionUses:    2
      BranchProfiles:
        - Branch String:   'iostream-pump.c:225,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:225,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:227,6'
              BranchSideFuncs:
                - io_remove
                - o_stream_unset_flush_callback
        - Branch String:   'iostream-pump.c:227,6'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:227,6'
              BranchSideFuncs:
                - o_stream_unset_flush_callback
                - io_remove
            - BranchSide:      'iostream-pump.c:228,33'
              BranchSideFuncs:
                - o_stream_unset_flush_callback
                - io_remove
      Callsites:
        - Src:             'iostream-pump.c:225,2'
          Dst:             i_panic
        - Src:             'iostream-pump.c:228,3'
          Dst:             o_stream_unset_flush_callback
        - Src:             'iostream-pump.c:230,2'
          Dst:             io_remove
    - functionName:    iostream_pump_unref
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _pump
      BBCount:         17
      ICount:          92
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - i_stream_unref
        - iostream_pump_stop
        - o_stream_unref
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'iostream-pump.c:186,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:186,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:187,32'
              BranchSideFuncs:
                - iostream_pump_stop
                - o_stream_unref
                - i_stream_unref
                - p_free_internal.1121
                - i_panic
        - Branch String:   'iostream-pump.c:189,6'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:190,3'
              BranchSideFuncs: []
            - BranchSide:      'iostream-pump.c:192,2'
              BranchSideFuncs:
                - iostream_pump_stop
                - o_stream_unref
                - i_stream_unref
                - p_free_internal.1121
                - i_panic
        - Branch String:   'iostream-pump.c:192,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:192,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:194,3'
              BranchSideFuncs:
                - iostream_pump_stop
                - o_stream_unref
                - i_stream_unref
                - p_free_internal.1121
        - Branch String:   'iostream-pump.c:196,6'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:197,3'
              BranchSideFuncs: []
            - BranchSide:      'iostream-pump.c:199,21'
              BranchSideFuncs:
                - iostream_pump_stop
                - o_stream_unref
                - i_stream_unref
                - p_free_internal.1121
      Callsites:
        - Src:             'iostream-pump.c:186,2'
          Dst:             i_panic
        - Src:             'iostream-pump.c:192,2'
          Dst:             i_panic
        - Src:             'iostream-pump.c:199,2'
          Dst:             iostream_pump_stop
        - Src:             'iostream-pump.c:201,2'
          Dst:             o_stream_unref
        - Src:             'iostream-pump.c:202,2'
          Dst:             i_stream_unref
        - Src:             'iostream-pump.c:203,2'
          Dst:             p_free_internal
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    iostream_pump_ref
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pump
      BBCount:         11
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'iostream-pump.c:179,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:179,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:180,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'iostream-pump.c:180,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:180,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:180,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'iostream-pump.c:179,2'
          Dst:             i_panic
        - Src:             'iostream-pump.c:180,2'
          Dst:             i_panic
    - functionName:    iostream_pump_set_completion_callback
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pump
        - callback
        - context
      BBCount:         7
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'iostream-pump.c:172,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:172,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:172,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'iostream-pump.c:172,2'
          Dst:             i_panic
    - functionName:    iostream_pump_get_output
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pump
      BBCount:         7
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'iostream-pump.c:164,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:164,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:164,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'iostream-pump.c:164,2'
          Dst:             i_panic
    - functionName:    iostream_pump_get_input
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pump
      BBCount:         7
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'iostream-pump.c:158,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:158,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:158,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'iostream-pump.c:158,2'
          Dst:             i_panic
    - functionName:    iostream_pump_copy
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pump
      BBCount:         25
      ICount:          222
      EdgeCount:       48
      CyclomaticComplexity: 25
      functionsReached:
        - i_panic
        - i_unreached
        - io_remove
        - o_stream_cork
        - o_stream_finish
        - o_stream_get_max_buffer_size
        - o_stream_send_istream
        - o_stream_set_max_buffer_size
        - o_stream_uncork
      functionUses:    3
      BranchProfiles:
        - Branch String:   'iostream-pump.c:36,3'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:35,2'
              BranchSideFuncs:
                - o_stream_set_max_buffer_size
                - o_stream_send_istream
                - o_stream_set_max_buffer_size
                - o_stream_uncork
                - i_panic
                - io_remove
                - o_stream_finish
                - io_remove
                - i_panic
                - io_remove
                - io_remove
                - i_unreached
            - BranchSide:      'iostream-pump.c:35,2'
              BranchSideFuncs:
                - o_stream_get_max_buffer_size
                - o_stream_set_max_buffer_size
                - o_stream_send_istream
                - o_stream_set_max_buffer_size
                - o_stream_uncork
                - i_panic
                - io_remove
                - o_stream_finish
                - io_remove
                - i_panic
                - io_remove
                - io_remove
                - i_unreached
        - Branch String:   'iostream-pump.c:42,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:44,14'
              BranchSideFuncs:
                - io_remove
            - BranchSide:      'iostream-pump.c:49,14'
              BranchSideFuncs:
                - io_remove
            - BranchSide:      'iostream-pump.c:54,3'
              BranchSideFuncs:
                - io_remove
                - i_panic
            - BranchSide:      'iostream-pump.c:59,3'
              BranchSideFuncs:
                - io_remove
                - o_stream_finish
            - BranchSide:      'iostream-pump.c:78,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:82,2'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'iostream-pump.c:54,3'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:54,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:55,3'
              BranchSideFuncs:
                - io_remove
        - Branch String:   'iostream-pump.c:62,3'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:64,4'
              BranchSideFuncs: []
            - BranchSide:      'iostream-pump.c:68,4'
              BranchSideFuncs: []
            - BranchSide:      'iostream-pump.c:72,4'
              BranchSideFuncs: []
        - Branch String:   'iostream-pump.c:78,3'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:78,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:79,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'iostream-pump.c:33,2'
          Dst:             o_stream_cork
        - Src:             'iostream-pump.c:34,13'
          Dst:             o_stream_get_max_buffer_size
        - Src:             'iostream-pump.c:36,3'
          Dst:             o_stream_get_max_buffer_size
        - Src:             'iostream-pump.c:36,3'
          Dst:             o_stream_get_max_buffer_size
        - Src:             'iostream-pump.c:35,2'
          Dst:             o_stream_set_max_buffer_size
        - Src:             'iostream-pump.c:38,8'
          Dst:             o_stream_send_istream
        - Src:             'iostream-pump.c:39,2'
          Dst:             o_stream_set_max_buffer_size
        - Src:             'iostream-pump.c:40,2'
          Dst:             o_stream_uncork
        - Src:             'iostream-pump.c:44,3'
          Dst:             io_remove
        - Src:             'iostream-pump.c:49,3'
          Dst:             io_remove
        - Src:             'iostream-pump.c:54,3'
          Dst:             i_panic
        - Src:             'iostream-pump.c:56,3'
          Dst:             io_remove
        - Src:             'iostream-pump.c:60,3'
          Dst:             io_remove
        - Src:             'iostream-pump.c:62,11'
          Dst:             o_stream_finish
        - Src:             'iostream-pump.c:78,3'
          Dst:             i_panic
        - Src:             'iostream-pump.c:82,2'
          Dst:             i_unreached
    - functionName:    iostream_pump_flush
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pump
      BBCount:         17
      ICount:          116
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - io_add_istream
        - io_set_pending
        - iostream_pump_copy
        - o_stream_flush
      functionUses:    1
      BranchProfiles:
        - Branch String:   'iostream-pump.c:89,6'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:90,7'
              BranchSideFuncs: []
            - BranchSide:      'iostream-pump.c:96,2'
              BranchSideFuncs:
                - io_add_istream
                - io_set_pending
                - iostream_pump_copy
        - Branch String:   'iostream-pump.c:90,7'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:91,4'
              BranchSideFuncs: []
            - BranchSide:      'iostream-pump.c:94,10'
              BranchSideFuncs: []
        - Branch String:   'iostream-pump.c:97,6'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:98,3'
              BranchSideFuncs: []
            - BranchSide:      'iostream-pump.c:102,6'
              BranchSideFuncs:
                - io_add_istream
                - io_set_pending
                - iostream_pump_copy
        - Branch String:   'iostream-pump.c:102,6'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:103,22'
              BranchSideFuncs:
                - iostream_pump_copy
            - BranchSide:      'iostream-pump.c:104,11'
              BranchSideFuncs:
                - io_add_istream
                - io_set_pending
      Callsites:
        - Src:             'iostream-pump.c:89,13'
          Dst:             o_stream_flush
        - Src:             'iostream-pump.c:103,3'
          Dst:             iostream_pump_copy
        - Src:             'iostream-pump.c:105,14'
          Dst:             io_add_istream
        - Src:             'iostream-pump.c:105,14'
          Dst:             iostream_pump_copy
        - Src:             'iostream-pump.c:107,3'
          Dst:             io_set_pending
    - functionName:    iostream_pump_start
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pump
      BBCount:         21
      ICount:          127
      EdgeCount:       23
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - io_add_istream
        - io_set_pending
        - iostream_pump_copy
        - iostream_pump_flush
        - o_stream_set_flush_callback
        - o_stream_set_flush_pending
      functionUses:    1
      BranchProfiles:
        - Branch String:   'iostream-pump.c:136,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:136,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:137,2'
              BranchSideFuncs:
                - o_stream_set_flush_callback
                - io_add_istream
                - io_set_pending
                - o_stream_set_flush_pending
                - i_panic
                - i_panic
        - Branch String:   'iostream-pump.c:137,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:137,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:140,7'
              BranchSideFuncs:
                - o_stream_set_flush_callback
                - io_add_istream
                - io_set_pending
                - o_stream_set_flush_pending
                - i_panic
        - Branch String:   'iostream-pump.c:140,6'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:141,3'
              BranchSideFuncs:
                - io_add_istream
                - io_set_pending
                - o_stream_set_flush_pending
                - i_panic
            - BranchSide:      'iostream-pump.c:146,6'
              BranchSideFuncs:
                - io_add_istream
                - io_set_pending
                - o_stream_set_flush_pending
                - i_panic
        - Branch String:   'iostream-pump.c:146,6'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:147,3'
              BranchSideFuncs:
                - o_stream_set_flush_pending
                - i_panic
            - BranchSide:      'iostream-pump.c:150,14'
              BranchSideFuncs:
                - io_add_istream
                - io_set_pending
        - Branch String:   'iostream-pump.c:147,3'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:147,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:148,30'
              BranchSideFuncs:
                - o_stream_set_flush_pending
      Callsites:
        - Src:             'iostream-pump.c:136,2'
          Dst:             i_panic
        - Src:             'iostream-pump.c:137,2'
          Dst:             i_panic
        - Src:             'iostream-pump.c:141,3'
          Dst:             o_stream_set_flush_callback
        - Src:             'iostream-pump.c:141,3'
          Dst:             iostream_pump_flush
        - Src:             'iostream-pump.c:147,3'
          Dst:             i_panic
        - Src:             'iostream-pump.c:148,3'
          Dst:             o_stream_set_flush_pending
        - Src:             'iostream-pump.c:150,14'
          Dst:             io_add_istream
        - Src:             'iostream-pump.c:150,14'
          Dst:             iostream_pump_copy
        - Src:             'iostream-pump.c:152,3'
          Dst:             io_set_pending
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    iostream_pump_create
      functionSourceFile: '/src/dovecot/src/lib/iostream-pump.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - output
      BBCount:         17
      ICount:          108
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - i_stream_ref
        - malloc_multiply_check
        - o_stream_ref
        - p_malloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'iostream-pump.c:117,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:117,2'
              BranchSideFuncs:
                - i_stream_ref
                - o_stream_ref
                - malloc_multiply_check.1134
                - p_malloc.1136
                - i_panic
                - i_panic
            - BranchSide:      'iostream-pump.c:117,2'
              BranchSideFuncs:
                - i_stream_ref
                - o_stream_ref
                - malloc_multiply_check.1134
                - p_malloc.1136
                - i_panic
                - i_panic
        - Branch String:   'iostream-pump.c:117,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:117,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:119,2'
              BranchSideFuncs:
                - i_stream_ref
                - o_stream_ref
                - malloc_multiply_check.1134
                - p_malloc.1136
                - i_panic
        - Branch String:   'iostream-pump.c:119,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:119,2'
              BranchSideFuncs:
                - i_stream_ref
                - o_stream_ref
                - malloc_multiply_check.1134
                - p_malloc.1136
                - i_panic
            - BranchSide:      'iostream-pump.c:119,2'
              BranchSideFuncs:
                - i_stream_ref
                - o_stream_ref
                - malloc_multiply_check.1134
                - p_malloc.1136
                - i_panic
        - Branch String:   'iostream-pump.c:119,2'
          Branch Sides:
            - BranchSide:      'iostream-pump.c:119,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream-pump.c:119,2'
              BranchSideFuncs:
                - i_stream_ref
                - o_stream_ref
                - malloc_multiply_check.1134
                - p_malloc.1136
      Callsites:
        - Src:             'iostream-pump.c:117,2'
          Dst:             i_panic
        - Src:             'iostream-pump.c:119,2'
          Dst:             i_panic
        - Src:             'iostream-pump.c:122,2'
          Dst:             i_stream_ref
        - Src:             'iostream-pump.c:123,2'
          Dst:             o_stream_ref
        - Src:             'iostream-pump.c:126,9'
          Dst:             malloc_multiply_check
        - Src:             'iostream-pump.c:126,9'
          Dst:             p_malloc
    - functionName:    seekable_i_stream_get_size
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1184
      functionLinenumberEnd: 1202
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         17
      ICount:          106
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - i_stream_get_data_size
        - i_stream_read
        - i_stream_seek
        - i_stream_skip
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:1185,6'
          Branch Sides:
            - BranchSide:      'istream.c:1186,23'
              BranchSideFuncs:
                - i_stream_get_data_size
                - i_stream_skip
                - i_stream_read
                - i_stream_seek
                - i_panic
            - BranchSide:      'istream.c:1200,28'
              BranchSideFuncs: []
        - Branch String:   'istream.c:1192,3'
          Branch Sides:
            - BranchSide:      'istream.c:1190,19'
              BranchSideFuncs:
                - i_stream_get_data_size
                - i_stream_skip
                - i_stream_read
                - i_stream_seek
                - i_panic
            - BranchSide:      'istream.c:1193,3'
              BranchSideFuncs:
                - i_stream_seek
                - i_panic
        - Branch String:   'istream.c:1193,3'
          Branch Sides:
            - BranchSide:      'istream.c:1193,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:1194,7'
              BranchSideFuncs:
                - i_stream_seek
        - Branch String:   'istream.c:1194,7'
          Branch Sides:
            - BranchSide:      'istream.c:1195,4'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1197,32'
              BranchSideFuncs:
                - i_stream_seek
      Callsites:
        - Src:             'istream.c:1191,5'
          Dst:             i_stream_get_data_size
        - Src:             'istream.c:1190,4'
          Dst:             i_stream_skip
        - Src:             'istream.c:1192,19'
          Dst:             i_stream_read
        - Src:             'istream.c:1193,3'
          Dst:             i_panic
        - Src:             'istream.c:1198,3'
          Dst:             i_stream_seek
    - functionName:    i_stream_get_data_size
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 771
      functionLinenumberEnd: 775
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_stream_get_data
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:774,8'
          Dst:             i_stream_get_data
    - functionName:    i_stream_skip
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 481
      functionLinenumberEnd: 507
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - count
      BBCount:         16
      ICount:          150
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - i_stream_free_buffer
      functionUses:    15
      BranchProfiles:
        - Branch String:   'istream.c:486,6'
          Branch Sides:
            - BranchSide:      'istream.c:488,23'
              BranchSideFuncs:
                - i_stream_free_buffer
            - BranchSide:      'istream.c:499,11'
              BranchSideFuncs: []
        - Branch String:   'istream.c:490,38'
          Branch Sides:
            - BranchSide:      'istream.c:491,7'
              BranchSideFuncs:
                - i_stream_free_buffer
            - BranchSide:      'istream.c:495,3'
              BranchSideFuncs: []
        - Branch String:   'istream.c:490,7'
          Branch Sides:
            - BranchSide:      'istream.c:492,20'
              BranchSideFuncs:
                - i_stream_free_buffer
            - BranchSide:      'istream.c:495,3'
              BranchSideFuncs: []
        - Branch String:   'istream.c:503,6'
          Branch Sides:
            - BranchSide:      'istream.c:503,6'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:503,6'
              BranchSideFuncs: []
        - Branch String:   'istream.c:503,6'
          Branch Sides:
            - BranchSide:      'istream.c:504,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:506,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:493,4'
          Dst:             i_stream_free_buffer
    - functionName:    i_stream_read
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 292
      functionLinenumberEnd: 341
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         17
      ICount:          106
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - i_stream_is_io_pending_until_read
        - i_stream_read_memarea
        - i_stream_set_input_pending
        - i_stream_snapshot_free
      functionUses:    5
      BranchProfiles:
        - Branch String:   'istream.c:313,36'
          Branch Sides:
            - BranchSide:      'istream.c:313,39'
              BranchSideFuncs:
                - i_stream_read_memarea
                - i_stream_is_io_pending_until_read
                - i_stream_set_input_pending
                - i_stream_snapshot_free
            - BranchSide:      'istream.c:315,4'
              BranchSideFuncs:
                - i_stream_read_memarea
                - i_stream_is_io_pending_until_read
                - i_stream_set_input_pending
                - i_stream_snapshot_free
        - Branch String:   'istream.c:313,6'
          Branch Sides:
            - BranchSide:      'istream.c:315,4'
              BranchSideFuncs:
                - i_stream_read_memarea
                - i_stream_is_io_pending_until_read
                - i_stream_set_input_pending
                - i_stream_snapshot_free
            - BranchSide:      'istream.c:317,30'
              BranchSideFuncs:
                - i_stream_read_memarea
                - i_stream_is_io_pending_until_read
                - i_stream_set_input_pending
                - i_stream_snapshot_free
        - Branch String:   'istream.c:318,6'
          Branch Sides:
            - BranchSide:      'istream.c:319,27'
              BranchSideFuncs:
                - i_stream_snapshot_free
                - i_stream_is_io_pending_until_read
                - i_stream_set_input_pending
            - BranchSide:      'istream.c:334,7'
              BranchSideFuncs:
                - i_stream_is_io_pending_until_read
                - i_stream_set_input_pending
        - Branch String:   'istream.c:334,28'
          Branch Sides:
            - BranchSide:      'istream.c:334,28'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:335,40'
              BranchSideFuncs:
                - i_stream_is_io_pending_until_read
                - i_stream_set_input_pending
        - Branch String:   'istream.c:334,6'
          Branch Sides:
            - BranchSide:      'istream.c:334,6'
              BranchSideFuncs:
                - i_stream_set_input_pending
            - BranchSide:      'istream.c:339,30'
              BranchSideFuncs:
                - i_stream_set_input_pending
      Callsites:
        - Src:             'istream.c:317,8'
          Dst:             i_stream_read_memarea
        - Src:             'istream.c:319,3'
          Dst:             i_stream_snapshot_free
        - Src:             'istream.c:335,6'
          Dst:             i_stream_is_io_pending_until_read
        - Src:             'istream.c:339,3'
          Dst:             i_stream_set_input_pending
    - functionName:    i_stream_seek
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 523
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - v_offset
      BBCount:         15
      ICount:          110
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - i_stream_can_optimize_seek
        - i_stream_skip
        - i_stream_update
      functionUses:    7
      BranchProfiles:
        - Branch String:   'istream.c:526,35'
          Branch Sides:
            - BranchSide:      'istream.c:527,33'
              BranchSideFuncs:
                - i_stream_can_optimize_seek
                - i_stream_update
                - i_stream_skip
            - BranchSide:      'istream.c:530,7'
              BranchSideFuncs:
                - i_stream_update
        - Branch String:   'istream.c:526,6'
          Branch Sides:
            - BranchSide:      'istream.c:528,17'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_update
            - BranchSide:      'istream.c:530,7'
              BranchSideFuncs:
                - i_stream_update
        - Branch String:   'istream.c:530,7'
          Branch Sides:
            - BranchSide:      'istream.c:530,7'
              BranchSideFuncs:
                - i_stream_update
            - BranchSide:      'istream.c:530,7'
              BranchSideFuncs:
                - i_stream_update
        - Branch String:   'istream.c:530,7'
          Branch Sides:
            - BranchSide:      'istream.c:531,4'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:534,3'
              BranchSideFuncs:
                - i_stream_update
      Callsites:
        - Src:             'istream.c:527,6'
          Dst:             i_stream_can_optimize_seek
        - Src:             'istream.c:528,3'
          Dst:             i_stream_skip
        - Src:             'istream.c:537,2'
          Dst:             i_stream_update
    - functionName:    i_stream_can_optimize_seek
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 520
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         8
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - i_stream_can_optimize_seek
      functionUses:    2
      BranchProfiles:
        - Branch String:   'istream.c:511,6'
          Branch Sides:
            - BranchSide:      'istream.c:512,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:515,6'
              BranchSideFuncs:
                - i_stream_can_optimize_seek
        - Branch String:   'istream.c:515,6'
          Branch Sides:
            - BranchSide:      'istream.c:517,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:519,36'
              BranchSideFuncs:
                - i_stream_can_optimize_seek
      Callsites:
        - Src:             'istream.c:519,9'
          Dst:             i_stream_can_optimize_seek
    - functionName:    i_stream_update
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         4
      ICount:          43
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   'istream.c:204,6'
          Branch Sides:
            - BranchSide:      'istream.c:205,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:208,4'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_read_memarea
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         62
      ICount:          419
      EdgeCount:       67
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - i_panic
        - i_stream_is_buffer_invalid
        - i_stream_seek
        - i_stream_update
      functionUses:    3
      BranchProfiles:
        - Branch String:   'istream.c:350,6'
          Branch Sides:
            - BranchSide:      'istream.c:350,6'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_seek
                - __errno_location
            - BranchSide:      'istream.c:350,6'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_seek
                - __errno_location
        - Branch String:   'istream.c:350,6'
          Branch Sides:
            - BranchSide:      'istream.c:351,3'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'istream.c:356,2'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_stream_seek
        - Branch String:   'istream.c:358,6'
          Branch Sides:
            - BranchSide:      'istream.c:359,17'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'istream.c:361,13'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'istream.c:362,6'
          Branch Sides:
            - BranchSide:      'istream.c:364,9'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'istream.c:368,3'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'istream.c:372,2'
          Branch Sides:
            - BranchSide:      'istream.c:372,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:373,10'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'istream.c:373,2'
          Branch Sides:
            - BranchSide:      'istream.c:375,3'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
            - BranchSide:      'istream.c:378,7'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
            - BranchSide:      'istream.c:389,3'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
            - BranchSide:      'istream.c:392,3'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'istream.c:375,3'
          Branch Sides:
            - BranchSide:      'istream.c:375,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:376,3'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
        - Branch String:   'istream.c:378,7'
          Branch Sides:
            - BranchSide:      'istream.c:381,4'
              BranchSideFuncs:
                - __errno_location
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
            - BranchSide:      'istream.c:384,4'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'istream.c:384,4'
          Branch Sides:
            - BranchSide:      'istream.c:384,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:385,4'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
        - Branch String:   'istream.c:385,4'
          Branch Sides:
            - BranchSide:      'istream.c:0,0'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:385,4'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'istream.c:389,3'
          Branch Sides:
            - BranchSide:      'istream.c:389,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:390,3'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
        - Branch String:   'istream.c:392,3'
          Branch Sides:
            - BranchSide:      'istream.c:392,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:393,3'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'istream.c:393,3'
          Branch Sides:
            - BranchSide:      'istream.c:393,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:394,3'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
                - i_panic
        - Branch String:   'istream.c:394,3'
          Branch Sides:
            - BranchSide:      'istream.c:394,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:395,3'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
        - Branch String:   'istream.c:399,6'
          Branch Sides:
            - BranchSide:      'istream.c:404,3'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
            - BranchSide:      'istream.c:407,18'
              BranchSideFuncs:
                - i_stream_update
                - i_stream_is_buffer_invalid
                - i_panic
        - Branch String:   'istream.c:410,2'
          Branch Sides:
            - BranchSide:      'istream.c:410,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:411,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:352,3'
          Dst:             __errno_location
        - Src:             'istream.c:359,3'
          Dst:             i_stream_seek
        - Src:             'istream.c:372,2'
          Dst:             i_panic
        - Src:             'istream.c:375,3'
          Dst:             i_panic
        - Src:             'istream.c:382,4'
          Dst:             __errno_location
        - Src:             'istream.c:384,4'
          Dst:             i_panic
        - Src:             'istream.c:385,4'
          Dst:             i_panic
        - Src:             'istream.c:389,3'
          Dst:             i_panic
        - Src:             'istream.c:392,3'
          Dst:             i_panic
        - Src:             'istream.c:393,3'
          Dst:             i_panic
        - Src:             'istream.c:394,3'
          Dst:             i_panic
        - Src:             'istream.c:407,2'
          Dst:             i_stream_update
        - Src:             'istream.c:410,2'
          Dst:             i_stream_is_buffer_invalid
        - Src:             'istream.c:410,2'
          Dst:             i_panic
    - functionName:    i_stream_snapshot_free
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _snapshot
      BBCount:         13
      ICount:          77
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_stream_snapshot_free
        - i_stream_unref
        - memarea_unref
        - p_free_internal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'istream.c:262,6'
          Branch Sides:
            - BranchSide:      'istream.c:263,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:264,3'
              BranchSideFuncs:
                - i_stream_snapshot_free
                - i_stream_unref
                - p_free_internal.1282
                - memarea_unref
        - Branch String:   'istream.c:267,6'
          Branch Sides:
            - BranchSide:      'istream.c:268,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:270,7'
              BranchSideFuncs:
                - i_stream_unref
                - p_free_internal.1282
                - memarea_unref
        - Branch String:   'istream.c:270,7'
          Branch Sides:
            - BranchSide:      'istream.c:271,19'
              BranchSideFuncs:
                - memarea_unref
                - i_stream_unref
                - p_free_internal.1282
            - BranchSide:      'istream.c:272,19'
              BranchSideFuncs:
                - i_stream_unref
                - p_free_internal.1282
      Callsites:
        - Src:             'istream.c:266,2'
          Dst:             i_stream_snapshot_free
        - Src:             'istream.c:271,4'
          Dst:             memarea_unref
        - Src:             'istream.c:272,3'
          Dst:             i_stream_unref
        - Src:             'istream.c:273,3'
          Dst:             p_free_internal
    - functionName:    i_stream_is_io_pending_until_read
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
      BBCount:         7
      ICount:          49
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:286,33'
          Branch Sides:
            - BranchSide:      'istream.c:286,37'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:286,2'
              BranchSideFuncs: []
        - Branch String:   'istream.c:286,2'
          Branch Sides:
            - BranchSide:      'istream.c:287,13'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:288,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_set_input_pending
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1026
      functionLinenumberEnd: 1037
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - pending
      BBCount:         8
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - i_stream_get_root_io
        - io_set_pending
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:1027,6'
          Branch Sides:
            - BranchSide:      'istream.c:1028,3'
              BranchSideFuncs:
                - i_stream_get_root_io
                - io_set_pending
            - BranchSide:      'istream.c:1030,2'
              BranchSideFuncs:
                - i_stream_get_root_io
                - io_set_pending
        - Branch String:   'istream.c:1033,6'
          Branch Sides:
            - BranchSide:      'istream.c:1034,18'
              BranchSideFuncs:
                - io_set_pending
            - BranchSide:      'istream.c:1036,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:1032,11'
          Dst:             i_stream_get_root_io
        - Src:             'istream.c:1034,3'
          Dst:             io_set_pending
    - functionName:    i_stream_get_root_io
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1017
      functionLinenumberEnd: 1022
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         10
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   'istream.c:1018,2'
          Branch Sides:
            - BranchSide:      'istream.c:1019,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:1022,9'
              BranchSideFuncs: []
        - Branch String:   'istream.c:1019,3'
          Branch Sides:
            - BranchSide:      'istream.c:1019,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:1020,12'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             'istream.c:1019,3'
          Dst:             i_panic
    - functionName:    i_stream_unref
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
      BBCount:         12
      ICount:          79
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - i_stream_snapshot_free
        - i_stream_unref
        - i_unreached
        - io_stream_free
        - io_stream_unref
        - str_free
      functionUses:    11
      BranchProfiles:
        - Branch String:   'istream.c:57,6'
          Branch Sides:
            - BranchSide:      'istream.c:58,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:60,3'
              BranchSideFuncs:
                - i_stream_snapshot_free
                - io_stream_unref
                - str_free
                - i_stream_unref
                - io_stream_free
                - i_unreached
                - io_stream_unref
                - i_unreached
        - Branch String:   'istream.c:63,6'
          Branch Sides:
            - BranchSide:      'istream.c:64,25'
              BranchSideFuncs:
                - io_stream_unref
                - i_unreached
            - BranchSide:      'istream.c:69,27'
              BranchSideFuncs:
                - i_stream_snapshot_free
                - io_stream_unref
                - str_free
                - i_stream_unref
                - io_stream_free
                - i_unreached
        - Branch String:   'istream.c:64,7'
          Branch Sides:
            - BranchSide:      'istream.c:65,4'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:66,2'
              BranchSideFuncs: []
        - Branch String:   'istream.c:71,7'
          Branch Sides:
            - BranchSide:      'istream.c:72,4'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'istream.c:73,13'
              BranchSideFuncs:
                - str_free
                - i_stream_unref
                - io_stream_free
      Callsites:
        - Src:             'istream.c:64,8'
          Dst:             io_stream_unref
        - Src:             'istream.c:65,4'
          Dst:             i_unreached
        - Src:             'istream.c:69,3'
          Dst:             i_stream_snapshot_free
        - Src:             'istream.c:71,7'
          Dst:             io_stream_unref
        - Src:             'istream.c:72,4'
          Dst:             i_unreached
        - Src:             'istream.c:73,3'
          Dst:             str_free
        - Src:             'istream.c:74,3'
          Dst:             i_stream_unref
        - Src:             'istream.c:75,3'
          Dst:             io_stream_free
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_is_buffer_invalid
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 712
      functionLinenumberEnd: 729
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         10
      ICount:          65
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - i_stream_is_buffer_invalid
      functionUses:    3
      BranchProfiles:
        - Branch String:   'istream.c:713,6'
          Branch Sides:
            - BranchSide:      'istream.c:715,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:717,6'
              BranchSideFuncs:
                - i_stream_is_buffer_invalid
        - Branch String:   'istream.c:717,6'
          Branch Sides:
            - BranchSide:      'istream.c:720,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:722,6'
              BranchSideFuncs:
                - i_stream_is_buffer_invalid
        - Branch String:   'istream.c:722,6'
          Branch Sides:
            - BranchSide:      'istream.c:726,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:728,36'
              BranchSideFuncs:
                - i_stream_is_buffer_invalid
      Callsites:
        - Src:             'istream.c:728,9'
          Dst:             i_stream_is_buffer_invalid
    - functionName:    i_stream_free_buffer
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 478
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         12
      ICount:          57
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - memarea_unref
        - p_free_internal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'istream.c:468,6'
          Branch Sides:
            - BranchSide:      'istream.c:469,18'
              BranchSideFuncs:
                - memarea_unref
            - BranchSide:      'istream.c:471,13'
              BranchSideFuncs:
                - p_free_internal.1282
        - Branch String:   'istream.c:471,13'
          Branch Sides:
            - BranchSide:      'istream.c:472,3'
              BranchSideFuncs:
                - p_free_internal.1282
            - BranchSide:      'istream.c:475,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:469,3'
          Dst:             memarea_unref
        - Src:             'istream.c:472,3'
          Dst:             p_free_internal
    - functionName:    i_stream_get_data
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 733
      functionLinenumberEnd: 768
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - size_r
      BBCount:         11
      ICount:          102
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - i_stream_is_buffer_invalid
      functionUses:    9
      BranchProfiles:
        - Branch String:   'istream.c:736,6'
          Branch Sides:
            - BranchSide:      'istream.c:737,4'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:741,6'
              BranchSideFuncs:
                - i_stream_is_buffer_invalid
        - Branch String:   'istream.c:741,6'
          Branch Sides:
            - BranchSide:      'istream.c:756,4'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:766,19'
              BranchSideFuncs: []
        - Branch String:   'istream.c:759,7'
          Branch Sides:
            - BranchSide:      'istream.c:760,20'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:763,10'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:741,6'
          Dst:             i_stream_is_buffer_invalid
    - functionName:    i_stream_w_buffer_free
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 861
      functionLinenumberEnd: 863
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - buf
      BBCount:         5
      ICount:          23
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:862,2'
          Dst:             p_free_internal
    - functionName:    i_stream_read_bytes
      functionSourceFile: '/src/dovecot/src/lib/./istream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - data_r
        - size_r
        - wanted
      BBCount:         7
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_read_data
      functionUses:    1
      BranchProfiles:
        - Branch String:   './istream.h:229,2'
          Branch Sides:
            - BranchSide:      './istream.h:229,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './istream.h:229,2'
              BranchSideFuncs:
                - i_stream_read_data
      Callsites:
        - Src:             './istream.h:229,2'
          Dst:             i_panic
        - Src:             './istream.h:230,9'
          Dst:             i_stream_read_data
    - functionName:    i_stream_read_data
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 794
      functionLinenumberEnd: 823
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - data_r
        - size_r
        - threshold
      BBCount:         26
      ICount:          140
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - i_panic
        - i_stream_get_data
        - i_stream_read
      functionUses:    6
      BranchProfiles:
        - Branch String:   'istream.c:800,7'
          Branch Sides:
            - BranchSide:      'istream.c:801,4'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:804,23'
              BranchSideFuncs:
                - i_stream_read
                - i_stream_get_data
                - i_panic
                - i_stream_get_data
        - Branch String:   'istream.c:805,7'
          Branch Sides:
            - BranchSide:      'istream.c:806,14'
              BranchSideFuncs:
                - i_stream_get_data
                - i_panic
                - i_stream_get_data
                - i_stream_read
            - BranchSide:      'istream.c:807,2'
              BranchSideFuncs:
                - i_stream_get_data
                - i_panic
                - i_stream_get_data
                - i_stream_read
        - Branch String:   'istream.c:807,2'
          Branch Sides:
            - BranchSide:      'istream.c:799,31'
              BranchSideFuncs:
                - i_stream_get_data
                - i_stream_read
                - i_stream_get_data
                - i_panic
            - BranchSide:      'istream.c:809,30'
              BranchSideFuncs:
                - i_stream_get_data
                - i_panic
        - Branch String:   'istream.c:810,6'
          Branch Sides:
            - BranchSide:      'istream.c:811,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:813,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'istream.c:813,6'
          Branch Sides:
            - BranchSide:      'istream.c:815,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:818,6'
              BranchSideFuncs: []
        - Branch String:   'istream.c:815,3'
          Branch Sides:
            - BranchSide:      'istream.c:815,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:816,3'
              BranchSideFuncs: []
        - Branch String:   'istream.c:818,32'
          Branch Sides:
            - BranchSide:      'istream.c:818,35'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:822,2'
              BranchSideFuncs: []
        - Branch String:   'istream.c:818,6'
          Branch Sides:
            - BranchSide:      'istream.c:820,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:822,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:799,13'
          Dst:             i_stream_get_data
        - Src:             'istream.c:804,9'
          Dst:             i_stream_read
        - Src:             'istream.c:809,12'
          Dst:             i_stream_get_data
        - Src:             'istream.c:815,3'
          Dst:             i_panic
    - functionName:    str_len
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_append_data
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - data
        - len
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:39,2'
          Dst:             buffer_append
    - functionName:    str_truncate
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - len
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_set_used_size
        - str_len
      functionUses:    1
      BranchProfiles:
        - Branch String:   './str.h:90,6'
          Branch Sides:
            - BranchSide:      './str.h:90,6'
              BranchSideFuncs:
                - buffer_set_used_size
            - BranchSide:      './str.h:91,24'
              BranchSideFuncs:
                - buffer_set_used_size
      Callsites:
        - Src:             './str.h:90,6'
          Dst:             str_len
        - Src:             './str.h:91,3'
          Dst:             buffer_set_used_size
    - functionName:    i_stream_create_error_str
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1338
      functionLinenumberEnd: 1346
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream_errno
        - fmt
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_stream_create_error
        - io_stream_set_verror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:1343,10'
          Dst:             i_stream_create_error
        - Src:             'istream.c:1344,2'
          Dst:             io_stream_set_verror
    - functionName:    i_stream_create_error
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1317
      functionLinenumberEnd: 1333
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - stream_errno
      BBCount:         3
      ICount:          71
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_stream_create
        - i_stream_set_name
        - malloc_multiply_check
        - p_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:1320,11'
          Dst:             malloc_multiply_check
        - Src:             'istream.c:1320,11'
          Dst:             p_malloc
        - Src:             'istream.c:1331,2'
          Dst:             i_stream_create
        - Src:             'istream.c:1332,2'
          Dst:             i_stream_set_name
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    i_stream_create
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1263
      functionLinenumberEnd: 1313
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - _stream
        - parent
        - fd
        - flags
      BBCount:         38
      ICount:          276
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - i_stream_init_parent
        - io_stream_init
        - memarea_init_empty
      functionUses:    4
      BranchProfiles:
        - Branch String:   'istream.c:1267,6'
          Branch Sides:
            - BranchSide:      'istream.c:1268,24'
              BranchSideFuncs:
                - i_stream_init_parent
                - io_stream_init
            - BranchSide:      'istream.c:1269,11'
              BranchSideFuncs:
                - io_stream_init
                - memarea_init_empty
        - Branch String:   'istream.c:1276,6'
          Branch Sides:
            - BranchSide:      'istream.c:1277,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'istream.c:1278,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'istream.c:1278,6'
          Branch Sides:
            - BranchSide:      'istream.c:1279,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'istream.c:1280,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'istream.c:1280,6'
          Branch Sides:
            - BranchSide:      'istream.c:1281,19'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'istream.c:1285,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'istream.c:1285,6'
          Branch Sides:
            - BranchSide:      'istream.c:1286,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'istream.c:1287,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'istream.c:1287,6'
          Branch Sides:
            - BranchSide:      'istream.c:1288,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'istream.c:1289,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'istream.c:1289,6'
          Branch Sides:
            - BranchSide:      'istream.c:1290,23'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'istream.c:1294,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'istream.c:1294,6'
          Branch Sides:
            - BranchSide:      'istream.c:1295,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'istream.c:1298,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'istream.c:1298,6'
          Branch Sides:
            - BranchSide:      'istream.c:1299,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'istream.c:1301,2'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'istream.c:1310,6'
          Branch Sides:
            - BranchSide:      'istream.c:1310,6'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1311,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:1268,3'
          Dst:             i_stream_init_parent
        - Src:             'istream.c:1272,22'
          Dst:             memarea_init_empty
        - Src:             'istream.c:1308,2'
          Dst:             io_stream_init
    - functionName:    i_stream_set_name
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 16
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - name
      BBCount:         5
      ICount:          44
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_strdup
        - p_free_internal
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:14,2'
          Dst:             p_free_internal
        - Src:             'istream.c:15,39'
          Dst:             i_strdup
    - functionName:    i_stream_init_parent
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1248
      functionLinenumberEnd: 1258
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
        - parent
      BBCount:         3
      ICount:          72
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_stream_ref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:1257,2'
          Dst:             i_stream_ref
    - functionName:    i_stream_default_close
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1093
      functionLinenumberEnd: 1099
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - close_parent
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_stream_close
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:1097,6'
          Branch Sides:
            - BranchSide:      'istream.c:1097,6'
              BranchSideFuncs:
                - i_stream_close
            - BranchSide:      'istream.c:1098,18'
              BranchSideFuncs:
                - i_stream_close
      Callsites:
        - Src:             'istream.c:1098,3'
          Dst:             i_stream_close
    - functionName:    i_stream_default_destroy
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1102
      functionLinenumberEnd: 1108
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_stream_free_buffer
        - i_stream_unref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:1106,2'
          Dst:             i_stream_free_buffer
        - Src:             'istream.c:1107,2'
          Dst:             i_stream_unref
    - functionName:    i_stream_default_seek_seekable
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1113
      functionLinenumberEnd: 1116
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - stream
        - v_offset
        - mark
      BBCount:         1
      ICount:          25
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_default_seek_nonseekable
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1120
      functionLinenumberEnd: 1151
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - stream
        - v_offset
        - mark
      BBCount:         16
      ICount:          135
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - i_panic
        - i_stream_get_name
        - i_stream_read
        - i_stream_skip
        - io_stream_set_error
      functionUses:    2
      BranchProfiles:
        - Branch String:   'istream.c:1123,6'
          Branch Sides:
            - BranchSide:      'istream.c:1125,23'
              BranchSideFuncs:
                - i_stream_get_name
                - i_panic
            - BranchSide:      'istream.c:1127,2'
              BranchSideFuncs:
                - i_stream_read
                - i_stream_skip
                - i_stream_skip
                - io_stream_set_error
        - Branch String:   'istream.c:1127,2'
          Branch Sides:
            - BranchSide:      'istream.c:1127,2'
              BranchSideFuncs:
                - i_stream_read
                - i_stream_skip
                - i_stream_skip
                - io_stream_set_error
            - BranchSide:      'istream.c:1128,24'
              BranchSideFuncs:
                - i_stream_read
                - i_stream_skip
                - i_stream_skip
                - io_stream_set_error
        - Branch String:   'istream.c:1131,7'
          Branch Sides:
            - BranchSide:      'istream.c:1132,8'
              BranchSideFuncs:
                - io_stream_set_error
            - BranchSide:      'istream.c:1144,7'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read
                - io_stream_set_error
                - i_stream_skip
        - Branch String:   'istream.c:1132,8'
          Branch Sides:
            - BranchSide:      'istream.c:1134,5'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1136,25'
              BranchSideFuncs:
                - io_stream_set_error
        - Branch String:   'istream.c:1144,7'
          Branch Sides:
            - BranchSide:      'istream.c:1145,19'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read
                - i_stream_skip
                - io_stream_set_error
            - BranchSide:      'istream.c:1147,19'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read
                - i_stream_skip
                - io_stream_set_error
      Callsites:
        - Src:             'istream.c:1125,4'
          Dst:             i_stream_get_name
        - Src:             'istream.c:1124,3'
          Dst:             i_panic
        - Src:             'istream.c:1128,9'
          Dst:             i_stream_read
        - Src:             'istream.c:1136,4'
          Dst:             io_stream_set_error
        - Src:             'istream.c:1145,4'
          Dst:             i_stream_skip
        - Src:             'istream.c:1147,4'
          Dst:             i_stream_skip
    - functionName:    i_stream_default_stat
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1206
      functionLinenumberEnd: 1231
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - exact
      BBCount:         19
      ICount:          119
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - i_stream_stat
        - seekable_i_stream_get_size
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:1209,6'
          Branch Sides:
            - BranchSide:      'istream.c:1210,10'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1212,20'
              BranchSideFuncs:
                - i_stream_stat
                - seekable_i_stream_get_size
        - Branch String:   'istream.c:1212,6'
          Branch Sides:
            - BranchSide:      'istream.c:1213,34'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1216,2'
              BranchSideFuncs:
                - seekable_i_stream_get_size
        - Branch String:   'istream.c:1220,7'
          Branch Sides:
            - BranchSide:      'istream.c:1221,35'
              BranchSideFuncs:
                - seekable_i_stream_get_size
            - BranchSide:      'istream.c:1224,2'
              BranchSideFuncs: []
        - Branch String:   'istream.c:1221,8'
          Branch Sides:
            - BranchSide:      'istream.c:1222,5'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1223,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:1212,6'
          Dst:             i_stream_stat
        - Src:             'istream.c:1221,8'
          Dst:             seekable_i_stream_get_size
    - functionName:    i_stream_default_get_size
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1236
      functionLinenumberEnd: 1244
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - exact
        - size_r
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:1237,6'
          Branch Sides:
            - BranchSide:      'istream.c:1238,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1239,6'
              BranchSideFuncs: []
        - Branch String:   'istream.c:1239,6'
          Branch Sides:
            - BranchSide:      'istream.c:1240,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1242,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_noop_snapshot
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 281
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - prev_snapshot
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_default_snapshot
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - prev_snapshot
      BBCount:         19
      ICount:          140
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - i_panic
        - i_stream_get_name
        - malloc_multiply_check
        - memarea_ref
        - p_malloc
        - snapshot_has_memarea
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:229,6'
          Branch Sides:
            - BranchSide:      'istream.c:230,7'
              BranchSideFuncs:
                - malloc_multiply_check.1304
                - p_malloc.1305
                - memarea_ref
                - snapshot_has_memarea
            - BranchSide:      'istream.c:242,6'
              BranchSideFuncs:
                - i_stream_get_name
                - i_panic
                - i_panic
        - Branch String:   'istream.c:230,7'
          Branch Sides:
            - BranchSide:      'istream.c:231,29'
              BranchSideFuncs:
                - snapshot_has_memarea
                - malloc_multiply_check.1304
                - p_malloc.1305
                - memarea_ref
            - BranchSide:      'istream.c:236,14'
              BranchSideFuncs:
                - malloc_multiply_check.1304
                - p_malloc.1305
                - memarea_ref
        - Branch String:   'istream.c:231,8'
          Branch Sides:
            - BranchSide:      'istream.c:232,12'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:233,3'
              BranchSideFuncs:
                - malloc_multiply_check.1304
                - p_malloc.1305
                - memarea_ref
        - Branch String:   'istream.c:242,6'
          Branch Sides:
            - BranchSide:      'istream.c:243,7'
              BranchSideFuncs:
                - i_stream_get_name
                - i_panic
                - i_panic
            - BranchSide:      'istream.c:254,3'
              BranchSideFuncs: []
        - Branch String:   'istream.c:243,7'
          Branch Sides:
            - BranchSide:      'istream.c:247,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:251,23'
              BranchSideFuncs:
                - i_stream_get_name
                - i_panic
        - Branch String:   'istream.c:247,4'
          Branch Sides:
            - BranchSide:      'istream.c:247,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:248,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:231,8'
          Dst:             snapshot_has_memarea
        - Src:             'istream.c:236,14'
          Dst:             malloc_multiply_check
        - Src:             'istream.c:236,14'
          Dst:             p_malloc
        - Src:             'istream.c:239,3'
          Dst:             memarea_ref
        - Src:             'istream.c:247,4'
          Dst:             i_panic
        - Src:             'istream.c:251,4'
          Dst:             i_stream_get_name
        - Src:             'istream.c:250,3'
          Dst:             i_panic
    - functionName:    i_stream_default_set_max_buffer_size
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1082
      functionLinenumberEnd: 1089
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - max_size
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_stream_set_max_buffer_size
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:1087,6'
          Branch Sides:
            - BranchSide:      'istream.c:1087,6'
              BranchSideFuncs:
                - i_stream_set_max_buffer_size
            - BranchSide:      'istream.c:1088,32'
              BranchSideFuncs:
                - i_stream_set_max_buffer_size
      Callsites:
        - Src:             'istream.c:1088,3'
          Dst:             i_stream_set_max_buffer_size
    - functionName:    i_stream_set_max_buffer_size
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - max_size
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_set_max_buffer_size
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:159,2'
          Dst:             io_stream_set_max_buffer_size
    - functionName:    snapshot_has_memarea
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - snapshot
        - memarea
      BBCount:         8
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - snapshot_has_memarea
      functionUses:    2
      BranchProfiles:
        - Branch String:   'istream.c:216,6'
          Branch Sides:
            - BranchSide:      'istream.c:217,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:218,6'
              BranchSideFuncs:
                - snapshot_has_memarea
        - Branch String:   'istream.c:218,6'
          Branch Sides:
            - BranchSide:      'istream.c:219,31'
              BranchSideFuncs:
                - snapshot_has_memarea
            - BranchSide:      'istream.c:220,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:219,10'
          Dst:             snapshot_has_memarea
    - functionName:    i_stream_get_name
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 19
      functionLinenumberEnd: 27
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         13
      ICount:          70
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
      functionUses:    8
      BranchProfiles:
        - Branch String:   'istream.c:20,2'
          Branch Sides:
            - BranchSide:      'istream.c:20,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:21,2'
              BranchSideFuncs: []
        - Branch String:   'istream.c:21,2'
          Branch Sides:
            - BranchSide:      'istream.c:22,12'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:26,9'
              BranchSideFuncs: []
        - Branch String:   'istream.c:23,7'
          Branch Sides:
            - BranchSide:      'istream.c:21,2'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:24,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:20,2'
          Dst:             i_panic
    - functionName:    i_stream_stat
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 566
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - exact
        - st_r
      BBCount:         11
      ICount:          93
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:569,6'
          Branch Sides:
            - BranchSide:      'istream.c:569,6'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:569,6'
              BranchSideFuncs: []
        - Branch String:   'istream.c:569,6'
          Branch Sides:
            - BranchSide:      'istream.c:570,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:572,6'
              BranchSideFuncs: []
        - Branch String:   'istream.c:572,6'
          Branch Sides:
            - BranchSide:      'istream.c:573,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:576,11'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_close
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_stream_close_full
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:148,6'
          Branch Sides:
            - BranchSide:      'istream.c:148,6'
              BranchSideFuncs:
                - i_stream_close_full
            - BranchSide:      'istream.c:149,23'
              BranchSideFuncs:
                - i_stream_close_full
      Callsites:
        - Src:             'istream.c:149,3'
          Dst:             i_stream_close_full
    - functionName:    i_stream_close_full
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - close_parents
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - io_stream_close
      functionUses:    2
      BranchProfiles:
        - Branch String:   'istream.c:34,6'
          Branch Sides:
            - BranchSide:      'istream.c:34,6'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:35,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:31,2'
          Dst:             io_stream_close
    - functionName:    i_stream_ref
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_ref
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:49,2'
          Dst:             io_stream_ref
    - functionName:    i_stream_nonseekable_try_seek
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1155
      functionLinenumberEnd: 1180
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - v_offset
      BBCount:         12
      ICount:          122
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - i_stream_default_seek_nonseekable
        - i_stream_seek
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:1158,6'
          Branch Sides:
            - BranchSide:      'istream.c:1160,17'
              BranchSideFuncs:
                - i_stream_seek
            - BranchSide:      'istream.c:1168,6'
              BranchSideFuncs:
                - i_stream_default_seek_nonseekable
        - Branch String:   'istream.c:1168,6'
          Branch Sides:
            - BranchSide:      'istream.c:1170,18'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1177,37'
              BranchSideFuncs:
                - i_stream_default_seek_nonseekable
        - Branch String:   'istream.c:1172,7'
          Branch Sides:
            - BranchSide:      'istream.c:1173,23'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1174,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:1160,3'
          Dst:             i_stream_seek
        - Src:             'istream.c:1177,3'
          Dst:             i_stream_default_seek_nonseekable
    - functionName:    i_stream_unset_io
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1070
      functionLinenumberEnd: 1077
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - io
      BBCount:         10
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - i_stream_get_root_io
        - io_is_pending
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:1073,2'
          Branch Sides:
            - BranchSide:      'istream.c:1073,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:1074,20'
              BranchSideFuncs:
                - io_is_pending
        - Branch String:   'istream.c:1074,6'
          Branch Sides:
            - BranchSide:      'istream.c:1074,6'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1075,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:1071,11'
          Dst:             i_stream_get_root_io
        - Src:             'istream.c:1073,2'
          Dst:             i_panic
        - Src:             'istream.c:1074,6'
          Dst:             io_is_pending
    - functionName:    i_stream_set_io
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1058
      functionLinenumberEnd: 1067
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - io
      BBCount:         10
      ICount:          73
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - i_stream_get_root_io
        - io_set_pending
      functionUses:    2
      BranchProfiles:
        - Branch String:   'istream.c:1061,2'
          Branch Sides:
            - BranchSide:      'istream.c:1061,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:1062,28'
              BranchSideFuncs:
                - io_set_pending
        - Branch String:   'istream.c:1063,6'
          Branch Sides:
            - BranchSide:      'istream.c:1063,6'
              BranchSideFuncs:
                - io_set_pending
            - BranchSide:      'istream.c:1064,18'
              BranchSideFuncs:
                - io_set_pending
      Callsites:
        - Src:             'istream.c:1059,11'
          Dst:             i_stream_get_root_io
        - Src:             'istream.c:1061,2'
          Dst:             i_panic
        - Src:             'istream.c:1064,3'
          Dst:             io_set_pending
    - functionName:    i_stream_switch_ioloop
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1053
      functionLinenumberEnd: 1055
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_stream_switch_ioloop_to
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:1054,2'
          Dst:             i_stream_switch_ioloop_to
    - functionName:    i_stream_switch_ioloop_to
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1040
      functionLinenumberEnd: 1050
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - ioloop
      BBCount:         10
      ICount:          68
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - io_stream_switch_ioloop_to
      functionUses:    2
      BranchProfiles:
        - Branch String:   'istream.c:1044,7'
          Branch Sides:
            - BranchSide:      'istream.c:1045,4'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1048,12'
              BranchSideFuncs: []
        - Branch String:   'istream.c:1049,2'
          Branch Sides:
            - BranchSide:      'istream.c:1044,7'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1050,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:1041,2'
          Dst:             io_stream_switch_ioloop_to
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    i_stream_add_data
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1001
      functionLinenumberEnd: 1014
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - _stream
        - data
        - size
      BBCount:         8
      ICount:          73
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - i_memcpy
        - i_stream_try_alloc
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:1005,6'
          Branch Sides:
            - BranchSide:      'istream.c:1006,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1007,27'
              BranchSideFuncs:
                - i_stream_try_alloc
                - i_memcpy.1326
        - Branch String:   'istream.c:1008,6'
          Branch Sides:
            - BranchSide:      'istream.c:1009,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:1011,2'
              BranchSideFuncs:
                - i_memcpy.1326
      Callsites:
        - Src:             'istream.c:1007,8'
          Dst:             i_stream_try_alloc
        - Src:             'istream.c:1011,2'
          Dst:             i_memcpy
    - functionName:    i_stream_try_alloc
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 919
      functionLinenumberEnd: 952
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - wanted_size
        - size_r
      BBCount:         41
      ICount:          244
      EdgeCount:       50
      CyclomaticComplexity: 11
      functionsReached:
        - i_panic
        - i_stream_compress
        - i_stream_get_max_buffer_size
        - i_stream_grow_buffer
        - i_stream_w_buffer_realloc
        - memarea_get_refcount
      functionUses:    6
      BranchProfiles:
        - Branch String:   'istream.c:920,2'
          Branch Sides:
            - BranchSide:      'istream.c:920,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:921,2'
              BranchSideFuncs:
                - i_panic
                - i_stream_get_max_buffer_size
                - i_stream_grow_buffer
                - i_stream_compress
                - memarea_get_refcount
                - i_stream_w_buffer_realloc
                - i_panic
        - Branch String:   'istream.c:921,2'
          Branch Sides:
            - BranchSide:      'istream.c:921,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:923,6'
              BranchSideFuncs:
                - i_panic
                - i_stream_get_max_buffer_size
                - i_stream_grow_buffer
                - i_stream_compress
                - memarea_get_refcount
                - i_stream_w_buffer_realloc
        - Branch String:   'istream.c:923,6'
          Branch Sides:
            - BranchSide:      'istream.c:924,7'
              BranchSideFuncs:
                - i_stream_get_max_buffer_size
                - i_panic
                - i_stream_grow_buffer
                - i_stream_compress
                - memarea_get_refcount
                - i_stream_w_buffer_realloc
            - BranchSide:      'istream.c:940,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'istream.c:924,7'
          Branch Sides:
            - BranchSide:      'istream.c:926,8'
              BranchSideFuncs:
                - i_stream_compress
                - i_panic
                - memarea_get_refcount
                - i_stream_w_buffer_realloc
            - BranchSide:      'istream.c:934,14'
              BranchSideFuncs:
                - i_stream_get_max_buffer_size
                - i_panic
                - i_stream_grow_buffer
        - Branch String:   'istream.c:926,32'
          Branch Sides:
            - BranchSide:      'istream.c:927,29'
              BranchSideFuncs:
                - memarea_get_refcount
                - i_stream_compress
                - i_panic
                - i_stream_w_buffer_realloc
            - BranchSide:      'istream.c:933,22'
              BranchSideFuncs:
                - i_stream_compress
                - i_panic
        - Branch String:   'istream.c:926,8'
          Branch Sides:
            - BranchSide:      'istream.c:931,31'
              BranchSideFuncs:
                - i_stream_w_buffer_realloc
                - i_stream_compress
                - i_panic
            - BranchSide:      'istream.c:933,22'
              BranchSideFuncs:
                - i_stream_compress
                - i_panic
        - Branch String:   'istream.c:940,30'
          Branch Sides:
            - BranchSide:      'istream.c:941,7'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:942,13'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'istream.c:940,6'
          Branch Sides:
            - BranchSide:      'istream.c:942,13'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:944,22'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'istream.c:946,7'
          Branch Sides:
            - BranchSide:      'istream.c:947,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:949,14'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'istream.c:951,2'
          Branch Sides:
            - BranchSide:      'istream.c:951,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:951,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'istream.c:951,2'
          Branch Sides:
            - BranchSide:      'istream.c:951,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:951,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:920,2'
          Dst:             i_panic
        - Src:             'istream.c:921,2'
          Dst:             i_panic
        - Src:             'istream.c:927,8'
          Dst:             memarea_get_refcount
        - Src:             'istream.c:931,5'
          Dst:             i_stream_w_buffer_realloc
        - Src:             'istream.c:933,4'
          Dst:             i_stream_compress
        - Src:             'istream.c:934,36'
          Dst:             i_stream_get_max_buffer_size
        - Src:             'istream.c:936,4'
          Dst:             i_stream_grow_buffer
        - Src:             'istream.c:951,2'
          Dst:             i_panic
    - functionName:    i_stream_w_buffer_realloc
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 867
      functionLinenumberEnd: 892
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - old_size
      BBCount:         19
      ICount:          133
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - i_malloc
        - i_memcpy
        - i_panic
        - i_realloc
        - i_stream_w_buffer_free
        - memarea_free_without_callback
        - memarea_get_refcount
        - memarea_init
        - memarea_unref
      functionUses:    3
      BranchProfiles:
        - Branch String:   'istream.c:870,30'
          Branch Sides:
            - BranchSide:      'istream.c:871,27'
              BranchSideFuncs:
                - memarea_get_refcount
                - i_malloc
                - memarea_init
                - memarea_unref
                - i_memcpy.1326
                - i_panic
                - memarea_free_without_callback
                - i_realloc
            - BranchSide:      'istream.c:878,25'
              BranchSideFuncs:
                - i_malloc
                - memarea_init
                - memarea_unref
                - i_memcpy.1326
                - i_panic
        - Branch String:   'istream.c:870,6'
          Branch Sides:
            - BranchSide:      'istream.c:874,34'
              BranchSideFuncs:
                - memarea_free_without_callback
                - i_realloc
                - memarea_init
            - BranchSide:      'istream.c:878,25'
              BranchSideFuncs:
                - i_malloc
                - memarea_init
                - memarea_unref
                - i_memcpy.1326
                - i_panic
        - Branch String:   'istream.c:879,7'
          Branch Sides:
            - BranchSide:      'istream.c:880,4'
              BranchSideFuncs:
                - i_memcpy.1326
                - memarea_init
                - memarea_unref
                - i_panic
            - BranchSide:      'istream.c:883,7'
              BranchSideFuncs:
                - memarea_init
                - memarea_unref
        - Branch String:   'istream.c:880,4'
          Branch Sides:
            - BranchSide:      'istream.c:880,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:881,4'
              BranchSideFuncs:
                - i_memcpy.1326
                - memarea_init
                - memarea_unref
      Callsites:
        - Src:             'istream.c:871,6'
          Dst:             memarea_get_refcount
        - Src:             'istream.c:874,3'
          Dst:             memarea_free_without_callback
        - Src:             'istream.c:875,16'
          Dst:             i_realloc
        - Src:             'istream.c:878,16'
          Dst:             i_malloc
        - Src:             'istream.c:880,4'
          Dst:             i_panic
        - Src:             'istream.c:881,4'
          Dst:             i_memcpy
        - Src:             'istream.c:884,4'
          Dst:             memarea_unref
        - Src:             'istream.c:890,20'
          Dst:             memarea_init
        - Src:             'istream.c:890,20'
          Dst:             i_stream_w_buffer_free
    - functionName:    i_stream_compress
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 847
      functionLinenumberEnd: 858
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         13
      ICount:          94
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - memarea_get_refcount
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:848,2'
          Branch Sides:
            - BranchSide:      'istream.c:848,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:848,2'
              BranchSideFuncs:
                - memarea_get_refcount
                - i_panic
        - Branch String:   'istream.c:848,2'
          Branch Sides:
            - BranchSide:      'istream.c:848,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:851,6'
              BranchSideFuncs: []
        - Branch String:   'istream.c:851,6'
          Branch Sides:
            - BranchSide:      'istream.c:851,6'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:852,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:848,2'
          Dst:             memarea_get_refcount
        - Src:             'istream.c:848,2'
          Dst:             i_panic
    - functionName:    i_stream_get_max_buffer_size
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         8
      ICount:          52
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'istream.c:167,7'
          Branch Sides:
            - BranchSide:      'istream.c:168,15'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:169,12'
              BranchSideFuncs: []
        - Branch String:   'istream.c:170,2'
          Branch Sides:
            - BranchSide:      'istream.c:167,7'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:171,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_grow_buffer
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 895
      functionLinenumberEnd: 915
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - bytes
      BBCount:         16
      ICount:          125
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - i_stream_get_max_buffer_size
        - i_stream_w_buffer_realloc
        - nearest_power
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:901,6'
          Branch Sides:
            - BranchSide:      'istream.c:902,25'
              BranchSideFuncs:
                - i_stream_get_max_buffer_size
                - i_stream_w_buffer_realloc
                - i_panic
            - BranchSide:      'istream.c:904,39'
              BranchSideFuncs:
                - nearest_power
                - i_stream_get_max_buffer_size
                - i_stream_w_buffer_realloc
                - i_panic
        - Branch String:   'istream.c:907,2'
          Branch Sides:
            - BranchSide:      'istream.c:907,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:908,6'
              BranchSideFuncs:
                - i_stream_w_buffer_realloc
        - Branch String:   'istream.c:908,6'
          Branch Sides:
            - BranchSide:      'istream.c:909,25'
              BranchSideFuncs:
                - i_stream_w_buffer_realloc
            - BranchSide:      'istream.c:911,6'
              BranchSideFuncs:
                - i_stream_w_buffer_realloc
        - Branch String:   'istream.c:911,6'
          Branch Sides:
            - BranchSide:      'istream.c:912,25'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:914,29'
              BranchSideFuncs:
                - i_stream_w_buffer_realloc
      Callsites:
        - Src:             'istream.c:904,25'
          Dst:             nearest_power
        - Src:             'istream.c:906,13'
          Dst:             i_stream_get_max_buffer_size
        - Src:             'istream.c:907,2'
          Dst:             i_panic
        - Src:             'istream.c:914,3'
          Dst:             i_stream_w_buffer_realloc
    - functionName:    i_stream_memarea_detach
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 988
      functionLinenumberEnd: 997
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - memarea_unref
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:989,6'
          Branch Sides:
            - BranchSide:      'istream.c:989,6'
              BranchSideFuncs:
                - memarea_unref
            - BranchSide:      'istream.c:992,18'
              BranchSideFuncs:
                - memarea_unref
      Callsites:
        - Src:             'istream.c:992,3'
          Dst:             memarea_unref
    - functionName:    i_stream_alloc
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 972
      functionLinenumberEnd: 984
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - size
      BBCount:         10
      ICount:          81
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - i_stream_try_alloc
        - i_stream_w_buffer_realloc
        - nearest_power
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:976,6'
          Branch Sides:
            - BranchSide:      'istream.c:976,6'
              BranchSideFuncs:
                - nearest_power
                - i_stream_w_buffer_realloc
                - i_stream_try_alloc
                - i_panic
            - BranchSide:      'istream.c:977,14'
              BranchSideFuncs:
                - nearest_power
                - i_stream_w_buffer_realloc
                - i_stream_try_alloc
                - i_panic
        - Branch String:   'istream.c:982,3'
          Branch Sides:
            - BranchSide:      'istream.c:982,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:983,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:975,8'
          Dst:             i_stream_try_alloc
        - Src:             'istream.c:978,25'
          Dst:             nearest_power
        - Src:             'istream.c:979,3'
          Dst:             i_stream_w_buffer_realloc
        - Src:             'istream.c:981,9'
          Dst:             i_stream_try_alloc
        - Src:             'istream.c:982,3'
          Dst:             i_panic
    - functionName:    i_stream_try_alloc_avoid_compress
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 958
      functionLinenumberEnd: 969
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - wanted_size
        - size_r
      BBCount:         9
      ICount:          71
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - i_stream_try_alloc
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:965,10'
          Branch Sides:
            - BranchSide:      'istream.c:965,13'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:966,10'
              BranchSideFuncs: []
        - Branch String:   'istream.c:965,6'
          Branch Sides:
            - BranchSide:      'istream.c:966,10'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:968,28'
              BranchSideFuncs:
                - i_stream_try_alloc
      Callsites:
        - Src:             'istream.c:963,13'
          Dst:             i_stream_try_alloc
        - Src:             'istream.c:968,9'
          Dst:             i_stream_try_alloc
    - functionName:    i_stream_read_more
      functionSourceFile: '/src/dovecot/src/lib/./istream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - data_r
        - size_r
      BBCount:         7
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_read_bytes
      functionUses:    1
      BranchProfiles:
        - Branch String:   './istream.h:238,2'
          Branch Sides:
            - BranchSide:      './istream.h:238,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './istream.h:238,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './istream.h:237,12'
          Dst:             i_stream_read_bytes
        - Src:             './istream.h:238,2'
          Dst:             i_panic
    - functionName:    i_stream_read_limited
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 827
      functionLinenumberEnd: 844
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - data_r
        - size_r
        - limit
      BBCount:         9
      ICount:          84
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - i_stream_get_data
        - i_stream_read_more
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:832,6'
          Branch Sides:
            - BranchSide:      'istream.c:833,13'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:837,24'
              BranchSideFuncs:
                - i_stream_read_more.1337
        - Branch String:   'istream.c:841,6'
          Branch Sides:
            - BranchSide:      'istream.c:842,13'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:843,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:831,12'
          Dst:             i_stream_get_data
        - Src:             'istream.c:838,8'
          Dst:             i_stream_read_more
    - functionName:    i_stream_get_modifiable_data
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 780
      functionLinenumberEnd: 790
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - size_r
      BBCount:         7
      ICount:          65
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:783,36'
          Branch Sides:
            - BranchSide:      'istream.c:783,39'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:784,4'
              BranchSideFuncs: []
        - Branch String:   'istream.c:783,6'
          Branch Sides:
            - BranchSide:      'istream.c:784,4'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:788,19'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_last_line_crlf
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 707
      functionLinenumberEnd: 708
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_read_next_line
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 680
      functionLinenumberEnd: 704
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         12
      ICount:          80
      EdgeCount:       12
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
        - i_stream_get_data_size
        - i_stream_last_line
        - i_stream_next_line
        - i_stream_read
        - io_stream_set_error
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:685,7'
          Branch Sides:
            - BranchSide:      'istream.c:686,4'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:688,25'
              BranchSideFuncs:
                - i_stream_read
                - i_stream_last_line
                - i_stream_get_data_size
                - io_stream_set_error
                - __errno_location
                - i_stream_next_line
        - Branch String:   'istream.c:688,3'
          Branch Sides:
            - BranchSide:      'istream.c:683,2'
              BranchSideFuncs:
                - i_stream_next_line
                - i_stream_read
                - i_stream_last_line
                - i_stream_get_data_size
                - io_stream_set_error
                - __errno_location
            - BranchSide:      'istream.c:690,25'
              BranchSideFuncs:
                - i_stream_get_data_size
                - io_stream_set_error
                - __errno_location
            - BranchSide:      'istream.c:698,30'
              BranchSideFuncs:
                - i_stream_last_line
            - BranchSide:      'istream.c:700,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:684,10'
          Dst:             i_stream_next_line
        - Src:             'istream.c:688,11'
          Dst:             i_stream_read
        - Src:             'istream.c:693,5'
          Dst:             i_stream_get_data_size
        - Src:             'istream.c:690,4'
          Dst:             io_stream_set_error
        - Src:             'istream.c:694,27'
          Dst:             __errno_location
        - Src:             'istream.c:698,11'
          Dst:             i_stream_last_line
    - functionName:    i_stream_next_line
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 662
      functionLinenumberEnd: 677
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         8
      ICount:          78
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - i_stream_last_line
        - i_stream_next_line_finish
        - memchr
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream.c:666,6'
          Branch Sides:
            - BranchSide:      'istream.c:667,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:669,15'
              BranchSideFuncs:
                - memchr
                - i_stream_last_line
                - i_stream_next_line_finish
        - Branch String:   'istream.c:671,6'
          Branch Sides:
            - BranchSide:      'istream.c:672,36'
              BranchSideFuncs:
                - i_stream_next_line_finish
            - BranchSide:      'istream.c:675,29'
              BranchSideFuncs:
                - i_stream_last_line
      Callsites:
        - Src:             'istream.c:669,8'
          Dst:             memchr
        - Src:             'istream.c:672,10'
          Dst:             i_stream_next_line_finish
        - Src:             'istream.c:675,10'
          Dst:             i_stream_last_line
    - functionName:    i_stream_last_line
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 652
      functionLinenumberEnd: 659
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
      BBCount:         11
      ICount:          64
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - i_stream_next_line_finish
      functionUses:    2
      BranchProfiles:
        - Branch String:   'istream.c:653,27'
          Branch Sides:
            - BranchSide:      'istream.c:653,30'
              BranchSideFuncs:
                - i_stream_next_line_finish
            - BranchSide:      'istream.c:658,2'
              BranchSideFuncs: []
        - Branch String:   'istream.c:653,60'
          Branch Sides:
            - BranchSide:      'istream.c:654,6'
              BranchSideFuncs:
                - i_stream_next_line_finish
            - BranchSide:      'istream.c:658,2'
              BranchSideFuncs: []
        - Branch String:   'istream.c:653,6'
          Branch Sides:
            - BranchSide:      'istream.c:656,36'
              BranchSideFuncs:
                - i_stream_next_line_finish
            - BranchSide:      'istream.c:658,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:656,10'
          Dst:             i_stream_next_line_finish
    - functionName:    i_stream_next_line_finish
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 616
      functionLinenumberEnd: 648
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - i
      BBCount:         24
      ICount:          203
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - str_append_data
        - str_c_modifiable
        - str_new
        - str_truncate
      functionUses:    2
      BranchProfiles:
        - Branch String:   'istream.c:620,23'
          Branch Sides:
            - BranchSide:      'istream.c:620,26'
              BranchSideFuncs:
                - str_truncate.1303
                - str_c_modifiable
                - str_append_data.1302
                - str_new
            - BranchSide:      'istream.c:624,9'
              BranchSideFuncs:
                - str_truncate.1303
                - str_c_modifiable
                - str_append_data.1302
                - str_new
        - Branch String:   'istream.c:620,6'
          Branch Sides:
            - BranchSide:      'istream.c:621,9'
              BranchSideFuncs:
                - str_truncate.1303
                - str_c_modifiable
                - str_append_data.1302
                - str_new
            - BranchSide:      'istream.c:624,9'
              BranchSideFuncs:
                - str_truncate.1303
                - str_c_modifiable
                - str_append_data.1302
                - str_new
        - Branch String:   'istream.c:628,41'
          Branch Sides:
            - BranchSide:      'istream.c:629,6'
              BranchSideFuncs:
                - str_truncate.1303
                - str_c_modifiable
                - str_append_data.1302
                - str_new
            - BranchSide:      'istream.c:635,7'
              BranchSideFuncs:
                - str_truncate.1303
                - str_c_modifiable
                - str_append_data.1302
                - str_new
        - Branch String:   'istream.c:628,6'
          Branch Sides:
            - BranchSide:      'istream.c:631,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:635,7'
              BranchSideFuncs:
                - str_truncate.1303
                - str_c_modifiable
                - str_append_data.1302
                - str_new
        - Branch String:   'istream.c:635,7'
          Branch Sides:
            - BranchSide:      'istream.c:636,31'
              BranchSideFuncs:
                - str_new
                - str_truncate.1303
                - str_c_modifiable
                - str_append_data.1302
            - BranchSide:      'istream.c:637,16'
              BranchSideFuncs:
                - str_truncate.1303
                - str_c_modifiable
                - str_append_data.1302
        - Branch String:   'istream.c:638,7'
          Branch Sides:
            - BranchSide:      'istream.c:639,20'
              BranchSideFuncs:
                - str_append_data.1302
                - str_c_modifiable
            - BranchSide:      'istream.c:641,26'
              BranchSideFuncs:
                - str_c_modifiable
        - Branch String:   'istream.c:644,6'
          Branch Sides:
            - BranchSide:      'istream.c:644,6'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:645,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:636,23'
          Dst:             str_new
        - Src:             'istream.c:637,3'
          Dst:             str_truncate
        - Src:             'istream.c:639,4'
          Dst:             str_append_data
        - Src:             'istream.c:641,9'
          Dst:             str_c_modifiable
    - functionName:    i_stream_get_absolute_offset
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 606
      functionLinenumberEnd: 612
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         4
      ICount:          39
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'istream.c:608,2'
          Branch Sides:
            - BranchSide:      'istream.c:609,17'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:612,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_read_eof
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 602
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_stream_get_data_size
        - i_stream_have_bytes_left
        - i_stream_read
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:600,6'
          Branch Sides:
            - BranchSide:      'istream.c:600,6'
              BranchSideFuncs:
                - i_stream_read
                - i_stream_have_bytes_left
            - BranchSide:      'istream.c:601,23'
              BranchSideFuncs:
                - i_stream_read
                - i_stream_have_bytes_left
      Callsites:
        - Src:             'istream.c:600,6'
          Dst:             i_stream_get_data_size
        - Src:             'istream.c:601,9'
          Dst:             i_stream_read
        - Src:             'istream.c:602,10'
          Dst:             i_stream_have_bytes_left
    - functionName:    i_stream_have_bytes_left
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 594
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_stream_get_data_size
      functionUses:    3
      BranchProfiles:
        - Branch String:   'istream.c:595,44'
          Branch Sides:
            - BranchSide:      'istream.c:595,44'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:595,48'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:595,9'
          Dst:             i_stream_get_data_size
    - functionName:    i_stream_get_size
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 581
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - exact
        - size_r
      BBCount:         12
      ICount:          94
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'istream.c:584,6'
          Branch Sides:
            - BranchSide:      'istream.c:584,6'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:584,6'
              BranchSideFuncs: []
        - Branch String:   'istream.c:584,6'
          Branch Sides:
            - BranchSide:      'istream.c:585,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:588,13'
              BranchSideFuncs: []
        - Branch String:   'istream.c:588,6'
          Branch Sides:
            - BranchSide:      'istream.c:589,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:590,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_sync
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 563
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         11
      ICount:          73
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - i_stream_update
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:556,6'
          Branch Sides:
            - BranchSide:      'istream.c:556,6'
              BranchSideFuncs:
                - i_stream_update
            - BranchSide:      'istream.c:556,6'
              BranchSideFuncs:
                - i_stream_update
        - Branch String:   'istream.c:556,6'
          Branch Sides:
            - BranchSide:      'istream.c:557,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:559,6'
              BranchSideFuncs:
                - i_stream_update
        - Branch String:   'istream.c:559,6'
          Branch Sides:
            - BranchSide:      'istream.c:559,6'
              BranchSideFuncs:
                - i_stream_update
            - BranchSide:      'istream.c:560,3'
              BranchSideFuncs:
                - i_stream_update
      Callsites:
        - Src:             'istream.c:561,3'
          Dst:             i_stream_update
    - functionName:    i_stream_seek_mark
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 541
      functionLinenumberEnd: 550
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - v_offset
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - i_stream_update
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:544,6'
          Branch Sides:
            - BranchSide:      'istream.c:544,6'
              BranchSideFuncs:
                - i_stream_update
            - BranchSide:      'istream.c:544,6'
              BranchSideFuncs:
                - i_stream_update
        - Branch String:   'istream.c:544,6'
          Branch Sides:
            - BranchSide:      'istream.c:545,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:547,2'
              BranchSideFuncs:
                - i_stream_update
      Callsites:
        - Src:             'istream.c:549,2'
          Dst:             i_stream_update
    - functionName:    i_stream_read_copy_from_parent
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 464
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - istream
      BBCount:         28
      ICount:          221
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - i_panic
        - i_stream_get_data
        - i_stream_read_memarea
        - i_stream_update
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:441,6'
          Branch Sides:
            - BranchSide:      'istream.c:442,7'
              BranchSideFuncs:
                - i_stream_update
                - i_panic
                - i_stream_update
            - BranchSide:      'istream.c:443,7'
              BranchSideFuncs:
                - i_stream_read_memarea
                - i_stream_get_data
                - i_stream_update
                - i_panic
                - i_stream_update
        - Branch String:   'istream.c:451,30'
          Branch Sides:
            - BranchSide:      'istream.c:451,33'
              BranchSideFuncs:
                - i_stream_update
                - i_panic
                - i_stream_update
                - i_stream_read_memarea
                - i_stream_get_data
            - BranchSide:      'istream.c:451,2'
              BranchSideFuncs:
                - i_stream_update
                - i_panic
                - i_stream_update
                - i_stream_read_memarea
                - i_stream_get_data
        - Branch String:   'istream.c:451,2'
          Branch Sides:
            - BranchSide:      'istream.c:0,0'
              BranchSideFuncs:
                - i_stream_read_memarea
                - i_stream_get_data
                - i_stream_update
                - i_panic
                - i_stream_update
            - BranchSide:      'istream.c:444,31'
              BranchSideFuncs:
                - i_stream_read_memarea
                - i_stream_get_data
                - i_stream_update
                - i_panic
                - i_stream_update
        - Branch String:   'istream.c:452,6'
          Branch Sides:
            - BranchSide:      'istream.c:453,19'
              BranchSideFuncs:
                - i_stream_update
            - BranchSide:      'istream.c:457,8'
              BranchSideFuncs:
                - i_stream_update
                - i_panic
        - Branch String:   'istream.c:457,8'
          Branch Sides:
            - BranchSide:      'istream.c:457,38'
              BranchSideFuncs:
                - i_stream_update
                - i_panic
            - BranchSide:      'istream.c:458,4'
              BranchSideFuncs:
                - i_stream_update
                - i_panic
        - Branch String:   'istream.c:460,2'
          Branch Sides:
            - BranchSide:      'istream.c:460,2'
              BranchSideFuncs:
                - i_stream_update
                - i_panic
            - BranchSide:      'istream.c:460,2'
              BranchSideFuncs:
                - i_stream_update
                - i_panic
        - Branch String:   'istream.c:460,2'
          Branch Sides:
            - BranchSide:      'istream.c:460,2'
              BranchSideFuncs:
                - i_stream_update
                - i_panic
            - BranchSide:      'istream.c:460,2'
              BranchSideFuncs:
                - i_stream_update
                - i_panic
        - Branch String:   'istream.c:460,2'
          Branch Sides:
            - BranchSide:      'istream.c:460,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:462,18'
              BranchSideFuncs:
                - i_stream_update
      Callsites:
        - Src:             'istream.c:440,19'
          Dst:             i_stream_get_data
        - Src:             'istream.c:444,9'
          Dst:             i_stream_read_memarea
        - Src:             'istream.c:447,20'
          Dst:             i_stream_get_data
        - Src:             'istream.c:453,3'
          Dst:             i_stream_update
        - Src:             'istream.c:460,2'
          Dst:             i_panic
        - Src:             'istream.c:462,2'
          Dst:             i_stream_update
    - functionName:    i_stream_get_last_read_time
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 427
      functionLinenumberEnd: 429
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - tv_r
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_read_more_memarea
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 424
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - data_r
        - size_r
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_stream_get_data
        - i_stream_read_memarea
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:418,6'
          Branch Sides:
            - BranchSide:      'istream.c:419,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:421,34'
              BranchSideFuncs:
                - i_stream_read_memarea
                - i_stream_get_data
      Callsites:
        - Src:             'istream.c:417,12'
          Dst:             i_stream_get_data
        - Src:             'istream.c:421,12'
          Dst:             i_stream_read_memarea
        - Src:             'istream.c:422,12'
          Dst:             i_stream_get_data
    - functionName:    i_stream_set_blocking
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - blocking
      BBCount:         12
      ICount:          94
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - fd_set_nonblock
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:193,37'
          Branch Sides:
            - BranchSide:      'istream.c:194,7'
              BranchSideFuncs:
                - fd_set_nonblock
            - BranchSide:      'istream.c:198,12'
              BranchSideFuncs:
                - fd_set_nonblock
        - Branch String:   'istream.c:193,7'
          Branch Sides:
            - BranchSide:      'istream.c:195,20'
              BranchSideFuncs:
                - fd_set_nonblock
            - BranchSide:      'istream.c:198,12'
              BranchSideFuncs:
                - fd_set_nonblock
        - Branch String:   'istream.c:199,2'
          Branch Sides:
            - BranchSide:      'istream.c:192,22'
              BranchSideFuncs:
                - fd_set_nonblock
            - BranchSide:      'istream.c:200,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:195,4'
          Dst:             fd_set_nonblock
    - functionName:    i_stream_set_persistent_buffers
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - set
      BBCount:         5
      ICount:          43
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:184,2'
          Branch Sides:
            - BranchSide:      'istream.c:182,49'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:185,1'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_set_return_partial_line
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - set
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_set_init_buffer_size
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - size
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_get_disconnect_reason
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_get_disconnect_reason
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:143,9'
          Dst:             io_stream_get_disconnect_reason
    - functionName:    i_stream_get_error
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         15
      ICount:          93
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - strerror
      functionUses:    5
      BranchProfiles:
        - Branch String:   'istream.c:129,6'
          Branch Sides:
            - BranchSide:      'istream.c:130,10'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:132,11'
              BranchSideFuncs:
                - strerror
        - Branch String:   'istream.c:132,2'
          Branch Sides:
            - BranchSide:      'istream.c:133,7'
              BranchSideFuncs:
                - strerror
            - BranchSide:      'istream.c:138,18'
              BranchSideFuncs:
                - strerror
        - Branch String:   'istream.c:133,7'
          Branch Sides:
            - BranchSide:      'istream.c:134,4'
              BranchSideFuncs:
                - strerror
            - BranchSide:      'istream.c:135,7'
              BranchSideFuncs:
                - strerror
        - Branch String:   'istream.c:135,7'
          Branch Sides:
            - BranchSide:      'istream.c:136,11'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:137,2'
              BranchSideFuncs:
                - strerror
      Callsites:
        - Src:             'istream.c:138,9'
          Dst:             strerror
    - functionName:    i_stream_set_error
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - stream_errno
        - fmt
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_set_verror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:118,2'
          Dst:             io_stream_set_verror
    - functionName:    i_stream_copy_fd
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dest
        - source
      BBCount:         11
      ICount:          84
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_get_fd
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:105,2'
          Branch Sides:
            - BranchSide:      'istream.c:105,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:106,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'istream.c:106,2'
          Branch Sides:
            - BranchSide:      'istream.c:106,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream.c:106,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream.c:103,11'
          Dst:             i_stream_get_fd
        - Src:             'istream.c:105,2'
          Dst:             i_panic
        - Src:             'istream.c:106,2'
          Dst:             i_panic
    - functionName:    i_stream_get_fd
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_remove_destroy_callback
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - callback
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_remove_destroy_callback
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:90,2'
          Dst:             io_stream_remove_destroy_callback
    - functionName:    i_stream_add_destroy_callback
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - callback
        - context
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_add_destroy_callback
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'istream.c:83,2'
          Dst:             io_stream_add_destroy_callback
    - functionName:    i_stream_destroy
      functionSourceFile: '/src/dovecot/src/lib/istream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_stream_close_full
        - i_stream_unref
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream.c:40,6'
          Branch Sides:
            - BranchSide:      'istream.c:41,3'
              BranchSideFuncs: []
            - BranchSide:      'istream.c:43,23'
              BranchSideFuncs:
                - i_stream_close_full
                - i_stream_unref
      Callsites:
        - Src:             'istream.c:43,2'
          Dst:             i_stream_close_full
        - Src:             'istream.c:44,2'
          Dst:             i_stream_unref
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_copied_data_free
      functionSourceFile: '/src/dovecot/src/lib/istream-data.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
      BBCount:         5
      ICount:          23
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'istream-data.c:42,2'
          Dst:             p_free_internal
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    i_stream_create_copy_from_data
      functionSourceFile: '/src/dovecot/src/lib/istream-data.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - data
        - size
      BBCount:         9
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - i_malloc
        - i_memcpy
        - i_stream_add_destroy_callback
        - i_stream_copied_data_free
        - i_stream_create_from_data
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream-data.c:50,6'
          Branch Sides:
            - BranchSide:      'istream-data.c:51,10'
              BranchSideFuncs:
                - i_stream_create_from_data
                - i_stream_add_destroy_callback
            - BranchSide:      'istream-data.c:53,21'
              BranchSideFuncs:
                - i_malloc
                - i_memcpy.1371
                - i_stream_create_from_data
                - i_stream_add_destroy_callback
        - Branch String:   'istream-data.c:57,6'
          Branch Sides:
            - BranchSide:      'istream-data.c:57,6'
              BranchSideFuncs:
                - i_stream_add_destroy_callback
            - BranchSide:      'istream-data.c:58,3'
              BranchSideFuncs:
                - i_stream_add_destroy_callback
      Callsites:
        - Src:             'istream-data.c:53,12'
          Dst:             i_malloc
        - Src:             'istream-data.c:54,3'
          Dst:             i_memcpy
        - Src:             'istream-data.c:56,11'
          Dst:             i_stream_create_from_data
        - Src:             'istream-data.c:58,3'
          Dst:             i_stream_add_destroy_callback
        - Src:             'istream-data.c:58,3'
          Dst:             i_stream_copied_data_free
    - functionName:    i_stream_create_from_data
      functionSourceFile: '/src/dovecot/src/lib/istream-data.c'
      linkageType:     InternalLinkage
      functionLinenumber: 20
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - data
        - size
      BBCount:         3
      ICount:          74
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_stream_create
        - i_stream_set_name
        - malloc_multiply_check
        - p_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'istream-data.c:23,11'
          Dst:             malloc_multiply_check
        - Src:             'istream-data.c:23,11'
          Dst:             p_malloc
        - Src:             'istream-data.c:34,2'
          Dst:             i_stream_create
        - Src:             'istream-data.c:36,2'
          Dst:             i_stream_set_name
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    i_stream_data_read
      functionSourceFile: '/src/dovecot/src/lib/istream-data.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7
      functionLinenumberEnd: 9
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_data_seek
      functionSourceFile: '/src/dovecot/src/lib/istream-data.c'
      linkageType:     InternalLinkage
      functionLinenumber: 14
      functionLinenumberEnd: 17
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - stream
        - v_offset
        - mark
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_get_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - count_r
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:253,13'
          Dst:             array_count_i
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_clear_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_set_used_size
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:191,2'
          Dst:             buffer_set_used_size
    - functionName:    timeval_sub_usecs
      functionSourceFile: '/src/dovecot/src/lib/./time-util.h'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - tv
        - usecs
      BBCount:         10
      ICount:          72
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './time-util.h:52,2'
          Branch Sides:
            - BranchSide:      './time-util.h:52,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './time-util.h:53,25'
              BranchSideFuncs: []
        - Branch String:   './time-util.h:55,6'
          Branch Sides:
            - BranchSide:      './time-util.h:55,6'
              BranchSideFuncs: []
            - BranchSide:      './time-util.h:56,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             './time-util.h:52,2'
          Dst:             i_panic
    - functionName:    io_loop_timeouts_update
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 598
      functionLinenumberEnd: 612
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ioloop
        - diff_usecs
      BBCount:         10
      ICount:          80
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - priorityq_count
        - priorityq_items
        - timeval_add_usecs
        - timeval_sub_usecs
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:604,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:605,42'
              BranchSideFuncs:
                - timeval_sub_usecs
                - timeval_add_usecs
            - BranchSide:      'ioloop.c:612,1'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:607,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:608,23'
              BranchSideFuncs:
                - timeval_add_usecs
                - timeval_sub_usecs
            - BranchSide:      'ioloop.c:610,23'
              BranchSideFuncs:
                - timeval_sub_usecs
                - timeval_add_usecs
      Callsites:
        - Src:             'ioloop.c:602,10'
          Dst:             priorityq_count
        - Src:             'ioloop.c:603,10'
          Dst:             priorityq_items
        - Src:             'ioloop.c:608,4'
          Dst:             timeval_add_usecs
        - Src:             'ioloop.c:610,4'
          Dst:             timeval_sub_usecs
    - functionName:    timeval_add_usecs
      functionSourceFile: '/src/dovecot/src/lib/./time-util.h'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - tv
        - usecs
      BBCount:         10
      ICount:          72
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './time-util.h:40,2'
          Branch Sides:
            - BranchSide:      './time-util.h:40,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './time-util.h:41,25'
              BranchSideFuncs: []
        - Branch String:   './time-util.h:43,6'
          Branch Sides:
            - BranchSide:      './time-util.h:43,6'
              BranchSideFuncs: []
            - BranchSide:      './time-util.h:44,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             './time-util.h:40,2'
          Dst:             i_panic
    - functionName:    ioloop_add_wait_time
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 623
      functionLinenumberEnd: 638
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         10
      ICount:          71
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - timeval_diff_usecs
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:628,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:630,8'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:633,31'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:636,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:637,19'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:638,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:627,9'
          Dst:             timeval_diff_usecs
    - functionName:    io_loops_timeouts_update
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 615
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - diff_usecs
      BBCount:         7
      ICount:          37
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - io_loop_timeouts_update
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ioloop.c:618,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:619,27'
              BranchSideFuncs:
                - io_loop_timeouts_update
            - BranchSide:      'ioloop.c:620,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:619,3'
          Dst:             io_loop_timeouts_update
    - functionName:    timeval_add_msecs
      functionSourceFile: '/src/dovecot/src/lib/./time-util.h'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - tv
        - msecs
      BBCount:         4
      ICount:          51
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './time-util.h:66,6'
          Branch Sides:
            - BranchSide:      './time-util.h:66,6'
              BranchSideFuncs: []
            - BranchSide:      './time-util.h:67,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    timeout_get_wait_time
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - timeout
        - tv_r
        - tv_now
        - in_timeout_loop
      BBCount:         39
      ICount:          270
      EdgeCount:       48
      CyclomaticComplexity: 11
      functionsReached:
        - i_gettimeofday
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ioloop.c:460,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:461,18'
              BranchSideFuncs:
                - i_gettimeofday
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'ioloop.c:462,17'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'ioloop.c:465,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:465,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:466,2'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'ioloop.c:466,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:466,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:468,17'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:470,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:471,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:475,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:475,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:477,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:481,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:481,24'
          Branch Sides:
            - BranchSide:      'ioloop.c:481,27'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:487,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:481,46'
          Branch Sides:
            - BranchSide:      'ioloop.c:481,50'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:487,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:481,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:484,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:487,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:487,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:488,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:491,8'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:492,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:492,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:492,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:492,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:492,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:492,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:492,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:492,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:493,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:461,3'
          Dst:             i_gettimeofday
        - Src:             'ioloop.c:465,2'
          Dst:             i_panic
        - Src:             'ioloop.c:466,2'
          Dst:             i_panic
        - Src:             'ioloop.c:492,2'
          Dst:             i_panic
    - functionName:    io_file_unlink
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - io
      BBCount:         10
      ICount:          84
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:144,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:145,20'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:147,29'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:149,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:150,20'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:154,6'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:154,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:154,6'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:155,33'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    io_loop_get_active_global_root
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1377
      functionLinenumberEnd: 1383
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:1378,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1379,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1380,6'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:1380,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1381,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1382,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    io_wait_timer_get_usecs
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1372
      functionLinenumberEnd: 1373
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - timer
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_wait_timer_move
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1358
      functionLinenumberEnd: 1359
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _timer
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_wait_timer_move_to
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:1359,9'
          Dst:             io_wait_timer_move_to
    - functionName:    io_wait_timer_move_to
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1347
      functionLinenumberEnd: 1354
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - _timer
        - ioloop
      BBCount:         17
      ICount:          130
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:1351,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1351,2'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1351,2'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:1351,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1351,2'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1352,2'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:1352,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1352,2'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1352,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    io_wait_timer_add
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1340
      functionLinenumberEnd: 1342
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source_filename
        - source_linenum
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_wait_timer_add_to
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:1341,9'
          Dst:             io_wait_timer_add_to
    - functionName:    io_wait_timer_add_to
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1326
      functionLinenumberEnd: 1334
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ioloop
        - source_filename
        - source_linenum
      BBCount:         8
      ICount:          77
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - malloc_multiply_check
        - p_malloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:1333,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1333,2'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1333,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:1329,10'
          Dst:             malloc_multiply_check
        - Src:             'ioloop.c:1329,10'
          Dst:             p_malloc
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    5
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    5
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    io_loop_find_fd_conditions
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1309
      functionLinenumberEnd: 1319
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ioloop
        - fd
      BBCount:         14
      ICount:          82
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop.c:1313,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1313,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1315,12'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:1315,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1316,7'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1319,9'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:1316,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:1317,18'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1318,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:1313,2'
          Dst:             i_panic
    - functionName:    io_loop_get_wait_usecs
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1304
      functionLinenumberEnd: 1305
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_loop_is_empty
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1297
      functionLinenumberEnd: 1300
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - array_count_i
        - priorityq_count
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop.c:1298,34'
          Branch Sides:
            - BranchSide:      'ioloop.c:1298,34'
              BranchSideFuncs:
                - priorityq_count
                - array_count_i.1560
            - BranchSide:      'ioloop.c:1299,19'
              BranchSideFuncs:
                - priorityq_count
                - array_count_i.1560
        - Branch String:   'ioloop.c:1299,42'
          Branch Sides:
            - BranchSide:      'ioloop.c:1299,42'
              BranchSideFuncs:
                - array_count_i.1560
            - BranchSide:      'ioloop.c:1300,3'
              BranchSideFuncs:
                - array_count_i.1560
      Callsites:
        - Src:             'ioloop.c:1299,3'
          Dst:             priorityq_count
        - Src:             'ioloop.c:1300,3'
          Dst:             array_count_i
    - functionName:    io_loop_have_immediate_timeouts
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1290
      functionLinenumberEnd: 1293
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_loop_get_wait_time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:1293,9'
          Dst:             io_loop_get_wait_time
    - functionName:    io_loop_get_wait_time
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
        - tv_r
      BBCount:         21
      ICount:          157
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - i_gettimeofday
        - i_panic
        - priorityq_peek
        - timeout_get_wait_time
        - timeval_add_msecs
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ioloop.c:509,22'
          Branch Sides:
            - BranchSide:      'ioloop.c:509,25'
              BranchSideFuncs:
                - timeout_get_wait_time
                - timeval_add_msecs
                - i_panic
                - i_gettimeofday
            - BranchSide:      'ioloop.c:519,6'
              BranchSideFuncs:
                - timeout_get_wait_time
                - timeval_add_msecs
                - i_panic
                - i_gettimeofday
        - Branch String:   'ioloop.c:509,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:512,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:519,6'
              BranchSideFuncs:
                - timeout_get_wait_time
                - timeval_add_msecs
                - i_panic
                - i_gettimeofday
        - Branch String:   'ioloop.c:519,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:520,3'
              BranchSideFuncs:
                - i_gettimeofday
                - timeval_add_msecs
                - i_panic
            - BranchSide:      'ioloop.c:525,10'
              BranchSideFuncs:
                - timeout_get_wait_time
                - timeval_add_msecs
                - i_panic
        - Branch String:   'ioloop.c:536,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:536,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:536,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:536,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:536,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:536,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:536,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:536,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:537,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:503,9'
          Dst:             priorityq_peek
        - Src:             'ioloop.c:520,3'
          Dst:             i_gettimeofday
        - Src:             'ioloop.c:526,11'
          Dst:             timeout_get_wait_time
        - Src:             'ioloop.c:529,2'
          Dst:             timeval_add_msecs
        - Src:             'ioloop.c:536,2'
          Dst:             i_panic
    - functionName:    io_loop_have_ios
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1285
      functionLinenumberEnd: 1286
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_loop_move_timeout
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1280
      functionLinenumberEnd: 1281
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _timeout
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_loop_move_timeout_to
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:1281,9'
          Dst:             io_loop_move_timeout_to
    - functionName:    io_loop_move_timeout_to
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1268
      functionLinenumberEnd: 1277
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
        - _timeout
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - timeout_copy
        - timeout_remove
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:1271,21'
          Branch Sides:
            - BranchSide:      'ioloop.c:1271,24'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1272,10'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:1271,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1272,10'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1274,24'
              BranchSideFuncs:
                - timeout_copy
                - timeout_remove
      Callsites:
        - Src:             'ioloop.c:1274,11'
          Dst:             timeout_copy
        - Src:             'ioloop.c:1275,2'
          Dst:             timeout_remove
    - functionName:    timeout_copy
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - old_to
        - ioloop
      BBCount:         13
      ICount:          117
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - array_append_i
        - i_panic
        - priorityq_add
        - timeout_add_common
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:385,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:386,17'
              BranchSideFuncs:
                - priorityq_add
            - BranchSide:      'ioloop.c:387,12'
              BranchSideFuncs:
                - array_append_i.1587
                - i_panic
        - Branch String:   'ioloop.c:388,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:388,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:389,3'
              BranchSideFuncs:
                - array_append_i.1587
      Callsites:
        - Src:             'ioloop.c:378,11'
          Dst:             timeout_add_common
        - Src:             'ioloop.c:386,3'
          Dst:             priorityq_add
        - Src:             'ioloop.c:388,3'
          Dst:             i_panic
        - Src:             'ioloop.c:389,3'
          Dst:             array_append_i
    - functionName:    timeout_remove
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 423
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _timeout
      BBCount:         22
      ICount:          109
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - array_delete_i
        - array_lsearch_ptr_idx_i
        - i_unreached
        - priorityq_remove
        - timeout_free
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:407,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:408,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:410,11'
              BranchSideFuncs:
                - timeout_free
                - i_unreached
                - array_delete_i.1581
                - array_lsearch_ptr_idx_i
                - priorityq_remove
        - Branch String:   'ioloop.c:413,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:414,20'
              BranchSideFuncs:
                - priorityq_remove
                - timeout_free
            - BranchSide:      'ioloop.c:415,12'
              BranchSideFuncs:
                - timeout_free
                - i_unreached
                - array_delete_i.1581
                - array_lsearch_ptr_idx_i
        - Branch String:   'ioloop.c:418,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:418,8'
              BranchSideFuncs:
                - array_lsearch_ptr_idx_i
                - i_unreached
                - array_delete_i.1581
                - timeout_free
            - BranchSide:      'ioloop.c:418,8'
              BranchSideFuncs:
                - i_unreached
                - array_delete_i.1581
                - timeout_free
        - Branch String:   'ioloop.c:418,8'
          Branch Sides:
            - BranchSide:      'ioloop.c:419,4'
              BranchSideFuncs:
                - array_delete_i.1581
                - timeout_free
            - BranchSide:      'ioloop.c:420,3'
              BranchSideFuncs:
                - array_delete_i.1581
                - timeout_free
        - Branch String:   'ioloop.c:418,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:419,4'
              BranchSideFuncs:
                - array_delete_i.1581
                - timeout_free
            - BranchSide:      'ioloop.c:420,3'
              BranchSideFuncs:
                - array_delete_i.1581
                - timeout_free
      Callsites:
        - Src:             'ioloop.c:414,3'
          Dst:             priorityq_remove
        - Src:             'ioloop.c:418,8'
          Dst:             array_lsearch_ptr_idx_i
        - Src:             'ioloop.c:419,4'
          Dst:             i_unreached
        - Src:             'ioloop.c:420,3'
          Dst:             array_delete_i
        - Src:             'ioloop.c:422,2'
          Dst:             timeout_free
    - functionName:    array_delete_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
        - count
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_delete
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:244,2'
          Dst:             buffer_delete
    - functionName:    timeout_free
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - timeout
      BBCount:         8
      ICount:          39
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - io_loop_context_unref
        - p_free_internal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ioloop.c:397,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:398,26'
              BranchSideFuncs:
                - io_loop_context_unref
                - p_free_internal.1582
            - BranchSide:      'ioloop.c:399,2'
              BranchSideFuncs:
                - p_free_internal.1582
      Callsites:
        - Src:             'ioloop.c:398,3'
          Dst:             io_loop_context_unref
        - Src:             'ioloop.c:399,2'
          Dst:             p_free_internal
    - functionName:    io_loop_context_unref
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1057
      functionLinenumberEnd: 1072
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _ctx
      BBCount:         15
      ICount:          88
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - array_free_i
        - i_panic
        - p_free_internal
      functionUses:    5
      BranchProfiles:
        - Branch String:   'ioloop.c:1062,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1062,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1063,8'
              BranchSideFuncs:
                - array_free_i.1585
                - array_free_i.1585
                - p_free_internal.1582
                - i_panic
        - Branch String:   'ioloop.c:1063,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1064,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1067,2'
              BranchSideFuncs:
                - array_free_i.1585
                - array_free_i.1585
                - p_free_internal.1582
                - i_panic
        - Branch String:   'ioloop.c:1067,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1067,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1069,2'
              BranchSideFuncs:
                - array_free_i.1585
                - array_free_i.1585
                - p_free_internal.1582
      Callsites:
        - Src:             'ioloop.c:1062,2'
          Dst:             i_panic
        - Src:             'ioloop.c:1067,2'
          Dst:             i_panic
        - Src:             'ioloop.c:1069,2'
          Dst:             array_free_i
        - Src:             'ioloop.c:1070,2'
          Dst:             array_free_i
        - Src:             'ioloop.c:1071,2'
          Dst:             p_free_internal
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    array_free_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_free
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:159,2'
          Dst:             buffer_free
    - functionName:    timeout_add_common
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 283
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
        - source_filename
        - source_linenum
        - callback
        - context
      BBCount:         6
      ICount:          85
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - io_loop_context_ref
        - malloc_multiply_check
        - p_malloc
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ioloop.c:278,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:278,6'
              BranchSideFuncs:
                - io_loop_context_ref
            - BranchSide:      'ioloop.c:279,18'
              BranchSideFuncs:
                - io_loop_context_ref
      Callsites:
        - Src:             'ioloop.c:269,12'
          Dst:             malloc_multiply_check
        - Src:             'ioloop.c:269,12'
          Dst:             p_malloc
        - Src:             'ioloop.c:280,3'
          Dst:             io_loop_context_ref
    - functionName:    array_append_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - data
        - count
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:212,2'
          Dst:             buffer_append
    - functionName:    io_loop_context_ref
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1050
      functionLinenumberEnd: 1054
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         7
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ioloop.c:1051,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1051,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1051,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:1051,2'
          Dst:             i_panic
    - functionName:    io_loop_move_io
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1262
      functionLinenumberEnd: 1263
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _io
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_loop_move_io_to
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:1263,9'
          Dst:             io_loop_move_io_to
    - functionName:    io_loop_move_io_to
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1229
      functionLinenumberEnd: 1259
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
        - _io
      BBCount:         21
      ICount:          155
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - i_panic
        - i_stream_ref
        - i_stream_set_io
        - io_add_file
        - io_remove
        - io_set_pending
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ioloop.c:1233,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1234,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1236,2'
              BranchSideFuncs:
                - io_add_file
                - io_remove
                - i_stream_set_io
                - io_set_pending
                - i_stream_ref
                - i_panic
        - Branch String:   'ioloop.c:1236,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1236,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1238,6'
              BranchSideFuncs:
                - io_add_file
                - io_remove
                - i_stream_set_io
                - io_set_pending
                - i_stream_ref
        - Branch String:   'ioloop.c:1238,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1239,10'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1241,34'
              BranchSideFuncs:
                - io_add_file
                - io_remove
                - i_stream_set_io
                - io_set_pending
                - i_stream_ref
        - Branch String:   'ioloop.c:1246,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1248,26'
              BranchSideFuncs:
                - i_stream_ref
                - io_remove
                - i_stream_set_io
                - io_set_pending
            - BranchSide:      'ioloop.c:1251,6'
              BranchSideFuncs:
                - io_remove
                - i_stream_set_io
                - io_set_pending
        - Branch String:   'ioloop.c:1251,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1252,19'
              BranchSideFuncs:
                - io_set_pending
                - io_remove
                - i_stream_set_io
            - BranchSide:      'ioloop.c:1253,12'
              BranchSideFuncs:
                - io_remove
                - i_stream_set_io
        - Branch String:   'ioloop.c:1254,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1256,19'
              BranchSideFuncs:
                - i_stream_set_io
            - BranchSide:      'ioloop.c:1258,10'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:1236,2'
          Dst:             i_panic
        - Src:             'ioloop.c:1242,16'
          Dst:             io_add_file
        - Src:             'ioloop.c:1249,3'
          Dst:             i_stream_ref
        - Src:             'ioloop.c:1252,3'
          Dst:             io_set_pending
        - Src:             'ioloop.c:1253,2'
          Dst:             io_remove
        - Src:             'ioloop.c:1256,3'
          Dst:             i_stream_set_io
    - functionName:    io_add_file
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
        - fd
        - condition
        - source_filename
        - source_linenum
        - callback
        - context
      BBCount:         23
      ICount:          218
      EdgeCount:       27
      CyclomaticComplexity: 6
      functionsReached:
        - i_panic
        - io_loop_context_ref
        - io_loop_handle_add
        - io_loop_initialize_handler
        - malloc_multiply_check
        - p_malloc
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ioloop.c:56,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:56,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:57,2'
              BranchSideFuncs:
                - malloc_multiply_check.1573
                - p_malloc.1574
                - io_loop_handle_add
                - io_loop_initialize_handler
                - io_loop_context_ref
                - i_panic
        - Branch String:   'ioloop.c:57,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:57,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:59,7'
              BranchSideFuncs:
                - malloc_multiply_check.1573
                - p_malloc.1574
                - io_loop_handle_add
                - io_loop_initialize_handler
                - io_loop_context_ref
        - Branch String:   'ioloop.c:69,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:70,16'
              BranchSideFuncs:
                - io_loop_context_ref
                - io_loop_handle_add
                - io_loop_initialize_handler
            - BranchSide:      'ioloop.c:74,6'
              BranchSideFuncs:
                - io_loop_handle_add
                - io_loop_initialize_handler
        - Branch String:   'ioloop.c:74,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:75,30'
              BranchSideFuncs:
                - io_loop_initialize_handler
                - io_loop_handle_add
            - BranchSide:      'ioloop.c:76,6'
              BranchSideFuncs:
                - io_loop_handle_add
        - Branch String:   'ioloop.c:76,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:0,0'
              BranchSideFuncs:
                - io_loop_handle_add
            - BranchSide:      'ioloop.c:77,22'
              BranchSideFuncs:
                - io_loop_handle_add
        - Branch String:   'ioloop.c:83,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:83,6'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:84,35'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:56,2'
          Dst:             i_panic
        - Src:             'ioloop.c:57,2'
          Dst:             i_panic
        - Src:             'ioloop.c:59,7'
          Dst:             malloc_multiply_check
        - Src:             'ioloop.c:59,7'
          Dst:             p_malloc
        - Src:             'ioloop.c:71,3'
          Dst:             io_loop_context_ref
        - Src:             'ioloop.c:75,3'
          Dst:             io_loop_initialize_handler
        - Src:             'ioloop.c:77,3'
          Dst:             io_loop_handle_add
    - functionName:    io_set_pending
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - io
      BBCount:         10
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    6
      BranchProfiles:
        - Branch String:   'ioloop.c:222,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:222,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:224,7'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:224,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:224,6'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:225,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:222,2'
          Dst:             i_panic
    - functionName:    io_remove
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - io
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - io_remove_full
      functionUses:    15
      BranchProfiles:
        - Branch String:   'ioloop.c:204,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:205,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:207,17'
              BranchSideFuncs:
                - io_remove_full
      Callsites:
        - Src:             'ioloop.c:207,2'
          Dst:             io_remove_full
    - functionName:    io_remove_full
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - _io
        - closed
      BBCount:         28
      ICount:          168
      EdgeCount:       33
      CyclomaticComplexity: 7
      functionsReached:
        - i_panic
        - i_stream_unref
        - i_stream_unset_io
        - io_file_unlink
        - io_loop_context_unref
        - io_loop_handle_remove
        - io_loop_notify_remove
        - p_free_internal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ioloop.c:162,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:162,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:164,3'
              BranchSideFuncs:
                - io_file_unlink
                - p_free_internal.1582
                - i_stream_unref
                - io_loop_handle_remove
                - i_stream_unset_io
                - io_loop_notify_remove
                - io_loop_context_unref
                - i_panic
        - Branch String:   'ioloop.c:170,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:171,3'
              BranchSideFuncs:
                - io_file_unlink
                - p_free_internal.1582
                - i_stream_unref
                - io_loop_handle_remove
                - i_stream_unset_io
                - io_loop_notify_remove
                - io_loop_context_unref
                - i_panic
            - BranchSide:      'ioloop.c:175,6'
              BranchSideFuncs:
                - io_file_unlink
                - p_free_internal.1582
                - i_stream_unref
                - io_loop_handle_remove
                - i_stream_unset_io
                - io_loop_notify_remove
                - io_loop_context_unref
        - Branch String:   'ioloop.c:171,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:171,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:172,3'
              BranchSideFuncs:
                - io_file_unlink
                - p_free_internal.1582
                - i_stream_unref
                - io_loop_handle_remove
                - i_stream_unset_io
                - io_loop_notify_remove
                - io_loop_context_unref
        - Branch String:   'ioloop.c:175,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:176,26'
              BranchSideFuncs:
                - io_loop_context_unref
                - io_file_unlink
                - p_free_internal.1582
                - i_stream_unref
                - io_loop_handle_remove
                - i_stream_unset_io
                - io_loop_notify_remove
            - BranchSide:      'ioloop.c:178,7'
              BranchSideFuncs:
                - io_file_unlink
                - p_free_internal.1582
                - i_stream_unref
                - io_loop_handle_remove
                - i_stream_unset_io
                - io_loop_notify_remove
        - Branch String:   'ioloop.c:178,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:179,25'
              BranchSideFuncs:
                - io_loop_notify_remove
            - BranchSide:      'ioloop.c:181,47'
              BranchSideFuncs:
                - io_file_unlink
                - p_free_internal.1582
                - i_stream_unref
                - io_loop_handle_remove
                - i_stream_unset_io
        - Branch String:   'ioloop.c:184,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:186,22'
              BranchSideFuncs:
                - i_stream_unset_io
                - io_file_unlink
                - p_free_internal.1582
                - i_stream_unref
                - io_loop_handle_remove
            - BranchSide:      'ioloop.c:189,18'
              BranchSideFuncs:
                - io_file_unlink
                - p_free_internal.1582
                - i_stream_unref
                - io_loop_handle_remove
        - Branch String:   'ioloop.c:190,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:191,26'
              BranchSideFuncs:
                - io_loop_handle_remove
                - i_stream_unref
            - BranchSide:      'ioloop.c:193,4'
              BranchSideFuncs:
                - p_free_internal.1582
                - i_stream_unref
      Callsites:
        - Src:             'ioloop.c:162,2'
          Dst:             i_panic
        - Src:             'ioloop.c:171,3'
          Dst:             i_panic
        - Src:             'ioloop.c:176,3'
          Dst:             io_loop_context_unref
        - Src:             'ioloop.c:179,3'
          Dst:             io_loop_notify_remove
        - Src:             'ioloop.c:186,4'
          Dst:             i_stream_unset_io
        - Src:             'ioloop.c:189,3'
          Dst:             io_file_unlink
        - Src:             'ioloop.c:191,4'
          Dst:             io_loop_handle_remove
        - Src:             'ioloop.c:193,4'
          Dst:             p_free_internal
        - Src:             'ioloop.c:198,3'
          Dst:             i_stream_unref
    - functionName:    io_loop_initialize_handler
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - io_loop_handler_init
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ioloop.c:42,46'
          Branch Sides:
            - BranchSide:      'ioloop.c:42,21'
              BranchSideFuncs:
                - io_loop_handler_init
            - BranchSide:      'ioloop.c:43,3'
              BranchSideFuncs:
                - io_loop_handler_init
        - Branch String:   'ioloop.c:42,21'
          Branch Sides:
            - BranchSide:      'ioloop.c:42,21'
              BranchSideFuncs:
                - io_loop_handler_init
            - BranchSide:      'ioloop.c:44,3'
              BranchSideFuncs:
                - io_loop_handler_init
      Callsites:
        - Src:             'ioloop.c:45,2'
          Dst:             io_loop_handler_init
    - functionName:    io_loop_get_current_context
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1224
      functionLinenumberEnd: 1225
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_loop_context_switch
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1211
      functionLinenumberEnd: 1221
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         12
      ICount:          67
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - io_loop_context_activate
        - io_loop_context_deactivate
        - io_loop_context_unref
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop.c:1212,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1213,7'
              BranchSideFuncs:
                - io_loop_context_deactivate
                - io_loop_context_activate
                - io_loop_context_unref
            - BranchSide:      'ioloop.c:1220,27'
              BranchSideFuncs:
                - io_loop_context_activate
        - Branch String:   'ioloop.c:1213,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:1214,4'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1215,30'
              BranchSideFuncs:
                - io_loop_context_deactivate
                - io_loop_context_activate
                - io_loop_context_unref
        - Branch String:   'ioloop.c:1217,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:1218,27'
              BranchSideFuncs:
                - io_loop_context_unref
                - io_loop_context_activate
            - BranchSide:      'ioloop.c:1219,2'
              BranchSideFuncs:
                - io_loop_context_activate
      Callsites:
        - Src:             'ioloop.c:1215,3'
          Dst:             io_loop_context_deactivate
        - Src:             'ioloop.c:1218,4'
          Dst:             io_loop_context_unref
        - Src:             'ioloop.c:1220,2'
          Dst:             io_loop_context_activate
    - functionName:    io_loop_context_deactivate
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1188
      functionLinenumberEnd: 1208
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         23
      ICount:          136
      EdgeCount:       26
      CyclomaticComplexity: 5
      functionsReached:
        - buffer_get_modifiable_data
        - i_panic
        - io_loop_context_pop_global_events
        - io_loop_context_remove_deleted_callbacks
        - io_loop_context_unref
        - t_pop
        - t_push
      functionUses:    4
      BranchProfiles:
        - Branch String:   'ioloop.c:1191,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1191,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1193,2'
              BranchSideFuncs:
                - buffer_get_modifiable_data
                - io_loop_context_pop_global_events
                - io_loop_context_remove_deleted_callbacks
                - io_loop_context_unref
                - t_push
                - t_pop
                - i_panic
        - Branch String:   'ioloop.c:1193,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1194,8'
              BranchSideFuncs:
                - io_loop_context_pop_global_events
                - io_loop_context_remove_deleted_callbacks
                - io_loop_context_unref
                - t_push
                - t_pop
                - i_panic
            - BranchSide:      'ioloop.c:1204,2'
              BranchSideFuncs:
                - io_loop_context_pop_global_events
                - io_loop_context_remove_deleted_callbacks
                - io_loop_context_unref
        - Branch String:   'ioloop.c:1194,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:1197,3'
              BranchSideFuncs:
                - io_loop_context_pop_global_events
                - io_loop_context_remove_deleted_callbacks
                - io_loop_context_unref
                - t_push
                - t_pop
                - i_panic
            - BranchSide:      'ioloop.c:1198,8'
              BranchSideFuncs:
                - io_loop_context_pop_global_events
                - io_loop_context_remove_deleted_callbacks
                - io_loop_context_unref
                - t_push
                - t_pop
                - i_panic
        - Branch String:   'ioloop.c:1198,8'
          Branch Sides:
            - BranchSide:      'ioloop.c:1198,32'
              BranchSideFuncs:
                - t_push
                - t_pop
                - io_loop_context_pop_global_events
                - io_loop_context_remove_deleted_callbacks
                - io_loop_context_unref
                - i_panic
            - BranchSide:      'ioloop.c:1201,4'
              BranchSideFuncs:
                - io_loop_context_pop_global_events
                - io_loop_context_remove_deleted_callbacks
                - io_loop_context_unref
                - t_push
                - t_pop
                - i_panic
        - Branch String:   'ioloop.c:1200,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1200,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1200,6'
              BranchSideFuncs:
                - io_loop_context_pop_global_events
                - io_loop_context_remove_deleted_callbacks
                - io_loop_context_unref
                - t_push
                - t_pop
                - i_panic
      Callsites:
        - Src:             'ioloop.c:1191,2'
          Dst:             i_panic
        - Src:             'ioloop.c:1193,2'
          Dst:             buffer_get_modifiable_data
        - Src:             'ioloop.c:1198,32'
          Dst:             t_push
        - Src:             'ioloop.c:1200,6'
          Dst:             t_pop
        - Src:             'ioloop.c:1200,6'
          Dst:             i_panic
        - Src:             'ioloop.c:1205,2'
          Dst:             io_loop_context_pop_global_events
        - Src:             'ioloop.c:1206,2'
          Dst:             io_loop_context_remove_deleted_callbacks
        - Src:             'ioloop.c:1207,2'
          Dst:             io_loop_context_unref
    - functionName:    io_loop_context_activate
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1170
      functionLinenumberEnd: 1185
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         24
      ICount:          144
      EdgeCount:       26
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_get_modifiable_data
        - i_panic
        - io_loop_context_push_global_events
        - io_loop_context_ref
        - t_pop
        - t_push
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ioloop.c:1173,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1173,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1175,25'
              BranchSideFuncs:
                - io_loop_context_push_global_events
                - io_loop_context_ref
                - buffer_get_modifiable_data
                - t_push
                - t_pop
                - i_panic
                - i_panic
        - Branch String:   'ioloop.c:1178,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1179,3'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_panic
            - BranchSide:      'ioloop.c:1185,1'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:1179,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:1179,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1180,7'
              BranchSideFuncs:
                - i_panic
                - t_push
                - t_pop
                - i_panic
        - Branch String:   'ioloop.c:1180,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:1180,29'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_panic
            - BranchSide:      'ioloop.c:1183,3'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_panic
        - Branch String:   'ioloop.c:1182,5'
          Branch Sides:
            - BranchSide:      'ioloop.c:1182,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1182,5'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_panic
      Callsites:
        - Src:             'ioloop.c:1173,2'
          Dst:             i_panic
        - Src:             'ioloop.c:1176,2'
          Dst:             io_loop_context_push_global_events
        - Src:             'ioloop.c:1177,2'
          Dst:             io_loop_context_ref
        - Src:             'ioloop.c:1178,2'
          Dst:             buffer_get_modifiable_data
        - Src:             'ioloop.c:1179,3'
          Dst:             i_panic
        - Src:             'ioloop.c:1180,29'
          Dst:             t_push
        - Src:             'ioloop.c:1182,5'
          Dst:             t_pop
        - Src:             'ioloop.c:1182,5'
          Dst:             i_panic
    - functionName:    io_loop_context_push_global_events
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1128
      functionLinenumberEnd: 1147
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         12
      ICount:          73
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - array_clear_i
        - array_get_i
        - array_is_created_i
        - event_get_global
        - event_push_global
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:1134,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1135,3'
              BranchSideFuncs:
                - array_get_i.1559
                - array_clear_i
                - event_push_global
            - BranchSide:      'ioloop.c:1138,11'
              BranchSideFuncs:
                - array_get_i.1559
                - array_clear_i
                - event_push_global
        - Branch String:   'ioloop.c:1139,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1140,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1144,11'
              BranchSideFuncs:
                - array_clear_i
                - event_push_global
        - Branch String:   'ioloop.c:1144,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1145,21'
              BranchSideFuncs:
                - event_push_global
                - array_clear_i
            - BranchSide:      'ioloop.c:1146,2'
              BranchSideFuncs:
                - array_clear_i
      Callsites:
        - Src:             'ioloop.c:1132,27'
          Dst:             event_get_global
        - Src:             'ioloop.c:1134,7'
          Dst:             array_is_created_i
        - Src:             'ioloop.c:1138,11'
          Dst:             array_get_i
        - Src:             'ioloop.c:1145,3'
          Dst:             event_push_global
        - Src:             'ioloop.c:1146,2'
          Dst:             array_clear_i
    - functionName:    array_is_created_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_loop_context_pop_global_events
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1150
      functionLinenumberEnd: 1167
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         13
      ICount:          68
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - array_append_i
        - array_create_i
        - array_is_created_i
        - event_get_global
        - event_pop_global
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:1159,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1160,3'
              BranchSideFuncs:
                - array_is_created_i.1604
                - array_create_i.1608
                - array_append_i.1587
                - event_pop_global
                - event_get_global
                - i_panic
            - BranchSide:      'ioloop.c:1166,2'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:1160,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:1160,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1161,8'
              BranchSideFuncs:
                - array_is_created_i.1604
                - array_create_i.1608
                - array_append_i.1587
                - event_pop_global
                - event_get_global
                - i_panic
        - Branch String:   'ioloop.c:1161,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:1162,4'
              BranchSideFuncs:
                - array_append_i.1587
                - event_pop_global
                - event_get_global
                - array_is_created_i.1604
                - array_create_i.1608
                - i_panic
            - BranchSide:      'ioloop.c:1163,3'
              BranchSideFuncs:
                - array_append_i.1587
                - event_pop_global
                - event_get_global
                - array_is_created_i.1604
                - array_create_i.1608
                - i_panic
      Callsites:
        - Src:             'ioloop.c:1159,18'
          Dst:             event_get_global
        - Src:             'ioloop.c:1160,3'
          Dst:             i_panic
        - Src:             'ioloop.c:1161,8'
          Dst:             array_is_created_i
        - Src:             'ioloop.c:1162,4'
          Dst:             array_create_i
        - Src:             'ioloop.c:1163,3'
          Dst:             array_append_i
        - Src:             'ioloop.c:1164,3'
          Dst:             event_pop_global
    - functionName:    io_loop_context_remove_deleted_callbacks
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1112
      functionLinenumberEnd: 1125
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         9
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - array_delete_i
        - array_get_i
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:1117,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1118,7'
              BranchSideFuncs:
                - array_delete_i.1581
                - array_get_i.1559
            - BranchSide:      'ioloop.c:1125,1'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:1118,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:1119,5'
              BranchSideFuncs:
                - array_delete_i.1581
                - array_get_i.1559
            - BranchSide:      'ioloop.c:1121,4'
              BranchSideFuncs:
                - array_delete_i.1581
                - array_get_i.1559
      Callsites:
        - Src:             'ioloop.c:1116,8'
          Dst:             array_get_i
        - Src:             'ioloop.c:1121,4'
          Dst:             array_delete_i
        - Src:             'ioloop.c:1122,10'
          Dst:             array_get_i
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    5
      BranchProfiles:
        - Branch String:   './array.h:149,3'
          Branch Sides:
            - BranchSide:      './array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.1561
            - BranchSide:      './array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.1561
      Callsites:
        - Src:             './array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             './array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    io_loop_context_remove_callbacks
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1093
      functionLinenumberEnd: 1107
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - activate
        - deactivate
        - context
      BBCount:         14
      ICount:          102
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - buffer_get_modifiable_data
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop.c:1096,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1097,7'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1107,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:1097,30'
          Branch Sides:
            - BranchSide:      'ioloop.c:1098,7'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1106,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:1098,32'
          Branch Sides:
            - BranchSide:      'ioloop.c:1098,35'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:1106,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:1097,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:1101,4'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:1106,2'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             'ioloop.c:1096,2'
          Dst:             buffer_get_modifiable_data
        - Src:             'ioloop.c:1107,2'
          Dst:             i_panic
    - functionName:    io_loop_context_add_callbacks
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1078
      functionLinenumberEnd: 1087
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - activate
        - deactivate
        - context
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_append_i
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:1086,2'
          Dst:             array_append_i
    - functionName:    io_loop_context_new
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1039
      functionLinenumberEnd: 1046
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_create_i
        - malloc_multiply_check
        - p_malloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:1042,8'
          Dst:             malloc_multiply_check
        - Src:             'ioloop.c:1042,8'
          Dst:             p_malloc
        - Src:             'ioloop.c:1045,2'
          Dst:             array_create_i
    - functionName:    io_loop_remove_destroy_callback
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1030
      functionLinenumberEnd: 1036
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         11
      ICount:          41
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - array_delete_i
        - array_lsearch_ptr_idx_i
        - i_unreached
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop.c:1033,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1033,7'
              BranchSideFuncs:
                - array_lsearch_ptr_idx_i
                - i_unreached
                - array_delete_i.1581
            - BranchSide:      'ioloop.c:1033,7'
              BranchSideFuncs:
                - i_unreached
                - array_delete_i.1581
        - Branch String:   'ioloop.c:1033,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:1033,7'
              BranchSideFuncs:
                - array_delete_i.1581
            - BranchSide:      'ioloop.c:1034,3'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'ioloop.c:1033,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1033,6'
              BranchSideFuncs:
                - array_delete_i.1581
            - BranchSide:      'ioloop.c:1034,3'
              BranchSideFuncs:
                - i_unreached
      Callsites:
        - Src:             'ioloop.c:1033,7'
          Dst:             array_lsearch_ptr_idx_i
        - Src:             'ioloop.c:1034,3'
          Dst:             i_unreached
        - Src:             'ioloop.c:1035,2'
          Dst:             array_delete_i
    - functionName:    io_destroy_callbacks_free
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 973
      functionLinenumberEnd: 975
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_free_i
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:974,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:974,2'
              BranchSideFuncs:
                - array_free_i.1585
            - BranchSide:      'ioloop.c:974,2'
              BranchSideFuncs:
                - array_free_i.1585
      Callsites:
        - Src:             'ioloop.c:974,2'
          Dst:             array_free_i
    - functionName:    io_loop_add_destroy_callback
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1021
      functionLinenumberEnd: 1027
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_append_i
        - array_create_i
        - array_is_created_i
        - io_destroy_callbacks_free
        - lib_atexit_priority
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:1022,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1022,6'
              BranchSideFuncs:
                - array_append_i.1587
            - BranchSide:      'ioloop.c:1023,3'
              BranchSideFuncs:
                - array_create_i.1608
                - lib_atexit_priority
                - array_append_i.1587
      Callsites:
        - Src:             'ioloop.c:1022,7'
          Dst:             array_is_created_i
        - Src:             'ioloop.c:1023,3'
          Dst:             array_create_i
        - Src:             'ioloop.c:1024,3'
          Dst:             lib_atexit_priority
        - Src:             'ioloop.c:1024,3'
          Dst:             io_destroy_callbacks_free
        - Src:             'ioloop.c:1026,2'
          Dst:             array_append_i
    - functionName:    io_loop_remove_switch_callback
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1012
      functionLinenumberEnd: 1018
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         11
      ICount:          41
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - array_delete_i
        - array_lsearch_ptr_idx_i
        - i_unreached
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop.c:1015,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1015,7'
              BranchSideFuncs:
                - array_lsearch_ptr_idx_i
                - i_unreached
                - array_delete_i.1581
            - BranchSide:      'ioloop.c:1015,7'
              BranchSideFuncs:
                - i_unreached
                - array_delete_i.1581
        - Branch String:   'ioloop.c:1015,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:1015,7'
              BranchSideFuncs:
                - array_delete_i.1581
            - BranchSide:      'ioloop.c:1016,3'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'ioloop.c:1015,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1015,6'
              BranchSideFuncs:
                - array_delete_i.1581
            - BranchSide:      'ioloop.c:1016,3'
              BranchSideFuncs:
                - i_unreached
      Callsites:
        - Src:             'ioloop.c:1015,7'
          Dst:             array_lsearch_ptr_idx_i
        - Src:             'ioloop.c:1016,3'
          Dst:             i_unreached
        - Src:             'ioloop.c:1017,2'
          Dst:             array_delete_i
    - functionName:    io_switch_callbacks_free
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 968
      functionLinenumberEnd: 970
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_free_i
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:969,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:969,2'
              BranchSideFuncs:
                - array_free_i.1585
            - BranchSide:      'ioloop.c:969,2'
              BranchSideFuncs:
                - array_free_i.1585
      Callsites:
        - Src:             'ioloop.c:969,2'
          Dst:             array_free_i
    - functionName:    io_loop_add_switch_callback
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1009
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_append_i
        - array_create_i
        - array_is_created_i
        - io_switch_callbacks_free
        - lib_atexit_priority
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:1004,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:1004,6'
              BranchSideFuncs:
                - array_append_i.1587
            - BranchSide:      'ioloop.c:1005,3'
              BranchSideFuncs:
                - array_create_i.1608
                - lib_atexit_priority
                - array_append_i.1587
      Callsites:
        - Src:             'ioloop.c:1004,7'
          Dst:             array_is_created_i
        - Src:             'ioloop.c:1005,3'
          Dst:             array_create_i
        - Src:             'ioloop.c:1006,3'
          Dst:             lib_atexit_priority
        - Src:             'ioloop.c:1006,3'
          Dst:             io_switch_callbacks_free
        - Src:             'ioloop.c:1008,2'
          Dst:             array_append_i
    - functionName:    io_loop_get_root
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 994
      functionLinenumberEnd: 999
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop.c:997,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:998,12'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:999,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    io_loop_set_time_moved_callback
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 963
      functionLinenumberEnd: 965
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
        - callback
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_wait_timer_remove
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1363
      functionLinenumberEnd: 1369
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _timer
      BBCount:         16
      ICount:          101
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:1367,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1367,2'
              BranchSideFuncs:
                - p_free_internal.1582
            - BranchSide:      'ioloop.c:1367,2'
              BranchSideFuncs:
                - p_free_internal.1582
        - Branch String:   'ioloop.c:1367,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:1367,2'
              BranchSideFuncs:
                - p_free_internal.1582
            - BranchSide:      'ioloop.c:1368,2'
              BranchSideFuncs:
                - p_free_internal.1582
      Callsites:
        - Src:             'ioloop.c:1368,2'
          Dst:             p_free_internal
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    4
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    io_loop_destroy
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 862
      functionLinenumberEnd: 959
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _ioloop
      BBCount:         72
      ICount:          460
      EdgeCount:       85
      CyclomaticComplexity: 15
      functionsReached:
        - array_free_i
        - array_is_created_i
        - backtrace_get
        - i_memcpy
        - i_panic
        - i_warning
        - io_loop_context_unref
        - io_loop_handler_deinit
        - io_loop_notify_handler_deinit
        - io_loop_set_current
        - io_remove
        - io_wait_timer_remove
        - p_free_internal
        - priorityq_deinit
        - priorityq_pop
        - t_pop
        - t_push
        - t_strdup_printf
        - timeout_free
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:871,9'
          Branch Sides:
            - BranchSide:      'ioloop.c:871,9'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:872,6'
              BranchSideFuncs:
                - array_is_created_i.1604
                - io_loop_set_current
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
                - t_strdup_printf
                - i_warning
                - io_remove
                - i_panic
                - io_loop_notify_handler_deinit
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.1610
        - Branch String:   'ioloop.c:872,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:874,3'
              BranchSideFuncs:
                - io_loop_set_current
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
                - t_strdup_printf
                - i_warning
                - io_remove
                - i_panic
                - io_loop_notify_handler_deinit
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.1610
            - BranchSide:      'ioloop.c:879,22'
              BranchSideFuncs:
                - io_loop_set_current
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
                - t_strdup_printf
                - i_warning
                - io_remove
                - i_panic
                - io_loop_notify_handler_deinit
        - Branch String:   'ioloop.c:874,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:874,3'
              BranchSideFuncs:
                - i_memcpy.1610
                - io_loop_set_current
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
                - t_strdup_printf
                - i_warning
                - io_remove
                - i_panic
                - io_loop_notify_handler_deinit
                - t_push
                - t_pop
                - i_panic
            - BranchSide:      'ioloop.c:874,3'
              BranchSideFuncs:
                - io_loop_set_current
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
                - t_strdup_printf
                - i_warning
                - io_remove
                - i_panic
                - io_loop_notify_handler_deinit
                - t_push
                - t_pop
                - i_memcpy.1610
                - i_panic
        - Branch String:   'ioloop.c:874,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:874,55'
              BranchSideFuncs:
                - t_push
                - t_pop
                - io_loop_set_current
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
                - t_strdup_printf
                - i_warning
                - io_remove
                - i_panic
                - io_loop_notify_handler_deinit
                - i_memcpy.1610
                - i_panic
            - BranchSide:      'ioloop.c:877,2'
              BranchSideFuncs:
                - io_loop_set_current
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
                - t_strdup_printf
                - i_warning
                - io_remove
                - i_panic
                - io_loop_notify_handler_deinit
        - Branch String:   'ioloop.c:876,5'
          Branch Sides:
            - BranchSide:      'ioloop.c:876,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:876,5'
              BranchSideFuncs:
                - io_loop_set_current
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
                - t_strdup_printf
                - i_warning
                - io_remove
                - i_panic
                - io_loop_notify_handler_deinit
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.1610
        - Branch String:   'ioloop.c:881,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:882,33'
              BranchSideFuncs:
                - io_loop_notify_handler_deinit
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
                - t_strdup_printf
                - i_warning
                - io_remove
                - i_panic
            - BranchSide:      'ioloop.c:884,2'
              BranchSideFuncs:
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
                - t_strdup_printf
                - i_warning
                - io_remove
                - i_panic
        - Branch String:   'ioloop.c:884,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:885,24'
              BranchSideFuncs:
                - t_strdup_printf
                - i_warning
                - io_remove
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
                - i_panic
            - BranchSide:      'ioloop.c:900,2'
              BranchSideFuncs:
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
        - Branch String:   'ioloop.c:893,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:894,18'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:896,20'
              BranchSideFuncs:
                - i_warning
                - io_remove
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
                - t_strdup_printf
                - i_panic
        - Branch String:   'ioloop.c:900,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:900,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:902,2'
              BranchSideFuncs:
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
        - Branch String:   'ioloop.c:902,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:902,2'
              BranchSideFuncs:
                - i_memcpy.1610
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
            - BranchSide:      'ioloop.c:902,2'
              BranchSideFuncs:
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_memcpy.1610
                - i_panic
        - Branch String:   'ioloop.c:902,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:904,40'
              BranchSideFuncs:
                - t_strdup_printf
                - i_warning
                - timeout_free
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - i_memcpy.1610
                - i_panic
            - BranchSide:      'ioloop.c:915,2'
              BranchSideFuncs:
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
        - Branch String:   'ioloop.c:908,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:909,18'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:911,20'
              BranchSideFuncs:
                - i_warning
                - timeout_free
                - array_free_i.1585
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_warning
                - timeout_free
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_memcpy.1610
        - Branch String:   'ioloop.c:917,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:918,42'
              BranchSideFuncs:
                - t_strdup_printf
                - i_warning
                - timeout_free
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - i_panic
            - BranchSide:      'ioloop.c:931,20'
              BranchSideFuncs:
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
        - Branch String:   'ioloop.c:924,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:925,18'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:927,20'
              BranchSideFuncs:
                - i_warning
                - timeout_free
                - priorityq_pop
                - priorityq_deinit
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - i_panic
                - t_strdup_printf
                - i_panic
        - Branch String:   'ioloop.c:933,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:934,33'
              BranchSideFuncs:
                - t_strdup_printf
                - i_warning
                - io_wait_timer_remove
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - i_panic
            - BranchSide:      'ioloop.c:948,6'
              BranchSideFuncs:
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
        - Branch String:   'ioloop.c:940,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:941,18'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:943,20'
              BranchSideFuncs:
                - i_warning
                - io_wait_timer_remove
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - backtrace_get
                - i_warning
                - t_strdup_printf
                - i_panic
        - Branch String:   'ioloop.c:948,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:950,7'
              BranchSideFuncs:
                - backtrace_get
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
                - i_warning
            - BranchSide:      'ioloop.c:954,6'
              BranchSideFuncs:
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
        - Branch String:   'ioloop.c:950,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:951,45'
              BranchSideFuncs:
                - i_warning
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
            - BranchSide:      'ioloop.c:952,2'
              BranchSideFuncs:
                - p_free_internal.1582
                - io_loop_context_unref
                - io_loop_handler_deinit
        - Branch String:   'ioloop.c:954,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:955,26'
              BranchSideFuncs:
                - io_loop_handler_deinit
                - p_free_internal.1582
                - io_loop_context_unref
            - BranchSide:      'ioloop.c:956,6'
              BranchSideFuncs:
                - p_free_internal.1582
                - io_loop_context_unref
        - Branch String:   'ioloop.c:956,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:957,26'
              BranchSideFuncs:
                - io_loop_context_unref
                - p_free_internal.1582
            - BranchSide:      'ioloop.c:958,2'
              BranchSideFuncs:
                - p_free_internal.1582
      Callsites:
        - Src:             'ioloop.c:871,9'
          Dst:             i_panic
        - Src:             'ioloop.c:872,6'
          Dst:             array_is_created_i
        - Src:             'ioloop.c:874,3'
          Dst:             i_memcpy
        - Src:             'ioloop.c:874,55'
          Dst:             t_push
        - Src:             'ioloop.c:876,5'
          Dst:             t_pop
        - Src:             'ioloop.c:876,5'
          Dst:             i_panic
        - Src:             'ioloop.c:879,2'
          Dst:             io_loop_set_current
        - Src:             'ioloop.c:882,3'
          Dst:             io_loop_notify_handler_deinit
        - Src:             'ioloop.c:887,23'
          Dst:             t_strdup_printf
        - Src:             'ioloop.c:894,4'
          Dst:             i_panic
        - Src:             'ioloop.c:896,4'
          Dst:             i_warning
        - Src:             'ioloop.c:897,3'
          Dst:             io_remove
        - Src:             'ioloop.c:900,2'
          Dst:             i_panic
        - Src:             'ioloop.c:902,2'
          Dst:             i_memcpy
        - Src:             'ioloop.c:903,23'
          Dst:             t_strdup_printf
        - Src:             'ioloop.c:909,4'
          Dst:             i_panic
        - Src:             'ioloop.c:911,4'
          Dst:             i_warning
        - Src:             'ioloop.c:912,3'
          Dst:             timeout_free
        - Src:             'ioloop.c:915,2'
          Dst:             array_free_i
        - Src:             'ioloop.c:917,17'
          Dst:             priorityq_pop
        - Src:             'ioloop.c:919,23'
          Dst:             t_strdup_printf
        - Src:             'ioloop.c:925,4'
          Dst:             i_panic
        - Src:             'ioloop.c:927,4'
          Dst:             i_warning
        - Src:             'ioloop.c:928,3'
          Dst:             timeout_free
        - Src:             'ioloop.c:931,2'
          Dst:             priorityq_deinit
        - Src:             'ioloop.c:935,23'
          Dst:             t_strdup_printf
        - Src:             'ioloop.c:941,4'
          Dst:             i_panic
        - Src:             'ioloop.c:943,4'
          Dst:             i_warning
        - Src:             'ioloop.c:944,3'
          Dst:             io_wait_timer_remove
        - Src:             'ioloop.c:950,7'
          Dst:             backtrace_get
        - Src:             'ioloop.c:951,4'
          Dst:             i_warning
        - Src:             'ioloop.c:955,3'
          Dst:             io_loop_handler_deinit
        - Src:             'ioloop.c:957,3'
          Dst:             io_loop_context_unref
        - Src:             'ioloop.c:958,2'
          Dst:             p_free_internal
    - functionName:    io_loop_set_current
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 978
      functionLinenumberEnd: 991
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         21
      ICount:          113
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - array_is_created_i
        - i_memcpy
        - i_panic
        - t_pop
        - t_push
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ioloop.c:982,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:983,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:985,19'
              BranchSideFuncs:
                - array_is_created_i.1604
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.1610
        - Branch String:   'ioloop.c:986,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:986,6'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.1610
            - BranchSide:      'ioloop.c:987,3'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.1610
        - Branch String:   'ioloop.c:987,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:987,3'
              BranchSideFuncs:
                - i_memcpy.1610
                - t_push
                - t_pop
                - i_panic
            - BranchSide:      'ioloop.c:987,3'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_memcpy.1610
                - i_panic
        - Branch String:   'ioloop.c:987,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:987,54'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_memcpy.1610
                - i_panic
            - BranchSide:      'ioloop.c:990,2'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:989,5'
          Branch Sides:
            - BranchSide:      'ioloop.c:989,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:989,5'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.1610
      Callsites:
        - Src:             'ioloop.c:986,6'
          Dst:             array_is_created_i
        - Src:             'ioloop.c:987,3'
          Dst:             i_memcpy
        - Src:             'ioloop.c:987,54'
          Dst:             t_push
        - Src:             'ioloop.c:989,5'
          Dst:             t_pop
        - Src:             'ioloop.c:989,5'
          Dst:             i_panic
    - functionName:    io_loop_default_time_moved
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 569
      functionLinenumberEnd: 575
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - old_time
        - new_time
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_warning
        - timeval_diff_usecs
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:571,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:571,6'
              BranchSideFuncs:
                - i_warning
            - BranchSide:      'ioloop.c:573,6'
              BranchSideFuncs:
                - i_warning
      Callsites:
        - Src:             'ioloop.c:570,19'
          Dst:             timeval_diff_usecs
        - Src:             'ioloop.c:572,3'
          Dst:             i_warning
    - functionName:    timeout_cmp
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 560
      functionLinenumberEnd: 563
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - p1
        - p2
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - timeval_cmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:563,9'
          Dst:             timeval_cmp
    - functionName:    io_loop_create
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 836
      functionLinenumberEnd: 858
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - array_create_i
        - getenv
        - i_gettimeofday
        - io_loop_set_current
        - malloc_multiply_check
        - p_malloc
        - priorityq_init
        - timeout_cmp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop.c:839,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:837,17'
              BranchSideFuncs:
                - getenv
                - i_gettimeofday
                - malloc_multiply_check.1573
                - p_malloc.1574
                - priorityq_init
                - array_create_i.1608
                - io_loop_set_current
            - BranchSide:      'ioloop.c:839,7'
              BranchSideFuncs:
                - getenv
                - i_gettimeofday
                - malloc_multiply_check.1573
                - p_malloc.1574
                - priorityq_init
                - array_create_i.1608
                - io_loop_set_current
        - Branch String:   'ioloop.c:839,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:840,21'
              BranchSideFuncs:
                - i_gettimeofday
                - malloc_multiply_check.1573
                - p_malloc.1574
                - priorityq_init
                - array_create_i.1608
                - io_loop_set_current
            - BranchSide:      'ioloop.c:845,2'
              BranchSideFuncs:
                - i_gettimeofday
                - malloc_multiply_check.1573
                - p_malloc.1574
                - priorityq_init
                - array_create_i.1608
                - io_loop_set_current
        - Branch String:   'ioloop.c:852,32'
          Branch Sides:
            - BranchSide:      'ioloop.c:852,32'
              BranchSideFuncs:
                - io_loop_set_current
            - BranchSide:      'ioloop.c:853,3'
              BranchSideFuncs:
                - io_loop_set_current
      Callsites:
        - Src:             'ioloop.c:841,19'
          Dst:             getenv
        - Src:             'ioloop.c:845,2'
          Dst:             i_gettimeofday
        - Src:             'ioloop.c:848,18'
          Dst:             malloc_multiply_check
        - Src:             'ioloop.c:848,18'
          Dst:             p_malloc
        - Src:             'ioloop.c:849,21'
          Dst:             priorityq_init
        - Src:             'ioloop.c:849,21'
          Dst:             timeout_cmp
        - Src:             'ioloop.c:850,2'
          Dst:             array_create_i
        - Src:             'ioloop.c:857,9'
          Dst:             io_loop_set_current
    - functionName:    io_loop_time_refresh
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 830
      functionLinenumberEnd: 833
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_gettimeofday
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:831,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:831,2'
              BranchSideFuncs:
                - i_gettimeofday
            - BranchSide:      'ioloop.c:831,2'
              BranchSideFuncs:
                - i_gettimeofday
      Callsites:
        - Src:             'ioloop.c:831,2'
          Dst:             i_gettimeofday
    - functionName:    io_loop_is_running
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 825
      functionLinenumberEnd: 826
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_loop_set_max_fd_count
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 820
      functionLinenumberEnd: 822
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ioloop
        - max_fds
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_loop_set_running
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 815
      functionLinenumberEnd: 817
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_loop_stop_delayed
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 810
      functionLinenumberEnd: 812
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_loop_stop
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 804
      functionLinenumberEnd: 807
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         1
      ICount:          19
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_loop_call_pending
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 773
      functionLinenumberEnd: 787
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         16
      ICount:          81
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - io_loop_call_io
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:776,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:777,8'
              BranchSideFuncs:
                - io_loop_call_io
            - BranchSide:      'ioloop.c:787,1'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:780,8'
          Branch Sides:
            - BranchSide:      'ioloop.c:781,22'
              BranchSideFuncs:
                - io_loop_call_io
            - BranchSide:      'ioloop.c:782,8'
              BranchSideFuncs:
                - io_loop_call_io
        - Branch String:   'ioloop.c:782,8'
          Branch Sides:
            - BranchSide:      'ioloop.c:783,5'
              BranchSideFuncs:
                - io_loop_call_io
            - BranchSide:      'ioloop.c:784,9'
              BranchSideFuncs:
                - io_loop_call_io
        - Branch String:   'ioloop.c:785,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:776,2'
              BranchSideFuncs:
                - io_loop_call_io
            - BranchSide:      'ioloop.c:779,27'
              BranchSideFuncs:
                - io_loop_call_io
      Callsites:
        - Src:             'ioloop.c:781,5'
          Dst:             io_loop_call_io
    - functionName:    io_loop_call_io
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 729
      functionLinenumberEnd: 751
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - io
      BBCount:         22
      ICount:          140
      EdgeCount:       25
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - io_loop_context_activate
        - io_loop_context_deactivate
        - t_pop
        - t_push_named
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ioloop.c:733,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:734,3'
              BranchSideFuncs:
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - i_panic
            - BranchSide:      'ioloop.c:739,6'
              BranchSideFuncs:
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
        - Branch String:   'ioloop.c:734,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:734,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:735,3'
              BranchSideFuncs:
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
        - Branch String:   'ioloop.c:739,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:740,28'
              BranchSideFuncs:
                - io_loop_context_activate
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
            - BranchSide:      'ioloop.c:742,16'
              BranchSideFuncs:
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
        - Branch String:   'ioloop.c:744,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:746,12'
              BranchSideFuncs:
                - i_panic
                - io_loop_context_deactivate
            - BranchSide:      'ioloop.c:748,6'
              BranchSideFuncs:
                - i_panic
                - io_loop_context_deactivate
        - Branch String:   'ioloop.c:748,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:749,30'
              BranchSideFuncs:
                - io_loop_context_deactivate
                - i_panic
            - BranchSide:      'ioloop.c:750,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:750,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:750,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:750,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:734,3'
          Dst:             i_panic
        - Src:             'ioloop.c:740,3'
          Dst:             io_loop_context_activate
        - Src:             'ioloop.c:741,9'
          Dst:             t_push_named
        - Src:             'ioloop.c:744,7'
          Dst:             t_pop
        - Src:             'ioloop.c:745,3'
          Dst:             i_panic
        - Src:             'ioloop.c:749,3'
          Dst:             io_loop_context_deactivate
        - Src:             'ioloop.c:750,2'
          Dst:             i_panic
    - functionName:    io_loop_timeouts_start_new
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 578
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         28
      ICount:          171
      EdgeCount:       32
      CyclomaticComplexity: 6
      functionsReached:
        - array_clear_i
        - array_count_i
        - i_memcpy
        - i_panic
        - io_loop_time_refresh
        - priorityq_add
        - timeout_update_next
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:581,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:582,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:584,2'
              BranchSideFuncs:
                - io_loop_time_refresh
                - array_clear_i
                - timeout_update_next
                - priorityq_add
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.1610
        - Branch String:   'ioloop.c:586,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:586,2'
              BranchSideFuncs:
                - i_memcpy.1610
                - array_clear_i
                - timeout_update_next
                - priorityq_add
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'ioloop.c:586,2'
              BranchSideFuncs:
                - array_clear_i
                - timeout_update_next
                - priorityq_add
                - i_memcpy.1610
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'ioloop.c:586,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:587,3'
              BranchSideFuncs:
                - timeout_update_next
                - priorityq_add
                - array_clear_i
                - i_memcpy.1610
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'ioloop.c:594,2'
              BranchSideFuncs:
                - array_clear_i
        - Branch String:   'ioloop.c:587,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:587,3'
              BranchSideFuncs:
                - timeout_update_next
                - priorityq_add
                - array_clear_i
                - i_memcpy.1610
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'ioloop.c:587,3'
              BranchSideFuncs:
                - timeout_update_next
                - priorityq_add
                - array_clear_i
                - i_memcpy.1610
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'ioloop.c:587,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:587,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:589,3'
              BranchSideFuncs:
                - timeout_update_next
                - priorityq_add
                - array_clear_i
                - i_panic
                - i_memcpy.1610
                - i_panic
                - i_panic
        - Branch String:   'ioloop.c:589,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:589,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:590,3'
              BranchSideFuncs:
                - timeout_update_next
                - priorityq_add
                - array_clear_i
                - i_panic
                - i_panic
                - i_memcpy.1610
                - i_panic
        - Branch String:   'ioloop.c:590,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:590,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:591,23'
              BranchSideFuncs:
                - timeout_update_next
                - priorityq_add
                - array_clear_i
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.1610
      Callsites:
        - Src:             'ioloop.c:581,6'
          Dst:             array_count_i
        - Src:             'ioloop.c:584,2'
          Dst:             io_loop_time_refresh
        - Src:             'ioloop.c:586,2'
          Dst:             i_memcpy
        - Src:             'ioloop.c:587,3'
          Dst:             i_panic
        - Src:             'ioloop.c:589,3'
          Dst:             i_panic
        - Src:             'ioloop.c:590,3'
          Dst:             i_panic
        - Src:             'ioloop.c:591,3'
          Dst:             timeout_update_next
        - Src:             'ioloop.c:592,3'
          Dst:             priorityq_add
        - Src:             'ioloop.c:594,2'
          Dst:             array_clear_i
    - functionName:    timeout_update_next
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - timeout
        - tv_now
      BBCount:         9
      ICount:          106
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - i_gettimeofday
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ioloop.c:242,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:243,19'
              BranchSideFuncs:
                - i_gettimeofday
            - BranchSide:      'ioloop.c:245,30'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:256,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:256,6'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:257,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:243,3'
          Dst:             i_gettimeofday
    - functionName:    io_loop_handler_run
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 790
      functionLinenumberEnd: 801
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         14
      ICount:          77
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - io_loop_call_pending
        - io_loop_handler_run_internal
        - io_loop_stop
        - io_loop_timeouts_start_new
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:791,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:791,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:793,29'
              BranchSideFuncs:
                - io_loop_timeouts_start_new
                - io_loop_handler_run_internal
                - io_loop_call_pending
                - i_panic
                - io_loop_stop
        - Branch String:   'ioloop.c:797,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:798,16'
              BranchSideFuncs:
                - io_loop_stop
                - i_panic
            - BranchSide:      'ioloop.c:800,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop.c:800,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:800,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:800,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:791,2'
          Dst:             i_panic
        - Src:             'ioloop.c:793,2'
          Dst:             io_loop_timeouts_start_new
        - Src:             'ioloop.c:795,2'
          Dst:             io_loop_handler_run_internal
        - Src:             'ioloop.c:796,2'
          Dst:             io_loop_call_pending
        - Src:             'ioloop.c:798,3'
          Dst:             io_loop_stop
        - Src:             'ioloop.c:800,2'
          Dst:             i_panic
    - functionName:    io_loop_run
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 754
      functionLinenumberEnd: 770
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         16
      ICount:          101
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - io_loop_context_deactivate
        - io_loop_handler_run
        - io_loop_initialize_handler
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop.c:755,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:756,30'
              BranchSideFuncs:
                - io_loop_initialize_handler
                - io_loop_handler_run
                - i_panic
                - io_loop_context_deactivate
            - BranchSide:      'ioloop.c:758,6'
              BranchSideFuncs:
                - io_loop_handler_run
                - i_panic
                - io_loop_context_deactivate
        - Branch String:   'ioloop.c:758,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:759,30'
              BranchSideFuncs:
                - io_loop_context_deactivate
                - io_loop_handler_run
                - i_panic
            - BranchSide:      'ioloop.c:763,2'
              BranchSideFuncs:
                - io_loop_handler_run
                - i_panic
        - Branch String:   'ioloop.c:763,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:763,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:764,2'
              BranchSideFuncs:
                - io_loop_handler_run
        - Branch String:   'ioloop.c:767,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:768,23'
              BranchSideFuncs:
                - io_loop_handler_run
            - BranchSide:      'ioloop.c:769,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:756,3'
          Dst:             io_loop_initialize_handler
        - Src:             'ioloop.c:759,3'
          Dst:             io_loop_context_deactivate
        - Src:             'ioloop.c:763,2'
          Dst:             i_panic
        - Src:             'ioloop.c:768,3'
          Dst:             io_loop_handler_run
    - functionName:    io_loop_handle_timeouts_real
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 641
      functionLinenumberEnd: 708
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         41
      ICount:          278
      EdgeCount:       49
      CyclomaticComplexity: 10
      functionsReached:
        - i_gettimeofday
        - i_panic
        - io_loop_context_activate
        - io_loop_context_deactivate
        - io_loops_timeouts_update
        - ioloop_add_wait_time
        - priorityq_peek
        - priorityq_remove
        - t_pop
        - t_push_named
        - timeout_get_wait_time
        - timeout_reset_timeval
        - timeval_diff_usecs
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:651,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:653,28'
              BranchSideFuncs:
                - io_loops_timeouts_update
                - i_gettimeofday
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - priorityq_remove
                - priorityq_peek
                - i_panic
            - BranchSide:      'ioloop.c:659,18'
              BranchSideFuncs:
                - timeval_diff_usecs
                - ioloop_add_wait_time
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - priorityq_remove
                - priorityq_peek
                - io_loops_timeouts_update
                - i_panic
        - Branch String:   'ioloop.c:655,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:655,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:657,3'
              BranchSideFuncs:
                - i_gettimeofday
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - priorityq_remove
                - priorityq_peek
        - Branch String:   'ioloop.c:665,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:666,30'
              BranchSideFuncs:
                - io_loops_timeouts_update
                - ioloop_add_wait_time
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - priorityq_remove
                - priorityq_peek
                - i_panic
            - BranchSide:      'ioloop.c:672,24'
              BranchSideFuncs:
                - ioloop_add_wait_time
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - priorityq_remove
                - priorityq_peek
        - Branch String:   'ioloop.c:670,4'
          Branch Sides:
            - BranchSide:      'ioloop.c:670,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:671,3'
              BranchSideFuncs:
                - ioloop_add_wait_time
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - priorityq_remove
                - priorityq_peek
        - Branch String:   'ioloop.c:678,25'
          Branch Sides:
            - BranchSide:      'ioloop.c:678,2'
              BranchSideFuncs:
                - priorityq_peek
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - priorityq_remove
            - BranchSide:      'ioloop.c:679,32'
              BranchSideFuncs:
                - priorityq_peek
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - priorityq_remove
        - Branch String:   'ioloop.c:678,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:678,2'
              BranchSideFuncs:
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - priorityq_peek
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - priorityq_remove
            - BranchSide:      'ioloop.c:680,47'
              BranchSideFuncs:
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - priorityq_peek
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - priorityq_remove
        - Branch String:   'ioloop.c:684,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:685,4'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:687,7'
              BranchSideFuncs:
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - timeout_get_wait_time
                - priorityq_peek
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - priorityq_remove
        - Branch String:   'ioloop.c:687,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:689,21'
              BranchSideFuncs:
                - priorityq_remove
                - t_push_named
                - t_pop
                - i_panic
                - timeout_get_wait_time
                - timeout_reset_timeval
                - priorityq_peek
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
            - BranchSide:      'ioloop.c:692,26'
              BranchSideFuncs:
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - timeout_get_wait_time
                - priorityq_remove
                - priorityq_peek
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
        - Branch String:   'ioloop.c:695,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:696,29'
              BranchSideFuncs:
                - io_loop_context_activate
                - t_push_named
                - t_pop
                - i_panic
                - timeout_get_wait_time
                - timeout_reset_timeval
                - priorityq_remove
                - priorityq_peek
                - i_panic
                - io_loop_context_deactivate
            - BranchSide:      'ioloop.c:698,17'
              BranchSideFuncs:
                - t_push_named
                - t_pop
                - i_panic
                - timeout_get_wait_time
                - timeout_reset_timeval
                - io_loop_context_activate
                - priorityq_remove
                - priorityq_peek
                - i_panic
                - io_loop_context_deactivate
        - Branch String:   'ioloop.c:700,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:702,13'
              BranchSideFuncs:
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - io_loop_context_activate
                - priorityq_remove
                - priorityq_peek
                - i_panic
                - io_loop_context_deactivate
            - BranchSide:      'ioloop.c:704,7'
              BranchSideFuncs:
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - io_loop_context_activate
                - priorityq_remove
                - priorityq_peek
                - i_panic
                - io_loop_context_deactivate
        - Branch String:   'ioloop.c:704,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:705,31'
              BranchSideFuncs:
                - io_loop_context_deactivate
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - io_loop_context_activate
                - priorityq_remove
                - priorityq_peek
                - i_panic
            - BranchSide:      'ioloop.c:706,3'
              BranchSideFuncs:
                - timeout_get_wait_time
                - timeout_reset_timeval
                - t_push_named
                - t_pop
                - i_panic
                - io_loop_context_deactivate
                - io_loop_context_activate
                - priorityq_remove
                - priorityq_peek
                - i_panic
        - Branch String:   'ioloop.c:706,3'
          Branch Sides:
            - BranchSide:      'ioloop.c:678,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:706,3'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             'ioloop.c:648,2'
          Dst:             i_gettimeofday
        - Src:             'ioloop.c:650,15'
          Dst:             timeval_diff_usecs
        - Src:             'ioloop.c:653,3'
          Dst:             io_loops_timeouts_update
        - Src:             'ioloop.c:655,3'
          Dst:             i_panic
        - Src:             'ioloop.c:657,3'
          Dst:             i_gettimeofday
        - Src:             'ioloop.c:663,16'
          Dst:             timeval_diff_usecs
        - Src:             'ioloop.c:666,4'
          Dst:             io_loops_timeouts_update
        - Src:             'ioloop.c:670,4'
          Dst:             i_panic
        - Src:             'ioloop.c:672,3'
          Dst:             ioloop_add_wait_time
        - Src:             'ioloop.c:679,17'
          Dst:             priorityq_peek
        - Src:             'ioloop.c:684,7'
          Dst:             timeout_get_wait_time
        - Src:             'ioloop.c:689,4'
          Dst:             priorityq_remove
        - Src:             'ioloop.c:692,4'
          Dst:             timeout_reset_timeval
        - Src:             'ioloop.c:696,4'
          Dst:             io_loop_context_activate
        - Src:             'ioloop.c:697,10'
          Dst:             t_push_named
        - Src:             'ioloop.c:700,8'
          Dst:             t_pop
        - Src:             'ioloop.c:701,4'
          Dst:             i_panic
        - Src:             'ioloop.c:705,4'
          Dst:             io_loop_context_deactivate
        - Src:             'ioloop.c:706,3'
          Dst:             i_panic
    - functionName:    timeout_reset_timeval
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 427
      functionLinenumberEnd: 447
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - timeout
        - tv_now
      BBCount:         11
      ICount:          77
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - priorityq_add
        - priorityq_remove
        - timeout_update_next
        - timeval_add_usecs
        - timeval_cmp
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ioloop.c:428,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:429,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:431,22'
              BranchSideFuncs:
                - timeout_update_next
                - priorityq_remove
                - priorityq_add
                - timeval_cmp
                - timeval_add_usecs
        - Branch String:   'ioloop.c:441,21'
          Branch Sides:
            - BranchSide:      'ioloop.c:441,37'
              BranchSideFuncs:
                - timeval_cmp
                - priorityq_remove
                - priorityq_add
                - timeval_add_usecs
            - BranchSide:      'ioloop.c:445,19'
              BranchSideFuncs:
                - priorityq_remove
                - priorityq_add
        - Branch String:   'ioloop.c:441,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:442,3'
              BranchSideFuncs:
                - timeval_add_usecs
                - priorityq_remove
                - priorityq_add
            - BranchSide:      'ioloop.c:445,19'
              BranchSideFuncs:
                - priorityq_remove
                - priorityq_add
      Callsites:
        - Src:             'ioloop.c:431,2'
          Dst:             timeout_update_next
        - Src:             'ioloop.c:441,24'
          Dst:             timeval_cmp
        - Src:             'ioloop.c:443,3'
          Dst:             timeval_add_usecs
        - Src:             'ioloop.c:445,2'
          Dst:             priorityq_remove
        - Src:             'ioloop.c:446,2'
          Dst:             priorityq_add
    - functionName:    io_loop_handle_timeouts
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 711
      functionLinenumberEnd: 726
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         15
      ICount:          62
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - data_stack_free_unused
        - i_panic
        - io_loop_handle_timeouts_real
        - t_pop
        - t_push
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:714,4'
          Branch Sides:
            - BranchSide:      'ioloop.c:714,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:714,4'
              BranchSideFuncs:
                - data_stack_free_unused
        - Branch String:   'ioloop.c:721,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:721,6'
              BranchSideFuncs:
                - data_stack_free_unused
            - BranchSide:      'ioloop.c:722,7'
              BranchSideFuncs:
                - data_stack_free_unused
        - Branch String:   'ioloop.c:722,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:723,4'
              BranchSideFuncs:
                - data_stack_free_unused
            - BranchSide:      'ioloop.c:724,33'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop.c:712,2'
          Dst:             t_push
        - Src:             'ioloop.c:713,3'
          Dst:             io_loop_handle_timeouts_real
        - Src:             'ioloop.c:714,4'
          Dst:             t_pop
        - Src:             'ioloop.c:714,4'
          Dst:             i_panic
        - Src:             'ioloop.c:723,4'
          Dst:             data_stack_free_unused
    - functionName:    io_loop_have_waitable_io_files
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 541
      functionLinenumberEnd: 549
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         11
      ICount:          58
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:544,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:545,7'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:548,2'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:545,31'
          Branch Sides:
            - BranchSide:      'ioloop.c:545,35'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:547,2'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:545,7'
          Branch Sides:
            - BranchSide:      'ioloop.c:546,4'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:547,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    io_loop_run_get_wait_time
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 552
      functionLinenumberEnd: 556
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
        - tv_r
      BBCount:         8
      ICount:          44
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - io_loop_get_wait_time
        - io_loop_have_waitable_io_files
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop.c:554,16'
          Branch Sides:
            - BranchSide:      'ioloop.c:554,51'
              BranchSideFuncs:
                - io_loop_have_waitable_io_files
                - i_panic
            - BranchSide:      'ioloop.c:554,16'
              BranchSideFuncs: []
        - Branch String:   'ioloop.c:554,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:554,6'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:555,3'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             'ioloop.c:553,14'
          Dst:             io_loop_get_wait_time
        - Src:             'ioloop.c:554,20'
          Dst:             io_loop_have_waitable_io_files
        - Src:             'ioloop.c:555,3'
          Dst:             i_panic
    - functionName:    timeout_reset
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 453
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - timeout
      BBCount:         7
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - timeout_reset_timeval
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop.c:451,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:451,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:451,2'
              BranchSideFuncs:
                - timeout_reset_timeval
      Callsites:
        - Src:             'ioloop.c:451,2'
          Dst:             i_panic
        - Src:             'ioloop.c:452,2'
          Dst:             timeout_reset_timeval
    - functionName:    timeout_add_absolute
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 370
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - time
        - source_filename
        - source_linenum
        - callback
        - context
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - timeout_add_absolute_to
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:368,9'
          Dst:             timeout_add_absolute_to
    - functionName:    timeout_add_absolute_to
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
        - time
        - source_filename
        - source_linenum
        - callback
        - context
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - priorityq_add
        - timeout_add_common
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:352,12'
          Dst:             timeout_add_common
        - Src:             'ioloop.c:357,2'
          Dst:             priorityq_add
    - functionName:    timeout_add_short
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 340
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - msecs
        - source_filename
        - source_linenum
        - callback
        - context
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - timeout_add
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:339,9'
          Dst:             timeout_add
    - functionName:    timeout_add
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - msecs
        - source_filename
        - source_linenum
        - callback
        - context
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - timeout_add_to
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:317,9'
          Dst:             timeout_add_to
    - functionName:    timeout_add_to
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
        - msecs
        - source_filename
        - source_linenum
        - callback
        - context
      BBCount:         6
      ICount:          79
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_append_i
        - priorityq_add
        - timeout_add_common
        - timeout_update_next
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ioloop.c:298,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:300,3'
              BranchSideFuncs:
                - array_append_i.1587
            - BranchSide:      'ioloop.c:305,23'
              BranchSideFuncs:
                - timeout_update_next
                - priorityq_add
      Callsites:
        - Src:             'ioloop.c:294,12'
          Dst:             timeout_add_common
        - Src:             'ioloop.c:300,3'
          Dst:             array_append_i
        - Src:             'ioloop.c:305,3'
          Dst:             timeout_update_next
        - Src:             'ioloop.c:307,3'
          Dst:             priorityq_add
    - functionName:    timeout_add_short_to
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 330
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
        - msecs
        - source_filename
        - source_linenum
        - callback
        - context
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - timeout_add_to
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:328,9'
          Dst:             timeout_add_to
    - functionName:    io_set_never_wait_alone
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - io
        - set
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_is_pending
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - io
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_remove_closed
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - io
      BBCount:         10
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - io_remove_full
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop.c:212,6'
          Branch Sides:
            - BranchSide:      'ioloop.c:213,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop.c:215,2'
              BranchSideFuncs:
                - io_remove_full
                - i_panic
        - Branch String:   'ioloop.c:215,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:215,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:217,17'
              BranchSideFuncs:
                - io_remove_full
      Callsites:
        - Src:             'ioloop.c:215,2'
          Dst:             i_panic
        - Src:             'ioloop.c:217,2'
          Dst:             io_remove_full
    - functionName:    io_add_istream
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - source_filename
        - source_linenum
        - callback
        - context
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_add_istream_to
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:137,9'
          Dst:             io_add_istream_to
    - functionName:    io_add_istream_to
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
        - input
        - source_filename
        - source_linenum
        - callback
        - context
      BBCount:         3
      ICount:          56
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_stream_get_fd
        - i_stream_ref
        - i_stream_set_io
        - io_add_file
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:124,27'
          Dst:             i_stream_get_fd
        - Src:             'ioloop.c:124,7'
          Dst:             io_add_file
        - Src:             'ioloop.c:127,2'
          Dst:             i_stream_ref
        - Src:             'ioloop.c:128,2'
          Dst:             i_stream_set_io
    - functionName:    io_add
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fd
        - condition
        - source_filename
        - source_linenum
        - callback
        - context
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_add_to
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ioloop.c:111,9'
          Dst:             io_add_to
    - functionName:    io_add_to
      functionSourceFile: '/src/dovecot/src/lib/ioloop.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
        - fd
        - condition
        - source_filename
        - source_linenum
        - callback
        - context
      BBCount:         7
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - io_add_file
      functionUses:    6
      BranchProfiles:
        - Branch String:   'ioloop.c:98,2'
          Branch Sides:
            - BranchSide:      'ioloop.c:98,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop.c:98,2'
              BranchSideFuncs:
                - io_add_file
      Callsites:
        - Src:             'ioloop.c:98,2'
          Dst:             i_panic
        - Src:             'ioloop.c:99,7'
          Dst:             io_add_file
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    inotify_input_more
      functionSourceFile: '/src/dovecot/src/lib/ioloop-notify-inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         30
      ICount:          179
      EdgeCount:       37
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - i_error
        - i_fatal
        - i_gettimeofday
        - i_panic
        - io_loop_call_io
        - io_notify_fd_find
        - read
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-notify-inotify.c:46,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:47,7'
              BranchSideFuncs:
                - __errno_location
                - i_fatal
            - BranchSide:      'ioloop-notify-inotify.c:54,2'
              BranchSideFuncs:
                - i_gettimeofday
                - i_error
                - io_notify_fd_find
                - io_loop_call_io
                - i_panic
        - Branch String:   'ioloop-notify-inotify.c:47,16'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:47,19'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-notify-inotify.c:49,4'
              BranchSideFuncs: []
        - Branch String:   'ioloop-notify-inotify.c:47,7'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:49,4'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-notify-inotify.c:51,3'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'ioloop-notify-inotify.c:57,2'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:58,16'
              BranchSideFuncs:
                - io_notify_fd_find
                - i_error
                - io_loop_call_io
                - i_panic
            - BranchSide:      'ioloop-notify-inotify.c:75,6'
              BranchSideFuncs:
                - i_error
        - Branch String:   'ioloop-notify-inotify.c:58,7'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:59,4'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'ioloop-notify-inotify.c:61,36'
              BranchSideFuncs:
                - io_notify_fd_find
                - i_error
                - io_loop_call_io
                - i_panic
        - Branch String:   'ioloop-notify-inotify.c:62,3'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:62,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop-notify-inotify.c:63,27'
              BranchSideFuncs:
                - io_notify_fd_find
                - i_error
                - i_panic
                - io_loop_call_io
        - Branch String:   'ioloop-notify-inotify.c:66,7'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:57,2'
              BranchSideFuncs:
                - io_loop_call_io
                - i_error
                - io_notify_fd_find
                - i_panic
            - BranchSide:      'ioloop-notify-inotify.c:67,9'
              BranchSideFuncs:
                - io_loop_call_io
                - i_error
                - io_notify_fd_find
                - i_panic
        - Branch String:   'ioloop-notify-inotify.c:67,8'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:70,5'
              BranchSideFuncs:
                - io_loop_call_io
                - i_error
                - io_notify_fd_find
                - i_panic
            - BranchSide:      'ioloop-notify-inotify.c:72,21'
              BranchSideFuncs:
                - io_loop_call_io
                - i_error
                - io_notify_fd_find
                - i_panic
        - Branch String:   'ioloop-notify-inotify.c:75,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:76,3'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'ioloop-notify-inotify.c:77,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop-notify-inotify.c:45,8'
          Dst:             read
        - Src:             'ioloop-notify-inotify.c:47,19'
          Dst:             __errno_location
        - Src:             'ioloop-notify-inotify.c:51,3'
          Dst:             i_fatal
        - Src:             'ioloop-notify-inotify.c:54,2'
          Dst:             i_gettimeofday
        - Src:             'ioloop-notify-inotify.c:62,3'
          Dst:             i_panic
        - Src:             'ioloop-notify-inotify.c:65,8'
          Dst:             io_notify_fd_find
        - Src:             'ioloop-notify-inotify.c:72,4'
          Dst:             io_loop_call_io
        - Src:             'ioloop-notify-inotify.c:76,3'
          Dst:             i_error
    - functionName:    read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ioloop_inotify_user_limit_exceeded
      functionSourceFile: '/src/dovecot/src/lib/ioloop-notify-inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - dec2str
        - geteuid
        - i_getpwuid
        - i_warning
        - t_strdup_printf
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ioloop-notify-inotify.c:157,14'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:155,16'
              BranchSideFuncs:
                - geteuid
                - i_getpwuid
                - dec2str
                - t_strdup_printf
                - i_warning
                - dec2str
                - t_strdup_printf
            - BranchSide:      'ioloop-notify-inotify.c:157,14'
              BranchSideFuncs:
                - geteuid
                - i_getpwuid
                - dec2str
                - t_strdup_printf
                - i_warning
                - dec2str
                - t_strdup_printf
        - Branch String:   'ioloop-notify-inotify.c:159,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:160,44'
              BranchSideFuncs:
                - dec2str
                - t_strdup_printf
                - i_warning
            - BranchSide:      'ioloop-notify-inotify.c:163,20'
              BranchSideFuncs:
                - dec2str
                - t_strdup_printf
                - i_warning
      Callsites:
        - Src:             'ioloop-notify-inotify.c:157,14'
          Dst:             geteuid
        - Src:             'ioloop-notify-inotify.c:159,6'
          Dst:             i_getpwuid
        - Src:             'ioloop-notify-inotify.c:160,36'
          Dst:             dec2str
        - Src:             'ioloop-notify-inotify.c:160,10'
          Dst:             t_strdup_printf
        - Src:             'ioloop-notify-inotify.c:163,12'
          Dst:             dec2str
        - Src:             'ioloop-notify-inotify.c:162,10'
          Dst:             t_strdup_printf
        - Src:             'ioloop-notify-inotify.c:165,2'
          Dst:             i_warning
    - functionName:    geteuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_loop_extract_notify_fd
      functionSourceFile: '/src/dovecot/src/lib/ioloop-notify-inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         18
      ICount:          108
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - i_error
        - inotify_init
        - io_remove
        - ioloop_inotify_user_limit_exceeded
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop-notify-inotify.c:218,18'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:218,21'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-notify-inotify.c:219,3'
              BranchSideFuncs: []
        - Branch String:   'ioloop-notify-inotify.c:218,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:219,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-notify-inotify.c:221,19'
              BranchSideFuncs:
                - inotify_init
                - io_remove
                - __errno_location
                - ioloop_inotify_user_limit_exceeded
                - i_error
        - Branch String:   'ioloop-notify-inotify.c:222,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:223,7'
              BranchSideFuncs:
                - __errno_location
                - ioloop_inotify_user_limit_exceeded
                - i_error
            - BranchSide:      'ioloop-notify-inotify.c:229,12'
              BranchSideFuncs:
                - io_remove
        - Branch String:   'ioloop-notify-inotify.c:223,7'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:224,4'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'ioloop-notify-inotify.c:226,4'
              BranchSideFuncs:
                - ioloop_inotify_user_limit_exceeded
        - Branch String:   'ioloop-notify-inotify.c:229,2'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:230,3'
              BranchSideFuncs:
                - io_remove
            - BranchSide:      'ioloop-notify-inotify.c:231,13'
              BranchSideFuncs:
                - io_remove
      Callsites:
        - Src:             'ioloop-notify-inotify.c:221,19'
          Dst:             inotify_init
        - Src:             'ioloop-notify-inotify.c:223,7'
          Dst:             __errno_location
        - Src:             'ioloop-notify-inotify.c:224,4'
          Dst:             i_error
        - Src:             'ioloop-notify-inotify.c:226,4'
          Dst:             ioloop_inotify_user_limit_exceeded
        - Src:             'ioloop-notify-inotify.c:231,2'
          Dst:             io_remove
    - functionName:    inotify_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    io_loop_notify_handler_deinit
      functionSourceFile: '/src/dovecot/src/lib/ioloop-notify-inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         8
      ICount:          69
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_close_fd_path
        - i_warning
        - io_remove
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-notify-inotify.c:196,2'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:197,26'
              BranchSideFuncs:
                - i_warning
                - io_remove
                - i_close_fd_path
                - p_free_internal.1682
            - BranchSide:      'ioloop-notify-inotify.c:207,2'
              BranchSideFuncs:
                - i_close_fd_path
                - p_free_internal.1682
      Callsites:
        - Src:             'ioloop-notify-inotify.c:200,3'
          Dst:             i_warning
        - Src:             'ioloop-notify-inotify.c:204,3'
          Dst:             io_remove
        - Src:             'ioloop-notify-inotify.c:207,2'
          Dst:             i_close_fd_path
        - Src:             'ioloop-notify-inotify.c:208,2'
          Dst:             p_free_internal
    - functionName:    io_loop_notify_remove
      functionSourceFile: '/src/dovecot/src/lib/ioloop-notify-inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _io
      BBCount:         16
      ICount:          95
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - i_error
        - inotify_rm_watch
        - io_notify_fd_free
        - io_remove
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-notify-inotify.c:139,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:142,24'
              BranchSideFuncs:
                - inotify_rm_watch
                - io_notify_fd_free
                - io_remove
                - __errno_location
                - i_error
            - BranchSide:      'ioloop-notify-inotify.c:147,21'
              BranchSideFuncs:
                - io_notify_fd_free
                - io_remove
        - Branch String:   'ioloop-notify-inotify.c:142,53'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:143,7'
              BranchSideFuncs:
                - __errno_location
                - io_notify_fd_free
                - io_remove
                - i_error
            - BranchSide:      'ioloop-notify-inotify.c:145,2'
              BranchSideFuncs:
                - io_notify_fd_free
                - io_remove
        - Branch String:   'ioloop-notify-inotify.c:142,7'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:144,4'
              BranchSideFuncs:
                - i_error
                - io_notify_fd_free
                - io_remove
            - BranchSide:      'ioloop-notify-inotify.c:145,2'
              BranchSideFuncs:
                - io_notify_fd_free
                - io_remove
        - Branch String:   'ioloop-notify-inotify.c:149,35'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:149,38'
              BranchSideFuncs:
                - io_remove
            - BranchSide:      'ioloop-notify-inotify.c:149,35'
              BranchSideFuncs: []
        - Branch String:   'ioloop-notify-inotify.c:149,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:149,6'
              BranchSideFuncs:
                - io_remove
            - BranchSide:      'ioloop-notify-inotify.c:150,14'
              BranchSideFuncs:
                - io_remove
      Callsites:
        - Src:             'ioloop-notify-inotify.c:142,7'
          Dst:             inotify_rm_watch
        - Src:             'ioloop-notify-inotify.c:143,7'
          Dst:             __errno_location
        - Src:             'ioloop-notify-inotify.c:144,4'
          Dst:             i_error
        - Src:             'ioloop-notify-inotify.c:147,2'
          Dst:             io_notify_fd_free
        - Src:             'ioloop-notify-inotify.c:150,3'
          Dst:             io_remove
    - functionName:    inotify_rm_watch
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    inotify_input
      functionSourceFile: '/src/dovecot/src/lib/ioloop-notify-inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - inotify_input_more
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-notify-inotify.c:82,2'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:82,28'
              BranchSideFuncs:
                - inotify_input_more
            - BranchSide:      'ioloop-notify-inotify.c:83,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop-notify-inotify.c:82,9'
          Dst:             inotify_input_more
    - functionName:    io_loop_notify_handler_init
      functionSourceFile: '/src/dovecot/src/lib/ioloop-notify-inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - fd_close_on_exec
        - fd_set_nonblock
        - i_error
        - inotify_init
        - ioloop_inotify_user_limit_exceeded
        - malloc_multiply_check
        - p_malloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-notify-inotify.c:171,26'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:171,17'
              BranchSideFuncs:
                - malloc_multiply_check.1669
                - p_malloc.1671
                - inotify_init
                - fd_close_on_exec
                - fd_set_nonblock
                - __errno_location
                - ioloop_inotify_user_limit_exceeded
                - i_error
            - BranchSide:      'ioloop-notify-inotify.c:171,26'
              BranchSideFuncs:
                - malloc_multiply_check.1669
                - p_malloc.1671
                - inotify_init
                - fd_close_on_exec
                - fd_set_nonblock
                - __errno_location
                - ioloop_inotify_user_limit_exceeded
                - i_error
        - Branch String:   'ioloop-notify-inotify.c:178,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:179,7'
              BranchSideFuncs:
                - __errno_location
                - ioloop_inotify_user_limit_exceeded
                - i_error
            - BranchSide:      'ioloop-notify-inotify.c:185,20'
              BranchSideFuncs:
                - fd_close_on_exec
                - fd_set_nonblock
        - Branch String:   'ioloop-notify-inotify.c:179,7'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:180,4'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'ioloop-notify-inotify.c:182,4'
              BranchSideFuncs:
                - ioloop_inotify_user_limit_exceeded
      Callsites:
        - Src:             'ioloop-notify-inotify.c:175,3'
          Dst:             malloc_multiply_check
        - Src:             'ioloop-notify-inotify.c:175,3'
          Dst:             p_malloc
        - Src:             'ioloop-notify-inotify.c:177,20'
          Dst:             inotify_init
        - Src:             'ioloop-notify-inotify.c:179,7'
          Dst:             __errno_location
        - Src:             'ioloop-notify-inotify.c:180,4'
          Dst:             i_error
        - Src:             'ioloop-notify-inotify.c:182,4'
          Dst:             ioloop_inotify_user_limit_exceeded
        - Src:             'ioloop-notify-inotify.c:185,3'
          Dst:             fd_close_on_exec
        - Src:             'ioloop-notify-inotify.c:186,3'
          Dst:             fd_set_nonblock
    - functionName:    io_add_notify
      functionSourceFile: '/src/dovecot/src/lib/ioloop-notify-inotify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
        - source_filename
        - source_linenum
        - callback
        - context
        - io_r
      BBCount:         22
      ICount:          156
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - i_error
        - i_warning
        - inotify_add_watch
        - inotify_input
        - io_add
        - io_loop_notify_handler_init
        - io_notify_fd_add
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ioloop-notify-inotify.c:97,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:98,9'
              BranchSideFuncs:
                - io_loop_notify_handler_init
                - inotify_add_watch
                - io_notify_fd_add
                - io_add
                - __errno_location
                - __errno_location
                - __errno_location
                - i_warning
                - i_error
            - BranchSide:      'ioloop-notify-inotify.c:99,6'
              BranchSideFuncs:
                - inotify_add_watch
                - io_notify_fd_add
                - io_add
                - __errno_location
                - __errno_location
                - __errno_location
                - i_warning
                - i_error
        - Branch String:   'ioloop-notify-inotify.c:99,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:100,3'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-notify-inotify.c:102,25'
              BranchSideFuncs:
                - inotify_add_watch
                - io_notify_fd_add
                - io_add
                - __errno_location
                - __errno_location
                - __errno_location
                - i_warning
                - i_error
        - Branch String:   'ioloop-notify-inotify.c:105,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:108,7'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - i_warning
                - i_error
            - BranchSide:      'ioloop-notify-inotify.c:122,6'
              BranchSideFuncs:
                - io_notify_fd_add
                - io_add
        - Branch String:   'ioloop-notify-inotify.c:108,23'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:108,26'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-notify-inotify.c:109,4'
              BranchSideFuncs: []
        - Branch String:   'ioloop-notify-inotify.c:108,7'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:109,4'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-notify-inotify.c:111,7'
              BranchSideFuncs:
                - __errno_location
                - i_warning
                - i_error
        - Branch String:   'ioloop-notify-inotify.c:111,7'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:112,48'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'ioloop-notify-inotify.c:114,4'
              BranchSideFuncs:
                - i_warning
        - Branch String:   'ioloop-notify-inotify.c:122,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-inotify.c:123,19'
              BranchSideFuncs:
                - io_add
                - io_notify_fd_add
            - BranchSide:      'ioloop-notify-inotify.c:127,28'
              BranchSideFuncs:
                - io_notify_fd_add
      Callsites:
        - Src:             'ioloop-notify-inotify.c:98,9'
          Dst:             io_loop_notify_handler_init
        - Src:             'ioloop-notify-inotify.c:102,7'
          Dst:             inotify_add_watch
        - Src:             'ioloop-notify-inotify.c:108,7'
          Dst:             __errno_location
        - Src:             'ioloop-notify-inotify.c:108,26'
          Dst:             __errno_location
        - Src:             'ioloop-notify-inotify.c:111,7'
          Dst:             __errno_location
        - Src:             'ioloop-notify-inotify.c:112,4'
          Dst:             i_error
        - Src:             'ioloop-notify-inotify.c:114,4'
          Dst:             i_warning
        - Src:             'ioloop-notify-inotify.c:123,19'
          Dst:             io_add
        - Src:             'ioloop-notify-inotify.c:123,19'
          Dst:             inotify_input
        - Src:             'ioloop-notify-inotify.c:127,10'
          Dst:             io_notify_fd_add
    - functionName:    inotify_add_watch
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_idx_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
      BBCount:         7
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './array.h:275,2'
          Branch Sides:
            - BranchSide:      './array.h:275,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './array.h:275,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './array.h:275,2'
          Dst:             i_panic
    - functionName:    io_loop_handler_run_internal
      functionSourceFile: '/src/dovecot/src/lib/ioloop-epoll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         52
      ICount:          309
      EdgeCount:       65
      CyclomaticComplexity: 15
      functionsReached:
        - __errno_location
        - array_get_modifiable_i
        - array_idx_i
        - epoll_wait
        - i_fatal
        - i_panic
        - i_sleep_intr_msecs
        - io_loop_call_io
        - io_loop_handle_timeouts
        - io_loop_run_get_wait_time
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-epoll.c:176,2'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:176,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop-epoll.c:179,36'
              BranchSideFuncs:
                - io_loop_run_get_wait_time
                - array_get_modifiable_i
                - i_sleep_intr_msecs
                - io_loop_handle_timeouts
                - array_idx_i.1730
                - io_loop_call_io
                - i_panic
                - epoll_wait
                - __errno_location
                - i_fatal
        - Branch String:   'ioloop-epoll.c:182,31'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:182,34'
              BranchSideFuncs:
                - i_sleep_intr_msecs
                - io_loop_handle_timeouts
                - array_idx_i.1730
                - io_loop_call_io
                - i_panic
                - epoll_wait
                - __errno_location
                - i_fatal
            - BranchSide:      'ioloop-epoll.c:189,3'
              BranchSideFuncs:
                - i_sleep_intr_msecs
                - io_loop_handle_timeouts
                - array_idx_i.1730
                - io_loop_call_io
                - i_panic
        - Branch String:   'ioloop-epoll.c:182,6'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:183,20'
              BranchSideFuncs:
                - epoll_wait
                - io_loop_handle_timeouts
                - array_idx_i.1730
                - io_loop_call_io
                - __errno_location
                - i_fatal
            - BranchSide:      'ioloop-epoll.c:189,3'
              BranchSideFuncs:
                - i_sleep_intr_msecs
                - io_loop_handle_timeouts
                - array_idx_i.1730
                - io_loop_call_io
                - i_panic
        - Branch String:   'ioloop-epoll.c:184,15'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:184,18'
              BranchSideFuncs:
                - __errno_location
                - io_loop_handle_timeouts
                - array_idx_i.1730
                - io_loop_call_io
                - i_fatal
            - BranchSide:      'ioloop-epoll.c:186,2'
              BranchSideFuncs:
                - io_loop_handle_timeouts
                - array_idx_i.1730
                - io_loop_call_io
        - Branch String:   'ioloop-epoll.c:184,7'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:185,4'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'ioloop-epoll.c:186,2'
              BranchSideFuncs:
                - io_loop_handle_timeouts
                - array_idx_i.1730
                - io_loop_call_io
        - Branch String:   'ioloop-epoll.c:189,3'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:189,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop-epoll.c:190,22'
              BranchSideFuncs:
                - i_sleep_intr_msecs
                - io_loop_handle_timeouts
                - array_idx_i.1730
                - io_loop_call_io
        - Branch String:   'ioloop-epoll.c:197,6'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:198,3'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
            - BranchSide:      'ioloop-epoll.c:200,9'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
        - Branch String:   'ioloop-epoll.c:200,2'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:200,2'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
            - BranchSide:      'ioloop-epoll.c:203,11'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
        - Branch String:   'ioloop-epoll.c:206,3'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:207,9'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
            - BranchSide:      'ioloop-epoll.c:227,2'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
        - Branch String:   'ioloop-epoll.c:208,8'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:209,5'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
            - BranchSide:      'ioloop-epoll.c:211,9'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
        - Branch String:   'ioloop-epoll.c:212,8'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:213,10'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
            - BranchSide:      'ioloop-epoll.c:214,14'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
        - Branch String:   'ioloop-epoll.c:214,13'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:215,13'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
            - BranchSide:      'ioloop-epoll.c:216,14'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
        - Branch String:   'ioloop-epoll.c:216,13'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:217,13'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
            - BranchSide:      'ioloop-epoll.c:218,14'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
        - Branch String:   'ioloop-epoll.c:221,8'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:222,22'
              BranchSideFuncs:
                - io_loop_call_io
                - array_idx_i.1730
            - BranchSide:      'ioloop-epoll.c:226,3'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
        - Branch String:   'ioloop-epoll.c:223,9'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:224,6'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
            - BranchSide:      'ioloop-epoll.c:225,4'
              BranchSideFuncs:
                - array_idx_i.1730
                - io_loop_call_io
      Callsites:
        - Src:             'ioloop-epoll.c:176,2'
          Dst:             i_panic
        - Src:             'ioloop-epoll.c:179,10'
          Dst:             io_loop_run_get_wait_time
        - Src:             'ioloop-epoll.c:181,11'
          Dst:             array_get_modifiable_i
        - Src:             'ioloop-epoll.c:183,9'
          Dst:             epoll_wait
        - Src:             'ioloop-epoll.c:184,18'
          Dst:             __errno_location
        - Src:             'ioloop-epoll.c:185,4'
          Dst:             i_fatal
        - Src:             'ioloop-epoll.c:189,3'
          Dst:             i_panic
        - Src:             'ioloop-epoll.c:190,3'
          Dst:             i_sleep_intr_msecs
        - Src:             'ioloop-epoll.c:195,9'
          Dst:             io_loop_handle_timeouts
        - Src:             'ioloop-epoll.c:203,11'
          Dst:             array_idx_i
        - Src:             'ioloop-epoll.c:222,5'
          Dst:             io_loop_call_io
    - functionName:    array_get_modifiable_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 303
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - count_r
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
        - buffer_get_modifiable_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:304,13'
          Dst:             array_count_i
        - Src:             './array.h:305,9'
          Dst:             buffer_get_modifiable_data
    - functionName:    epoll_wait
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_loop_handle_remove
      functionSourceFile: '/src/dovecot/src/lib/ioloop-epoll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - io
        - closed
      BBCount:         20
      ICount:          154
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - array_idx_modifiable_i
        - epoll_ctl
        - epoll_event_mask
        - i_error
        - i_panic
        - ioloop_iolist_del
        - p_free_internal
        - t_strdup_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-epoll.c:138,6'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:139,3'
              BranchSideFuncs:
                - p_free_internal.1747
            - BranchSide:      'ioloop-epoll.c:155,6'
              BranchSideFuncs:
                - p_free_internal.1747
        - Branch String:   'ioloop-epoll.c:145,7'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:148,5'
              BranchSideFuncs:
                - t_strdup_printf
                - __errno_location
                - i_error
                - p_free_internal.1747
                - __errno_location
                - i_panic
            - BranchSide:      'ioloop-epoll.c:154,2'
              BranchSideFuncs:
                - p_free_internal.1747
        - Branch String:   'ioloop-epoll.c:149,24'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:149,27'
              BranchSideFuncs:
                - __errno_location
                - i_error
                - p_free_internal.1747
                - i_panic
            - BranchSide:      'ioloop-epoll.c:152,19'
              BranchSideFuncs:
                - i_error
                - p_free_internal.1747
        - Branch String:   'ioloop-epoll.c:149,8'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:150,19'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop-epoll.c:152,19'
              BranchSideFuncs:
                - i_error
                - p_free_internal.1747
        - Branch String:   'ioloop-epoll.c:155,6'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:159,3'
              BranchSideFuncs:
                - p_free_internal.1747
            - BranchSide:      'ioloop-epoll.c:161,2'
              BranchSideFuncs:
                - p_free_internal.1747
      Callsites:
        - Src:             'ioloop-epoll.c:135,9'
          Dst:             array_idx_modifiable_i
        - Src:             'ioloop-epoll.c:136,9'
          Dst:             ioloop_iolist_del
        - Src:             'ioloop-epoll.c:141,18'
          Dst:             epoll_event_mask
        - Src:             'ioloop-epoll.c:145,7'
          Dst:             epoll_ctl
        - Src:             'ioloop-epoll.c:146,25'
          Dst:             t_strdup_printf
        - Src:             'ioloop-epoll.c:149,8'
          Dst:             __errno_location
        - Src:             'ioloop-epoll.c:149,27'
          Dst:             __errno_location
        - Src:             'ioloop-epoll.c:150,5'
          Dst:             i_panic
        - Src:             'ioloop-epoll.c:152,5'
          Dst:             i_error
        - Src:             'ioloop-epoll.c:161,2'
          Dst:             p_free_internal
    - functionName:    epoll_event_mask
      functionSourceFile: '/src/dovecot/src/lib/ioloop-epoll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - list
      BBCount:         16
      ICount:          100
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ioloop-epoll.c:69,2'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:70,8'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-epoll.c:83,9'
              BranchSideFuncs: []
        - Branch String:   'ioloop-epoll.c:72,7'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:73,4'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-epoll.c:75,8'
              BranchSideFuncs: []
        - Branch String:   'ioloop-epoll.c:75,7'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:76,11'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-epoll.c:77,8'
              BranchSideFuncs: []
        - Branch String:   'ioloop-epoll.c:77,7'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:78,11'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-epoll.c:79,8'
              BranchSideFuncs: []
        - Branch String:   'ioloop-epoll.c:79,7'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:80,11'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-epoll.c:81,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    epoll_ctl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    array_append_space_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_space_unsafe
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:336,9'
          Dst:             buffer_append_space_unsafe
    - functionName:    io_loop_handle_add
      functionSourceFile: '/src/dovecot/src/lib/ioloop-epoll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - io
      BBCount:         19
      ICount:          160
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - array_append_space_i
        - array_idx_get_space_i
        - epoll_ctl
        - epoll_event_mask
        - i_panic
        - ioloop_iolist_add
        - malloc_multiply_check
        - p_malloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-epoll.c:95,6'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:96,11'
              BranchSideFuncs:
                - malloc_multiply_check.1751
                - p_malloc.1752
                - ioloop_iolist_add
                - epoll_event_mask
                - epoll_ctl
                - array_append_space_i.1748
                - __errno_location
                - i_panic
                - i_panic
            - BranchSide:      'ioloop-epoll.c:98,29'
              BranchSideFuncs:
                - ioloop_iolist_add
                - epoll_event_mask
                - epoll_ctl
                - array_append_space_i.1748
                - __errno_location
                - i_panic
                - i_panic
        - Branch String:   'ioloop-epoll.c:106,6'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:107,7'
              BranchSideFuncs:
                - __errno_location
                - i_panic
                - i_panic
            - BranchSide:      'ioloop-epoll.c:117,6'
              BranchSideFuncs:
                - array_append_space_i.1748
        - Branch String:   'ioloop-epoll.c:107,22'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:107,25'
              BranchSideFuncs:
                - i_panic
                - i_panic
            - BranchSide:      'ioloop-epoll.c:114,4'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop-epoll.c:107,7'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:109,37'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop-epoll.c:114,4'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop-epoll.c:117,6'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:117,6'
              BranchSideFuncs:
                - array_append_space_i.1748
            - BranchSide:      'ioloop-epoll.c:120,7'
              BranchSideFuncs:
                - array_append_space_i.1748
        - Branch String:   'ioloop-epoll.c:120,7'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:121,4'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-epoll.c:123,4'
              BranchSideFuncs:
                - array_append_space_i.1748
      Callsites:
        - Src:             'ioloop-epoll.c:94,9'
          Dst:             array_idx_get_space_i
        - Src:             'ioloop-epoll.c:96,11'
          Dst:             malloc_multiply_check
        - Src:             'ioloop-epoll.c:96,11'
          Dst:             p_malloc
        - Src:             'ioloop-epoll.c:98,10'
          Dst:             ioloop_iolist_add
        - Src:             'ioloop-epoll.c:102,17'
          Dst:             epoll_event_mask
        - Src:             'ioloop-epoll.c:106,6'
          Dst:             epoll_ctl
        - Src:             'ioloop-epoll.c:107,7'
          Dst:             __errno_location
        - Src:             'ioloop-epoll.c:108,4'
          Dst:             i_panic
        - Src:             'ioloop-epoll.c:113,3'
          Dst:             i_panic
        - Src:             'ioloop-epoll.c:123,4'
          Dst:             array_append_space_i
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    array_free_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:159,2'
          Dst:             buffer_free
    - functionName:    io_loop_handler_deinit
      functionSourceFile: '/src/dovecot/src/lib/ioloop-epoll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         14
      ICount:          98
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - array_free_i
        - array_get_modifiable_i
        - close
        - i_error
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-epoll.c:50,2'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:51,3'
              BranchSideFuncs:
                - p_free_internal.1747
                - close
                - array_free_i.1759
                - array_free_i.1759
                - p_free_internal.1747
                - i_error
            - BranchSide:      'ioloop-epoll.c:53,12'
              BranchSideFuncs:
                - close
                - array_free_i.1759
                - array_free_i.1759
                - p_free_internal.1747
                - i_error
        - Branch String:   'ioloop-epoll.c:53,6'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:54,3'
              BranchSideFuncs:
                - i_error
                - array_free_i.1759
                - array_free_i.1759
                - p_free_internal.1747
            - BranchSide:      'ioloop-epoll.c:55,2'
              BranchSideFuncs:
                - array_free_i.1759
                - array_free_i.1759
                - p_free_internal.1747
      Callsites:
        - Src:             'ioloop-epoll.c:49,9'
          Dst:             array_get_modifiable_i
        - Src:             'ioloop-epoll.c:51,3'
          Dst:             p_free_internal
        - Src:             'ioloop-epoll.c:53,6'
          Dst:             close
        - Src:             'ioloop-epoll.c:54,3'
          Dst:             i_error
        - Src:             'ioloop-epoll.c:55,2'
          Dst:             array_free_i
        - Src:             'ioloop-epoll.c:56,2'
          Dst:             array_free_i
        - Src:             'ioloop-epoll.c:57,2'
          Dst:             p_free_internal
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    2
      BranchProfiles:
        - Branch String:   './array.h:149,3'
          Branch Sides:
            - BranchSide:      './array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.1729
            - BranchSide:      './array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.1729
      Callsites:
        - Src:             './array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             './array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    io_loop_handler_init
      functionSourceFile: '/src/dovecot/src/lib/ioloop-epoll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 23
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ioloop
        - initial_fd_count
      BBCount:         7
      ICount:          70
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
        - array_create_i
        - epoll_create
        - fd_close_on_exec
        - i_fatal
        - malloc_multiply_check
        - p_malloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-epoll.c:32,6'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:33,7'
              BranchSideFuncs:
                - __errno_location
                - i_fatal
                - i_fatal
            - BranchSide:      'ioloop-epoll.c:40,19'
              BranchSideFuncs:
                - fd_close_on_exec
        - Branch String:   'ioloop-epoll.c:33,7'
          Branch Sides:
            - BranchSide:      'ioloop-epoll.c:34,4'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'ioloop-epoll.c:36,4'
              BranchSideFuncs:
                - i_fatal
      Callsites:
        - Src:             'ioloop-epoll.c:26,34'
          Dst:             malloc_multiply_check
        - Src:             'ioloop-epoll.c:26,34'
          Dst:             p_malloc
        - Src:             'ioloop-epoll.c:28,2'
          Dst:             array_create_i
        - Src:             'ioloop-epoll.c:29,2'
          Dst:             array_create_i
        - Src:             'ioloop-epoll.c:31,14'
          Dst:             epoll_create
        - Src:             'ioloop-epoll.c:33,7'
          Dst:             __errno_location
        - Src:             'ioloop-epoll.c:34,4'
          Dst:             i_fatal
        - Src:             'ioloop-epoll.c:36,4'
          Dst:             i_fatal
        - Src:             'ioloop-epoll.c:40,2'
          Dst:             fd_close_on_exec
    - functionName:    epoll_create
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lib_deinit
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 209
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - data_stack_deinit
        - data_stack_deinit_event
        - event_filter_deinit
        - failures_deinit
        - hostpid_deinit
        - i_close_fd_path
        - i_panic
        - ipwd_deinit
        - lib_atexit_run
        - lib_event_deinit
        - process_title_deinit
        - random_deinit
        - restrict_access_deinit
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib.c:210,2'
          Branch Sides:
            - BranchSide:      'lib.c:210,2'
              BranchSideFuncs:
                - lib_atexit_run
                - ipwd_deinit
                - hostpid_deinit
                - event_filter_deinit
                - data_stack_deinit_event
                - lib_event_deinit
                - restrict_access_deinit
                - i_close_fd_path
                - data_stack_deinit
                - failures_deinit
                - process_title_deinit
                - random_deinit
                - i_panic
            - BranchSide:      'lib.c:210,2'
              BranchSideFuncs:
                - lib_atexit_run
                - ipwd_deinit
                - hostpid_deinit
                - event_filter_deinit
                - data_stack_deinit_event
                - lib_event_deinit
                - restrict_access_deinit
                - i_close_fd_path
                - data_stack_deinit
                - failures_deinit
                - process_title_deinit
                - random_deinit
                - i_panic
        - Branch String:   'lib.c:210,2'
          Branch Sides:
            - BranchSide:      'lib.c:210,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib.c:210,2'
              BranchSideFuncs:
                - lib_atexit_run
                - ipwd_deinit
                - hostpid_deinit
                - event_filter_deinit
                - data_stack_deinit_event
                - lib_event_deinit
                - restrict_access_deinit
                - i_close_fd_path
                - data_stack_deinit
                - failures_deinit
                - process_title_deinit
                - random_deinit
      Callsites:
        - Src:             'lib.c:210,2'
          Dst:             i_panic
        - Src:             'lib.c:212,2'
          Dst:             lib_atexit_run
        - Src:             'lib.c:213,2'
          Dst:             ipwd_deinit
        - Src:             'lib.c:214,2'
          Dst:             hostpid_deinit
        - Src:             'lib.c:215,2'
          Dst:             event_filter_deinit
        - Src:             'lib.c:216,2'
          Dst:             data_stack_deinit_event
        - Src:             'lib.c:217,2'
          Dst:             lib_event_deinit
        - Src:             'lib.c:218,2'
          Dst:             restrict_access_deinit
        - Src:             'lib.c:219,2'
          Dst:             i_close_fd_path
        - Src:             'lib.c:220,2'
          Dst:             data_stack_deinit
        - Src:             'lib.c:221,2'
          Dst:             failures_deinit
        - Src:             'lib.c:222,2'
          Dst:             process_title_deinit
        - Src:             'lib.c:223,2'
          Dst:             random_deinit
    - functionName:    lib_atexit_run
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          55
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - array_free_i
        - array_is_created_i
        - array_sort_i
        - atexit_callback_priority_cmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib.c:132,6'
          Branch Sides:
            - BranchSide:      'lib.c:130,32'
              BranchSideFuncs:
                - array_is_created_i.1822
                - array_sort_i
                - array_free_i.1823
            - BranchSide:      'lib.c:132,6'
              BranchSideFuncs:
                - array_is_created_i.1822
                - array_sort_i
                - array_free_i.1823
        - Branch String:   'lib.c:132,6'
          Branch Sides:
            - BranchSide:      'lib.c:132,6'
              BranchSideFuncs:
                - array_sort_i
                - array_free_i.1823
            - BranchSide:      'lib.c:133,3'
              BranchSideFuncs:
                - array_sort_i
                - array_free_i.1823
        - Branch String:   'lib.c:134,3'
          Branch Sides:
            - BranchSide:      'lib.c:135,6'
              BranchSideFuncs:
                - array_free_i.1823
            - BranchSide:      'lib.c:136,3'
              BranchSideFuncs:
                - array_free_i.1823
      Callsites:
        - Src:             'lib.c:132,6'
          Dst:             array_is_created_i
        - Src:             'lib.c:133,3'
          Dst:             array_sort_i
        - Src:             'lib.c:133,3'
          Dst:             atexit_callback_priority_cmp
        - Src:             'lib.c:136,3'
          Dst:             array_free_i
    - functionName:    array_is_created_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    atexit_callback_priority_cmp
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - cb1
        - cb2
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_free_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:159,2'
          Dst:             buffer_free
    - functionName:    lib_is_initialized
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lib_atexit_handler
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          37
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - abort
        - strlen
        - write
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib.c:174,7'
          Branch Sides:
            - BranchSide:      'lib.c:174,7'
              BranchSideFuncs:
                - strlen
                - write
                - abort
            - BranchSide:      'lib.c:174,7'
              BranchSideFuncs:
                - strlen
                - write
                - abort
        - Branch String:   'lib.c:174,6'
          Branch Sides:
            - BranchSide:      'lib.c:175,15'
              BranchSideFuncs: []
            - BranchSide:      'lib.c:181,1'
              BranchSideFuncs: []
        - Branch String:   'lib.c:176,7'
          Branch Sides:
            - BranchSide:      'lib.c:178,3'
              BranchSideFuncs:
                - abort
            - BranchSide:      'lib.c:179,3'
              BranchSideFuncs:
                - abort
      Callsites:
        - Src:             'lib.c:176,35'
          Dst:             strlen
        - Src:             'lib.c:176,7'
          Dst:             write
        - Src:             'lib.c:179,3'
          Dst:             abort
    - functionName:    lib_open_non_stdio_dev_null
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          47
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - dup
        - fd_close_on_exec
        - i_fatal
        - open
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib.c:142,16'
          Branch Sides:
            - BranchSide:      'lib.c:142,16'
              BranchSideFuncs:
                - open
                - fd_close_on_exec
                - dup
                - i_fatal
                - i_fatal
            - BranchSide:      'lib.c:142,16'
              BranchSideFuncs:
                - open
                - fd_close_on_exec
                - dup
                - i_fatal
                - i_fatal
        - Branch String:   'lib.c:143,6'
          Branch Sides:
            - BranchSide:      'lib.c:144,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'lib.c:149,2'
              BranchSideFuncs:
                - fd_close_on_exec
                - dup
                - i_fatal
        - Branch String:   'lib.c:149,2'
          Branch Sides:
            - BranchSide:      'lib.c:150,21'
              BranchSideFuncs:
                - dup
                - fd_close_on_exec
                - i_fatal
            - BranchSide:      'lib.c:155,19'
              BranchSideFuncs:
                - fd_close_on_exec
        - Branch String:   'lib.c:151,7'
          Branch Sides:
            - BranchSide:      'lib.c:149,2'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'lib.c:152,4'
              BranchSideFuncs:
                - i_fatal
      Callsites:
        - Src:             'lib.c:142,16'
          Dst:             open
        - Src:             'lib.c:144,3'
          Dst:             i_fatal
        - Src:             'lib.c:150,17'
          Dst:             dup
        - Src:             'lib.c:152,4'
          Dst:             i_fatal
        - Src:             'lib.c:155,2'
          Dst:             fd_close_on_exec
    - functionName:    dup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lib_init
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - atexit
        - data_stack_init
        - event_filter_init
        - hostpid_init
        - i_panic
        - lib_atexit_handler
        - lib_event_init
        - lib_open_non_stdio_dev_null
        - lib_set_clean_exit
        - random_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib.c:185,2'
          Branch Sides:
            - BranchSide:      'lib.c:185,2'
              BranchSideFuncs:
                - random_init
                - data_stack_init
                - hostpid_init
                - lib_open_non_stdio_dev_null
                - lib_event_init
                - event_filter_init
                - lib_set_clean_exit
                - atexit
                - i_panic
            - BranchSide:      'lib.c:185,2'
              BranchSideFuncs:
                - random_init
                - data_stack_init
                - hostpid_init
                - lib_open_non_stdio_dev_null
                - lib_event_init
                - event_filter_init
                - lib_set_clean_exit
                - atexit
                - i_panic
        - Branch String:   'lib.c:185,2'
          Branch Sides:
            - BranchSide:      'lib.c:185,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib.c:185,2'
              BranchSideFuncs:
                - random_init
                - data_stack_init
                - hostpid_init
                - lib_open_non_stdio_dev_null
                - lib_event_init
                - event_filter_init
                - lib_set_clean_exit
                - atexit
      Callsites:
        - Src:             'lib.c:185,2'
          Dst:             i_panic
        - Src:             'lib.c:186,2'
          Dst:             random_init
        - Src:             'lib.c:187,2'
          Dst:             data_stack_init
        - Src:             'lib.c:188,2'
          Dst:             hostpid_init
        - Src:             'lib.c:189,2'
          Dst:             lib_open_non_stdio_dev_null
        - Src:             'lib.c:190,2'
          Dst:             lib_event_init
        - Src:             'lib.c:191,2'
          Dst:             event_filter_init
        - Src:             'lib.c:197,2'
          Dst:             lib_set_clean_exit
        - Src:             'lib.c:198,2'
          Dst:             atexit
        - Src:             'lib.c:198,2'
          Dst:             lib_atexit_handler
    - functionName:    lib_set_clean_exit
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - bool
      constantsTouched: []
      argNames:
        - set
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    atexit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_append_space_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_space_unsafe
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:336,9'
          Dst:             buffer_append_space_unsafe
    - functionName:    array_get_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - count_r
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:253,13'
          Dst:             array_count_i
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    1
      BranchProfiles:
        - Branch String:   './array.h:149,3'
          Branch Sides:
            - BranchSide:      './array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.1815
            - BranchSide:      './array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.1815
      Callsites:
        - Src:             './array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             './array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    lib_atexit_priority
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - callback
        - priority
      BBCount:         17
      ICount:          103
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - array_append_space_i
        - array_create_i
        - array_get_i
        - array_is_created_i
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib.c:105,6'
          Branch Sides:
            - BranchSide:      'lib.c:106,3'
              BranchSideFuncs:
                - array_get_i.1836
                - array_append_space_i.1835
                - i_panic
            - BranchSide:      'lib.c:109,15'
              BranchSideFuncs:
                - array_get_i.1836
                - array_append_space_i.1835
                - i_panic
        - Branch String:   'lib.c:110,3'
          Branch Sides:
            - BranchSide:      'lib.c:0,0'
              BranchSideFuncs:
                - array_append_space_i.1835
                - i_panic
            - BranchSide:      'lib.c:111,8'
              BranchSideFuncs:
                - array_append_space_i.1835
                - i_panic
        - Branch String:   'lib.c:111,8'
          Branch Sides:
            - BranchSide:      'lib.c:112,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib.c:115,3'
              BranchSideFuncs:
                - array_append_space_i.1835
                - i_panic
        - Branch String:   'lib.c:112,5'
          Branch Sides:
            - BranchSide:      'lib.c:112,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib.c:113,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib.c:105,7'
          Dst:             array_is_created_i
        - Src:             'lib.c:106,3'
          Dst:             array_create_i
        - Src:             'lib.c:109,15'
          Dst:             array_get_i
        - Src:             'lib.c:112,5'
          Dst:             i_panic
        - Src:             'lib.c:117,7'
          Dst:             array_append_space_i
    - functionName:    lib_atexit
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lib_atexit_priority
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib.c:96,2'
          Dst:             lib_atexit_priority
    - functionName:    i_getopt_reset
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_unlink_if_exists
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - path
        - source_fname
        - source_linenum
      BBCount:         8
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - i_error
        - unlink
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib.c:72,6'
          Branch Sides:
            - BranchSide:      'lib.c:73,3'
              BranchSideFuncs: []
            - BranchSide:      'lib.c:74,11'
              BranchSideFuncs:
                - __errno_location
                - i_error
        - Branch String:   'lib.c:74,11'
          Branch Sides:
            - BranchSide:      'lib.c:75,3'
              BranchSideFuncs: []
            - BranchSide:      'lib.c:78,4'
              BranchSideFuncs:
                - i_error
      Callsites:
        - Src:             'lib.c:72,6'
          Dst:             unlink
        - Src:             'lib.c:74,11'
          Dst:             __errno_location
        - Src:             'lib.c:77,3'
          Dst:             i_error
    - functionName:    unlink
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_unlink
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - path
        - source_fname
        - source_linenum
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_error
        - unlink
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib.c:60,6'
          Branch Sides:
            - BranchSide:      'lib.c:62,4'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'lib.c:65,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib.c:60,6'
          Dst:             unlink
        - Src:             'lib.c:61,3'
          Dst:             i_error
    - functionName:    i_faccessat2
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - dirfd
        - pathname
        - mode
        - flags
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - faccessat
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib.c:53,9'
          Dst:             faccessat
    - functionName:    faccessat
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lib_exit
      functionSourceFile: '/src/dovecot/src/lib/lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - status
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - exit
        - lib_set_clean_exit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib.c:165,2'
          Dst:             lib_set_clean_exit
        - Src:             'lib.c:166,2'
          Dst:             exit
    - functionName:    exit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    last_passthrough_event
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    18
      BranchProfiles:
        - Branch String:   'lib-event.c:99,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:99,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:99,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'lib-event.c:99,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:99,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:99,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:99,2'
          Dst:             i_panic
    - functionName:    event_import_strlist
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1492
      functionLinenumberEnd: 1514
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - field
        - _args
        - error_r
      BBCount:         15
      ICount:          138
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - array_append_i
        - array_create_i
        - p_strdup
        - str_to_uint
        - t_strdup_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1497,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1499,9'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1502,2'
              BranchSideFuncs:
                - array_create_i.2046
                - t_strdup_printf
                - p_strdup
                - array_append_i.2047
        - Branch String:   'lib-event.c:1503,25'
          Branch Sides:
            - BranchSide:      'lib-event.c:1503,28'
              BranchSideFuncs:
                - t_strdup_printf
                - p_strdup
                - array_append_i.2047
            - BranchSide:      'lib-event.c:1503,2'
              BranchSideFuncs:
                - t_strdup_printf
                - p_strdup
                - array_append_i.2047
        - Branch String:   'lib-event.c:1503,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1504,30'
              BranchSideFuncs:
                - p_strdup
                - array_append_i.2047
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1507,6'
              BranchSideFuncs:
                - t_strdup_printf
        - Branch String:   'lib-event.c:1507,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1509,9'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1512,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:1497,6'
          Dst:             str_to_uint
        - Src:             'lib-event.c:1498,14'
          Dst:             t_strdup_printf
        - Src:             'lib-event.c:1502,2'
          Dst:             array_create_i
        - Src:             'lib-event.c:1504,21'
          Dst:             p_strdup
        - Src:             'lib-event.c:1505,3'
          Dst:             array_append_i
        - Src:             'lib-event.c:1508,14'
          Dst:             t_strdup_printf
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    12
      BranchProfiles:
        - Branch String:   './array.h:149,3'
          Branch Sides:
            - BranchSide:      './array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.2048
            - BranchSide:      './array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.2048
      Callsites:
        - Src:             './array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             './array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    array_append_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - data
        - count
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:212,2'
          Dst:             buffer_append
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_import_field
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1519
      functionLinenumberEnd: 1579
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - code
        - arg
        - _args
        - error_r
      BBCount:         28
      ICount:          226
      EdgeCount:       34
      CyclomaticComplexity: 8
      functionsReached:
        - event_get_field
        - event_import_strlist
        - event_import_tv
        - i_unreached
        - net_addr2ip
        - null_strcmp
        - p_strdup
        - str_to_intmax
        - t_strdup_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1523,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1524,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1527,46'
              BranchSideFuncs:
                - event_get_field
                - event_import_strlist
                - net_addr2ip
                - t_strdup_printf
                - event_import_tv
                - t_strdup_printf
                - p_strdup
                - null_strcmp
                - str_to_intmax
                - t_strdup_printf
                - i_unreached
        - Branch String:   'lib-event.c:1528,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1529,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1532,10'
              BranchSideFuncs:
                - event_import_strlist
                - net_addr2ip
                - t_strdup_printf
                - event_import_tv
                - t_strdup_printf
                - p_strdup
                - null_strcmp
                - str_to_intmax
                - t_strdup_printf
                - i_unreached
        - Branch String:   'lib-event.c:1532,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1534,3'
              BranchSideFuncs:
                - str_to_intmax
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1543,7'
              BranchSideFuncs:
                - p_strdup
                - null_strcmp
            - BranchSide:      'lib-event.c:1552,3'
              BranchSideFuncs:
                - event_import_tv
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1562,3'
              BranchSideFuncs:
                - net_addr2ip
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1571,29'
              BranchSideFuncs:
                - event_import_strlist
            - BranchSide:      'lib-event.c:1575,3'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'lib-event.c:1535,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1538,6'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1541,3'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:1543,55'
          Branch Sides:
            - BranchSide:      'lib-event.c:1544,19'
              BranchSideFuncs:
                - null_strcmp
                - p_strdup
            - BranchSide:      'lib-event.c:1548,3'
              BranchSideFuncs:
                - p_strdup
        - Branch String:   'lib-event.c:1543,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1546,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1548,3'
              BranchSideFuncs:
                - p_strdup
        - Branch String:   'lib-event.c:1553,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1556,10'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1559,7'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:1563,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1566,6'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1569,3'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:1571,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1572,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1573,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:1527,30'
          Dst:             event_get_field
        - Src:             'lib-event.c:1535,7'
          Dst:             str_to_intmax
        - Src:             'lib-event.c:1536,15'
          Dst:             t_strdup_printf
        - Src:             'lib-event.c:1544,7'
          Dst:             null_strcmp
        - Src:             'lib-event.c:1549,22'
          Dst:             p_strdup
        - Src:             'lib-event.c:1553,8'
          Dst:             event_import_tv
        - Src:             'lib-event.c:1555,15'
          Dst:             t_strdup_printf
        - Src:             'lib-event.c:1563,7'
          Dst:             net_addr2ip
        - Src:             'lib-event.c:1564,15'
          Dst:             t_strdup_printf
        - Src:             'lib-event.c:1571,8'
          Dst:             event_import_strlist
        - Src:             'lib-event.c:1575,3'
          Dst:             i_unreached
    - functionName:    event_get_field
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1044
      functionLinenumberEnd: 1057
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - event
        - key
        - clear
      BBCount:         12
      ICount:          79
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - array_append_space_i
        - array_create_i
        - array_is_created_i
        - event_find_field_nonrecursive
        - event_set_changed
        - p_strdup
      functionUses:    8
      BranchProfiles:
        - Branch String:   'lib-event.c:1048,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1049,8'
              BranchSideFuncs:
                - array_is_created_i.2054
                - array_create_i.2046
                - array_append_space_i.2055
                - p_strdup
                - event_set_changed
            - BranchSide:      'lib-event.c:1053,13'
              BranchSideFuncs:
                - event_set_changed
        - Branch String:   'lib-event.c:1049,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1050,4'
              BranchSideFuncs:
                - array_append_space_i.2055
                - p_strdup
                - event_set_changed
            - BranchSide:      'lib-event.c:1051,11'
              BranchSideFuncs:
                - array_append_space_i.2055
                - p_strdup
                - event_set_changed
      Callsites:
        - Src:             'lib-event.c:1047,10'
          Dst:             event_find_field_nonrecursive
        - Src:             'lib-event.c:1049,8'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:1050,4'
          Dst:             array_create_i
        - Src:             'lib-event.c:1051,11'
          Dst:             array_append_space_i
        - Src:             'lib-event.c:1052,16'
          Dst:             p_strdup
        - Src:             'lib-event.c:1056,2'
          Dst:             event_set_changed
    - functionName:    event_import_tv
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1469
      functionLinenumberEnd: 1487
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - arg_secs
        - arg_usecs
        - tv_r
        - error_r
      BBCount:         13
      ICount:          82
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - str_to_time
        - str_to_uint
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib-event.c:1472,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1473,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1477,6'
              BranchSideFuncs:
                - str_to_uint
        - Branch String:   'lib-event.c:1477,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1478,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1481,18'
              BranchSideFuncs:
                - str_to_uint
        - Branch String:   'lib-event.c:1481,41'
          Branch Sides:
            - BranchSide:      'lib-event.c:1481,44'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1482,4'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:1481,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1482,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1485,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:1472,6'
          Dst:             str_to_time
        - Src:             'lib-event.c:1481,6'
          Dst:             str_to_uint
    - functionName:    event_find_field_nonrecursive
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 946
      functionLinenumberEnd: 957
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - key
      BBCount:         12
      ICount:          79
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - array_is_created_i
        - buffer_get_modifiable_data
        - strcmp
      functionUses:    7
      BranchProfiles:
        - Branch String:   'lib-event.c:949,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:950,3'
              BranchSideFuncs:
                - buffer_get_modifiable_data
                - strcmp
            - BranchSide:      'lib-event.c:952,2'
              BranchSideFuncs:
                - buffer_get_modifiable_data
                - strcmp
        - Branch String:   'lib-event.c:952,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:953,14'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'lib-event.c:956,2'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:953,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:954,11'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:955,2'
              BranchSideFuncs:
                - strcmp
      Callsites:
        - Src:             'lib-event.c:949,7'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:952,2'
          Dst:             buffer_get_modifiable_data
        - Src:             'lib-event.c:953,7'
          Dst:             strcmp
    - functionName:    array_is_created_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    22
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_append_space_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_space_unsafe
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:336,9'
          Dst:             buffer_append_space_unsafe
    - functionName:    event_set_changed
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         7
      ICount:          45
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib-event.c:123,28'
          Branch Sides:
            - BranchSide:      'lib-event.c:124,6'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:125,3'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:123,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:123,6'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:125,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    event_category_add_to_array
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 825
      functionLinenumberEnd: 831
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - internal
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_append_i
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:828,2'
          Dst:             array_append_i
        - Src:             'lib-event.c:829,2'
          Dst:             array_append_i
    - functionName:    event_category_find_internal
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 806
      functionLinenumberEnd: 815
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
      BBCount:         13
      ICount:          84
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_memcpy
        - strcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:809,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:809,2'
              BranchSideFuncs:
                - i_memcpy.2056
                - strcmp
            - BranchSide:      'lib-event.c:809,2'
              BranchSideFuncs:
                - strcmp
                - i_memcpy.2056
        - Branch String:   'lib-event.c:809,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:810,14'
              BranchSideFuncs:
                - strcmp
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:814,2'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:810,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:811,11'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:812,2'
              BranchSideFuncs:
                - strcmp
                - i_memcpy.2056
      Callsites:
        - Src:             'lib-event.c:809,2'
          Dst:             i_memcpy
        - Src:             'lib-event.c:810,7'
          Dst:             strcmp
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    8
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    event_copy_parent_defaults
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - parent
      BBCount:         1
      ICount:          90
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_free_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_free
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:159,2'
          Dst:             buffer_free
    - functionName:    lib_event_deinit
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1875
      functionLinenumberEnd: 1896
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          115
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - array_free_i
        - event_unset_global_core_log_filter
        - event_unset_global_debug_log_filter
        - event_unset_global_debug_send_filter
        - i_memcpy
        - i_warning
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1878,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1876,34'
              BranchSideFuncs:
                - event_unset_global_debug_log_filter
                - event_unset_global_debug_send_filter
                - event_unset_global_core_log_filter
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - p_free_internal.2064
                - p_free_internal.2064
                - i_memcpy.2056
                - i_warning
            - BranchSide:      'lib-event.c:1881,37'
              BranchSideFuncs:
                - event_unset_global_debug_log_filter
                - event_unset_global_debug_send_filter
                - event_unset_global_core_log_filter
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - p_free_internal.2064
                - p_free_internal.2064
                - i_memcpy.2056
                - i_warning
        - Branch String:   'lib-event.c:1881,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1883,6'
              BranchSideFuncs:
                - i_warning
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - p_free_internal.2064
                - p_free_internal.2064
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:1887,2'
              BranchSideFuncs:
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - p_free_internal.2064
                - p_free_internal.2064
                - i_memcpy.2056
        - Branch String:   'lib-event.c:1887,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1887,2'
              BranchSideFuncs:
                - i_memcpy.2056
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - p_free_internal.2064
                - p_free_internal.2064
            - BranchSide:      'lib-event.c:1887,2'
              BranchSideFuncs:
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - p_free_internal.2064
                - p_free_internal.2064
                - i_memcpy.2056
        - Branch String:   'lib-event.c:1887,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1888,3'
              BranchSideFuncs:
                - p_free_internal.2064
                - p_free_internal.2064
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:1891,2'
              BranchSideFuncs:
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
                - array_free_i.2060
      Callsites:
        - Src:             'lib-event.c:1878,2'
          Dst:             event_unset_global_debug_log_filter
        - Src:             'lib-event.c:1879,2'
          Dst:             event_unset_global_debug_send_filter
        - Src:             'lib-event.c:1880,2'
          Dst:             event_unset_global_core_log_filter
        - Src:             'lib-event.c:1882,3'
          Dst:             i_warning
        - Src:             'lib-event.c:1887,2'
          Dst:             i_memcpy
        - Src:             'lib-event.c:1888,3'
          Dst:             p_free_internal
        - Src:             'lib-event.c:1889,3'
          Dst:             p_free_internal
        - Src:             'lib-event.c:1891,2'
          Dst:             array_free_i
        - Src:             'lib-event.c:1892,2'
          Dst:             array_free_i
        - Src:             'lib-event.c:1893,2'
          Dst:             array_free_i
        - Src:             'lib-event.c:1894,2'
          Dst:             array_free_i
        - Src:             'lib-event.c:1895,2'
          Dst:             array_free_i
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    11
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    lib_event_init
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1867
      functionLinenumberEnd: 1872
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_create_i
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1868,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1868,2'
              BranchSideFuncs:
                - array_create_i.2046
                - array_create_i.2046
                - array_create_i.2046
                - array_create_i.2046
            - BranchSide:      'lib-event.c:1868,2'
              BranchSideFuncs:
                - array_create_i.2046
                - array_create_i.2046
                - array_create_i.2046
                - array_create_i.2046
      Callsites:
        - Src:             'lib-event.c:1868,2'
          Dst:             array_create_i
        - Src:             'lib-event.c:1869,2'
          Dst:             array_create_i
        - Src:             'lib-event.c:1870,2'
          Dst:             array_create_i
        - Src:             'lib-event.c:1871,2'
          Dst:             array_create_i
    - functionName:    event_enable_user_cpu_usecs
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1862
      functionLinenumberEnd: 1864
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_self_rusage
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1863,2'
          Dst:             get_self_rusage
    - functionName:    get_self_rusage
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ru_r
      BBCount:         5
      ICount:          27
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - getrusage
        - i_fatal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-event.c:87,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:88,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'lib-event.c:89,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:87,6'
          Dst:             getrusage
        - Src:             'lib-event.c:88,3'
          Dst:             i_fatal
    - functionName:    getrusage
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_passthrough_event
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1834
      functionLinenumberEnd: 1837
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:1835,24'
          Branch Sides:
            - BranchSide:      'lib-event.c:1835,16'
              BranchSideFuncs:
                - last_passthrough_event
            - BranchSide:      'lib-event.c:1835,24'
              BranchSideFuncs:
                - last_passthrough_event
      Callsites:
        - Src:             'lib-event.c:1835,24'
          Dst:             last_passthrough_event
    - functionName:    event_passthrough_clear_field
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1828
      functionLinenumberEnd: 1830
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - key
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_field_clear
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1829,20'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1829,2'
          Dst:             event_field_clear
    - functionName:    event_field_clear
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1210
      functionLinenumberEnd: 1212
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - key
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_add_str
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1211,2'
          Dst:             event_add_str
    - functionName:    event_passthrough_set_append_log_prefix
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1713
      functionLinenumberEnd: 1715
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - prefix
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_set_append_log_prefix
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1714,30'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1714,2'
          Dst:             event_set_append_log_prefix
    - functionName:    event_passthrough_replace_log_prefix
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1720
      functionLinenumberEnd: 1722
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - prefix
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_replace_log_prefix
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1721,27'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1721,2'
          Dst:             event_replace_log_prefix
    - functionName:    event_passthrough_set_name
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1727
      functionLinenumberEnd: 1729
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_set_name
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1728,17'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1728,2'
          Dst:             event_set_name
    - functionName:    event_passthrough_set_source
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1735
      functionLinenumberEnd: 1738
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - bool
      constantsTouched: []
      argNames:
        - filename
        - linenum
        - literal_fname
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_set_source
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1736,19'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1736,2'
          Dst:             event_set_source
    - functionName:    event_passthrough_set_always_log_source
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1743
      functionLinenumberEnd: 1745
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_set_always_log_source
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:1744,30'
          Branch Sides:
            - BranchSide:      'lib-event.c:1744,30'
              BranchSideFuncs:
                - last_passthrough_event
                - event_set_always_log_source
            - BranchSide:      'lib-event.c:1744,30'
              BranchSideFuncs:
                - last_passthrough_event
                - event_set_always_log_source
      Callsites:
        - Src:             'lib-event.c:1744,30'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1744,2'
          Dst:             event_set_always_log_source
    - functionName:    event_passthrough_add_categories
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1750
      functionLinenumberEnd: 1752
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - categories
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_add_categories
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1751,23'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1751,2'
          Dst:             event_add_categories
    - functionName:    event_passthrough_add_category
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1757
      functionLinenumberEnd: 1759
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - category
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_add_category
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1758,21'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1758,2'
          Dst:             event_add_category
    - functionName:    event_passthrough_add_fields
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1764
      functionLinenumberEnd: 1766
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fields
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_add_fields
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1765,19'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1765,2'
          Dst:             event_add_fields
    - functionName:    event_passthrough_add_str
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1771
      functionLinenumberEnd: 1773
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - key
        - value
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_add_str
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1772,16'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1772,2'
          Dst:             event_add_str
    - functionName:    event_passthrough_add_int
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1793
      functionLinenumberEnd: 1795
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - key
        - num
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_add_int
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1794,16'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1794,2'
          Dst:             event_add_int
    - functionName:    event_passthrough_add_int_nonzero
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1800
      functionLinenumberEnd: 1802
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - key
        - num
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_add_int_nonzero
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1801,24'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1801,2'
          Dst:             event_add_int_nonzero
    - functionName:    event_passthrough_add_timeval
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1807
      functionLinenumberEnd: 1809
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - key
        - tv
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_add_timeval
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1808,20'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1808,2'
          Dst:             event_add_timeval
    - functionName:    event_passthrough_add_ip
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1814
      functionLinenumberEnd: 1816
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - key
        - ip
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_add_ip
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1815,15'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1815,2'
          Dst:             event_add_ip
    - functionName:    event_passthrough_inc_int
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1821
      functionLinenumberEnd: 1823
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - key
        - num
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_inc_int
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1822,16'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1822,2'
          Dst:             event_inc_int
    - functionName:    event_passthrough_strlist_append
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1778
      functionLinenumberEnd: 1780
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - key
        - value
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_strlist_append
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1779,23'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1779,2'
          Dst:             event_strlist_append
    - functionName:    event_passthrough_strlist_replace
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1786
      functionLinenumberEnd: 1788
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - key
        - values
        - count
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_strlist_replace
        - last_passthrough_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1787,24'
          Dst:             last_passthrough_event
        - Src:             'lib-event.c:1787,2'
          Dst:             event_strlist_replace
    - functionName:    event_strlist_replace
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1104
      functionLinenumberEnd: 1110
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - event
        - key
        - values
        - count
      BBCount:         7
      ICount:          61
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - event_get_field
        - event_strlist_append
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1108,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1109,24'
              BranchSideFuncs:
                - event_strlist_append
            - BranchSide:      'lib-event.c:1110,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:1105,30'
          Dst:             event_get_field
        - Src:             'lib-event.c:1109,3'
          Dst:             event_strlist_append
    - functionName:    event_strlist_append
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1082
      functionLinenumberEnd: 1099
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - key
        - value
      BBCount:         15
      ICount:          96
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - array_append_i
        - array_create_i
        - array_is_created_i
        - array_lsearch_i
        - event_get_field
        - i_strcmp_p
        - p_strdup
      functionUses:    5
      BranchProfiles:
        - Branch String:   'lib-event.c:1085,58'
          Branch Sides:
            - BranchSide:      'lib-event.c:1086,7'
              BranchSideFuncs:
                - array_create_i.2046
                - p_strdup
                - array_lsearch_i
                - array_append_i.2047
            - BranchSide:      'lib-event.c:1087,3'
              BranchSideFuncs:
                - array_create_i.2046
                - p_strdup
                - array_lsearch_i
                - array_append_i.2047
        - Branch String:   'lib-event.c:1085,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1087,3'
              BranchSideFuncs:
                - p_strdup
                - array_lsearch_i
                - array_append_i.2047
            - BranchSide:      'lib-event.c:1092,6'
              BranchSideFuncs:
                - p_strdup
                - array_lsearch_i
                - array_append_i.2047
        - Branch String:   'lib-event.c:1092,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1093,10'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1095,29'
              BranchSideFuncs:
                - p_strdup
                - array_lsearch_i
                - array_append_i.2047
        - Branch String:   'lib-event.c:1096,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1097,3'
              BranchSideFuncs:
                - array_append_i.2047
            - BranchSide:      'lib-event.c:1098,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:1083,30'
          Dst:             event_get_field
        - Src:             'lib-event.c:1086,7'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:1088,3'
          Dst:             array_create_i
        - Src:             'lib-event.c:1095,20'
          Dst:             p_strdup
        - Src:             'lib-event.c:1096,6'
          Dst:             array_lsearch_i
        - Src:             'lib-event.c:1096,6'
          Dst:             i_strcmp_p
        - Src:             'lib-event.c:1097,3'
          Dst:             array_append_i
    - functionName:    event_inc_int
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1146
      functionLinenumberEnd: 1156
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - event
        - key
        - num
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - event_add_int
        - event_find_field_nonrecursive
        - event_set_changed
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1150,20'
          Branch Sides:
            - BranchSide:      'lib-event.c:1150,23'
              BranchSideFuncs:
                - event_add_int
            - BranchSide:      'lib-event.c:1151,24'
              BranchSideFuncs:
                - event_add_int
        - Branch String:   'lib-event.c:1150,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1151,24'
              BranchSideFuncs:
                - event_add_int
            - BranchSide:      'lib-event.c:1153,25'
              BranchSideFuncs:
                - event_set_changed
      Callsites:
        - Src:             'lib-event.c:1149,10'
          Dst:             event_find_field_nonrecursive
        - Src:             'lib-event.c:1151,10'
          Dst:             event_add_int
        - Src:             'lib-event.c:1154,2'
          Dst:             event_set_changed
    - functionName:    event_add_int
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1127
      functionLinenumberEnd: 1133
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - event
        - key
        - num
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_get_field
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1130,10'
          Dst:             event_get_field
    - functionName:    event_add_ip
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1172
      functionLinenumberEnd: 1187
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - key
        - ip
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - event_field_clear
        - event_find_field_recursive
        - event_get_field
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib-event.c:1175,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1178,34'
              BranchSideFuncs:
                - event_find_field_recursive
                - event_field_clear
            - BranchSide:      'lib-event.c:1183,26'
              BranchSideFuncs:
                - event_get_field
        - Branch String:   'lib-event.c:1178,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1179,22'
              BranchSideFuncs:
                - event_field_clear
            - BranchSide:      'lib-event.c:1180,10'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:1178,7'
          Dst:             event_find_field_recursive
        - Src:             'lib-event.c:1179,4'
          Dst:             event_field_clear
        - Src:             'lib-event.c:1183,10'
          Dst:             event_get_field
    - functionName:    event_find_field_recursive
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 961
      functionLinenumberEnd: 978
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - key
      BBCount:         15
      ICount:          77
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - event_find_field_nonrecursive
        - event_get_global
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib-event.c:965,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:966,11'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:967,11'
              BranchSideFuncs:
                - event_get_global
                - event_find_field_nonrecursive
                - event_find_field_nonrecursive
        - Branch String:   'lib-event.c:968,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:965,46'
              BranchSideFuncs:
                - event_find_field_nonrecursive
                - event_get_global
                - event_find_field_nonrecursive
            - BranchSide:      'lib-event.c:971,10'
              BranchSideFuncs:
                - event_get_global
                - event_find_field_nonrecursive
        - Branch String:   'lib-event.c:972,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:973,46'
              BranchSideFuncs:
                - event_find_field_nonrecursive
            - BranchSide:      'lib-event.c:977,2'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:973,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:974,11'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:975,11'
              BranchSideFuncs:
                - event_find_field_nonrecursive
      Callsites:
        - Src:             'lib-event.c:965,16'
          Dst:             event_find_field_nonrecursive
        - Src:             'lib-event.c:971,10'
          Dst:             event_get_global
        - Src:             'lib-event.c:973,16'
          Dst:             event_find_field_nonrecursive
    - functionName:    event_get_global
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 545
      functionLinenumberEnd: 546
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_add_timeval
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1161
      functionLinenumberEnd: 1167
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - key
        - tv
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_get_field
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1164,10'
          Dst:             event_get_field
    - functionName:    event_add_int_nonzero
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1138
      functionLinenumberEnd: 1142
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - event
        - key
        - num
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - event_add_int
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1139,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1140,24'
              BranchSideFuncs:
                - event_add_int
            - BranchSide:      'lib-event.c:1141,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:1140,10'
          Dst:             event_add_int
    - functionName:    event_add_str
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1062
      functionLinenumberEnd: 1078
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - key
        - value
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - event_find_field_recursive
        - event_get_field
        - p_strdup
      functionUses:    7
      BranchProfiles:
        - Branch String:   'lib-event.c:1065,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1069,34'
              BranchSideFuncs:
                - event_find_field_recursive
                - event_get_field
                - p_strdup
            - BranchSide:      'lib-event.c:1074,26'
              BranchSideFuncs:
                - event_get_field
                - p_strdup
        - Branch String:   'lib-event.c:1069,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1070,11'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1071,9'
              BranchSideFuncs:
                - event_get_field
                - p_strdup
      Callsites:
        - Src:             'lib-event.c:1069,7'
          Dst:             event_find_field_recursive
        - Src:             'lib-event.c:1074,10'
          Dst:             event_get_field
        - Src:             'lib-event.c:1076,21'
          Dst:             p_strdup
    - functionName:    event_add_fields
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1192
      functionLinenumberEnd: 1206
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - fields
      BBCount:         16
      ICount:          142
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - event_add_int
        - event_add_ip
        - event_add_str
        - event_add_timeval
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1193,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1194,7'
              BranchSideFuncs:
                - event_add_int
                - event_add_ip
                - event_add_timeval
                - event_add_str
            - BranchSide:      'lib-event.c:1206,9'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:1194,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1195,18'
              BranchSideFuncs:
                - event_add_str
                - event_add_int
                - event_add_ip
                - event_add_timeval
            - BranchSide:      'lib-event.c:1196,12'
              BranchSideFuncs:
                - event_add_int
                - event_add_str
                - event_add_ip
                - event_add_timeval
        - Branch String:   'lib-event.c:1196,12'
          Branch Sides:
            - BranchSide:      'lib-event.c:1197,22'
              BranchSideFuncs:
                - event_add_timeval
                - event_add_int
                - event_add_ip
                - event_add_str
            - BranchSide:      'lib-event.c:1199,14'
              BranchSideFuncs:
                - event_add_int
                - event_add_timeval
                - event_add_str
                - event_add_ip
        - Branch String:   'lib-event.c:1199,14'
          Branch Sides:
            - BranchSide:      'lib-event.c:1200,17'
              BranchSideFuncs:
                - event_add_ip
                - event_add_int
                - event_add_timeval
                - event_add_str
            - BranchSide:      'lib-event.c:1202,18'
              BranchSideFuncs:
                - event_add_int
                - event_add_ip
                - event_add_timeval
                - event_add_str
      Callsites:
        - Src:             'lib-event.c:1195,4'
          Dst:             event_add_str
        - Src:             'lib-event.c:1197,4'
          Dst:             event_add_timeval
        - Src:             'lib-event.c:1200,4'
          Dst:             event_add_ip
        - Src:             'lib-event.c:1202,4'
          Dst:             event_add_int
    - functionName:    event_add_category
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 939
      functionLinenumberEnd: 941
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - category
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_add_categories
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:941,9'
          Dst:             event_add_categories
    - functionName:    event_add_categories
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 921
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - categories
      BBCount:         13
      ICount:          86
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - array_append_i
        - array_create_i
        - array_is_created_i
        - event_category_register
        - event_find_category
        - event_recalculate_debug_level
        - event_set_changed
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-event.c:924,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:925,3'
              BranchSideFuncs:
                - event_set_changed
                - event_recalculate_debug_level.2075
                - event_category_register
                - event_find_category
                - array_append_i.2047
            - BranchSide:      'lib-event.c:927,20'
              BranchSideFuncs:
                - event_set_changed
                - event_recalculate_debug_level.2075
                - event_category_register
                - event_find_category
                - array_append_i.2047
        - Branch String:   'lib-event.c:927,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:928,44'
              BranchSideFuncs:
                - event_category_register
                - event_find_category
                - array_append_i.2047
                - event_set_changed
                - event_recalculate_debug_level.2075
            - BranchSide:      'lib-event.c:932,20'
              BranchSideFuncs:
                - event_set_changed
                - event_recalculate_debug_level.2075
        - Branch String:   'lib-event.c:929,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:930,4'
              BranchSideFuncs:
                - event_set_changed
                - event_recalculate_debug_level.2075
                - event_category_register
                - event_find_category
                - array_append_i.2047
            - BranchSide:      'lib-event.c:931,2'
              BranchSideFuncs:
                - event_set_changed
                - event_recalculate_debug_level.2075
                - event_category_register
                - event_find_category
                - array_append_i.2047
      Callsites:
        - Src:             'lib-event.c:924,7'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:925,3'
          Dst:             array_create_i
        - Src:             'lib-event.c:928,20'
          Dst:             event_category_register
        - Src:             'lib-event.c:929,8'
          Dst:             event_find_category
        - Src:             'lib-event.c:930,4'
          Dst:             array_append_i
        - Src:             'lib-event.c:932,2'
          Dst:             event_set_changed
        - Src:             'lib-event.c:933,2'
          Dst:             event_recalculate_debug_level
    - functionName:    event_category_register
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 835
      functionLinenumberEnd: 904
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - category
      BBCount:         35
      ICount:          275
      EdgeCount:       43
      CyclomaticComplexity: 10
      functionsReached:
        - event_category_add_to_array
        - event_category_find_internal
        - event_category_register
        - i_memcpy
        - i_panic
        - i_strdup
        - malloc_multiply_check
        - p_malloc
        - t_pop
        - t_push
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-event.c:840,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:841,11'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:844,6'
              BranchSideFuncs:
                - event_category_find_internal
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
                - i_panic
                - malloc_multiply_check.2077
                - p_malloc.2078
                - i_strdup
                - event_category_add_to_array
                - event_category_register
        - Branch String:   'lib-event.c:844,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:845,34'
              BranchSideFuncs:
                - event_category_register
                - event_category_find_internal
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
                - i_panic
                - malloc_multiply_check.2077
                - p_malloc.2078
                - i_strdup
                - event_category_add_to_array
            - BranchSide:      'lib-event.c:856,42'
              BranchSideFuncs:
                - event_category_find_internal
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
                - i_panic
                - malloc_multiply_check.2077
                - p_malloc.2078
                - i_strdup
                - event_category_add_to_array
        - Branch String:   'lib-event.c:857,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:859,14'
              BranchSideFuncs:
                - malloc_multiply_check.2077
                - p_malloc.2078
                - i_strdup
                - event_category_add_to_array
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:873,8'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
                - i_panic
        - Branch String:   'lib-event.c:860,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:861,23'
              BranchSideFuncs:
                - i_strdup
                - event_category_add_to_array
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:862,29'
              BranchSideFuncs:
                - i_strdup
                - event_category_add_to_array
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
        - Branch String:   'lib-event.c:873,34'
          Branch Sides:
            - BranchSide:      'lib-event.c:874,8'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
                - i_panic
            - BranchSide:      'lib-event.c:887,3'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
        - Branch String:   'lib-event.c:873,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:877,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:887,3'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
        - Branch String:   'lib-event.c:894,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:896,11'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:899,2'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
        - Branch String:   'lib-event.c:899,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:899,2'
              BranchSideFuncs:
                - i_memcpy.2056
                - t_push
                - t_pop
                - i_panic
            - BranchSide:      'lib-event.c:899,2'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_memcpy.2056
                - i_panic
        - Branch String:   'lib-event.c:899,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:899,58'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_memcpy.2056
                - i_panic
            - BranchSide:      'lib-event.c:903,10'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:901,4'
          Branch Sides:
            - BranchSide:      'lib-event.c:901,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:901,4'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
      Callsites:
        - Src:             'lib-event.c:845,10'
          Dst:             event_category_register
        - Src:             'lib-event.c:856,13'
          Dst:             event_category_find_internal
        - Src:             'lib-event.c:859,14'
          Dst:             malloc_multiply_check
        - Src:             'lib-event.c:859,14'
          Dst:             p_malloc
        - Src:             'lib-event.c:862,20'
          Dst:             i_strdup
        - Src:             'lib-event.c:868,3'
          Dst:             event_category_add_to_array
        - Src:             'lib-event.c:879,4'
          Dst:             i_panic
        - Src:             'lib-event.c:899,2'
          Dst:             i_memcpy
        - Src:             'lib-event.c:899,58'
          Dst:             t_push
        - Src:             'lib-event.c:901,4'
          Dst:             t_pop
        - Src:             'lib-event.c:901,4'
          Dst:             i_panic
    - functionName:    event_find_category
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 909
      functionLinenumberEnd: 915
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - category
      BBCount:         7
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - array_lsearch_ptr_i
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib-event.c:913,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:913,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:913,2'
              BranchSideFuncs:
                - array_lsearch_ptr_i
      Callsites:
        - Src:             'lib-event.c:913,2'
          Dst:             i_panic
        - Src:             'lib-event.c:915,9'
          Dst:             array_lsearch_ptr_i
    - functionName:    event_recalculate_debug_level
      functionSourceFile: '/src/dovecot/src/lib/./lib-event-private.h'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    4
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    4
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    event_set_always_log_source
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 742
      functionLinenumberEnd: 744
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_set_source
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 732
      functionLinenumberEnd: 738
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - bool
      constantsTouched: []
      argNames:
        - event
        - filename
        - linenum
        - literal_fname
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - p_strdup
        - strcmp
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib-event.c:733,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:733,6'
              BranchSideFuncs:
                - p_strdup
            - BranchSide:      'lib-event.c:734,28'
              BranchSideFuncs:
                - p_strdup
        - Branch String:   'lib-event.c:734,28'
          Branch Sides:
            - BranchSide:      'lib-event.c:734,44'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:735,13'
              BranchSideFuncs:
                - p_strdup
      Callsites:
        - Src:             'lib-event.c:733,6'
          Dst:             strcmp
        - Src:             'lib-event.c:735,4'
          Dst:             p_strdup
    - functionName:    event_set_name
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 723
      functionLinenumberEnd: 726
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - name
      BBCount:         5
      ICount:          36
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_strdup
        - p_free_internal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:724,2'
          Dst:             p_free_internal
        - Src:             'lib-event.c:725,24'
          Dst:             i_strdup
    - functionName:    event_replace_log_prefix
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 665
      functionLinenumberEnd: 666
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - prefix
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_set_log_prefix
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:666,9'
          Dst:             event_set_log_prefix
    - functionName:    event_set_log_prefix
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 639
      functionLinenumberEnd: 655
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - event
        - prefix
        - append
      BBCount:         11
      ICount:          93
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - i_strdup
        - p_free_internal
        - p_strdup
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-event.c:642,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:644,32'
              BranchSideFuncs:
                - p_strdup
            - BranchSide:      'lib-event.c:648,7'
              BranchSideFuncs:
                - i_strdup
                - p_free_internal.2064
        - Branch String:   'lib-event.c:648,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:649,4'
              BranchSideFuncs:
                - p_free_internal.2064
                - i_strdup
            - BranchSide:      'lib-event.c:651,4'
              BranchSideFuncs:
                - i_strdup
      Callsites:
        - Src:             'lib-event.c:644,23'
          Dst:             p_strdup
        - Src:             'lib-event.c:649,4'
          Dst:             p_free_internal
        - Src:             'lib-event.c:652,23'
          Dst:             i_strdup
    - functionName:    event_set_append_log_prefix
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 660
      functionLinenumberEnd: 661
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - prefix
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_set_log_prefix
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:661,9'
          Dst:             event_set_log_prefix
    - functionName:    event_category_unregister_callback
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1703
      functionLinenumberEnd: 1709
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         11
      ICount:          41
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - array_delete_i
        - array_lsearch_ptr_idx_i
        - i_unreached
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1706,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1706,7'
              BranchSideFuncs:
                - array_lsearch_ptr_idx_i
                - i_unreached
                - array_delete_i.2088
            - BranchSide:      'lib-event.c:1706,7'
              BranchSideFuncs:
                - i_unreached
                - array_delete_i.2088
        - Branch String:   'lib-event.c:1706,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1706,7'
              BranchSideFuncs:
                - array_delete_i.2088
            - BranchSide:      'lib-event.c:1707,3'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'lib-event.c:1706,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1706,6'
              BranchSideFuncs:
                - array_delete_i.2088
            - BranchSide:      'lib-event.c:1707,3'
              BranchSideFuncs:
                - i_unreached
      Callsites:
        - Src:             'lib-event.c:1706,7'
          Dst:             array_lsearch_ptr_idx_i
        - Src:             'lib-event.c:1707,3'
          Dst:             i_unreached
        - Src:             'lib-event.c:1708,2'
          Dst:             array_delete_i
    - functionName:    array_delete_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
        - count
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_delete
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:244,2'
          Dst:             buffer_delete
    - functionName:    event_category_register_callback
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1698
      functionLinenumberEnd: 1700
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_append_i
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1699,2'
          Dst:             array_append_i
    - functionName:    event_unregister_callback
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1689
      functionLinenumberEnd: 1695
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         11
      ICount:          41
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - array_delete_i
        - array_lsearch_ptr_idx_i
        - i_unreached
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:1692,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1692,7'
              BranchSideFuncs:
                - array_lsearch_ptr_idx_i
                - i_unreached
                - array_delete_i.2088
            - BranchSide:      'lib-event.c:1692,7'
              BranchSideFuncs:
                - i_unreached
                - array_delete_i.2088
        - Branch String:   'lib-event.c:1692,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1692,7'
              BranchSideFuncs:
                - array_delete_i.2088
            - BranchSide:      'lib-event.c:1693,3'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'lib-event.c:1692,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1692,6'
              BranchSideFuncs:
                - array_delete_i.2088
            - BranchSide:      'lib-event.c:1693,3'
              BranchSideFuncs:
                - i_unreached
      Callsites:
        - Src:             'lib-event.c:1692,7'
          Dst:             array_lsearch_ptr_idx_i
        - Src:             'lib-event.c:1693,3'
          Dst:             i_unreached
        - Src:             'lib-event.c:1694,2'
          Dst:             array_delete_i
    - functionName:    event_register_callback
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1684
      functionLinenumberEnd: 1686
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - callback
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_append_i
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1685,2'
          Dst:             array_append_i
    - functionName:    event_import_arg
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1585
      functionLinenumberEnd: 1650
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - _args
        - error_r
      BBCount:         35
      ICount:          238
      EdgeCount:       41
      CyclomaticComplexity: 8
      functionsReached:
        - array_append_i
        - array_create_i
        - array_is_created_i
        - event_category_find_registered
        - event_find_category
        - event_import_field
        - event_import_tv
        - event_set_source
        - i_strdup
        - p_free_internal
        - str_to_uint
        - t_strdup_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1591,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1593,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1597,35'
              BranchSideFuncs:
                - event_category_find_registered
                - array_is_created_i.2054
                - array_create_i.2046
                - event_find_category
                - array_append_i.2047
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1610,24'
              BranchSideFuncs:
                - event_import_tv
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1619,3'
              BranchSideFuncs:
                - p_free_internal.2064
                - i_strdup
            - BranchSide:      'lib-event.c:1625,7'
              BranchSideFuncs:
                - str_to_uint
                - event_set_source
            - BranchSide:      'lib-event.c:1642,7'
              BranchSideFuncs:
                - event_import_field
            - BranchSide:      'lib-event.c:1642,7'
              BranchSideFuncs:
                - event_import_field
            - BranchSide:      'lib-event.c:1642,7'
              BranchSideFuncs:
                - event_import_field
            - BranchSide:      'lib-event.c:1642,7'
              BranchSideFuncs:
                - event_import_field
            - BranchSide:      'lib-event.c:1642,7'
              BranchSideFuncs:
                - event_import_field
            - BranchSide:      'lib-event.c:1648,11'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:1598,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1600,36'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1603,8'
              BranchSideFuncs:
                - array_is_created_i.2054
                - array_create_i.2046
                - event_find_category
                - array_append_i.2047
        - Branch String:   'lib-event.c:1603,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1604,4'
              BranchSideFuncs:
                - event_find_category
                - array_append_i.2047
            - BranchSide:      'lib-event.c:1605,28'
              BranchSideFuncs:
                - event_find_category
                - array_append_i.2047
        - Branch String:   'lib-event.c:1605,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1606,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1607,3'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:1610,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1613,33'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1616,7'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:1625,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1626,5'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1629,19'
              BranchSideFuncs:
                - str_to_uint
                - event_set_source
        - Branch String:   'lib-event.c:1629,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1630,5'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1633,20'
              BranchSideFuncs:
                - event_set_source
        - Branch String:   'lib-event.c:1643,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1644,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1645,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:1597,4'
          Dst:             event_category_find_registered
        - Src:             'lib-event.c:1599,15'
          Dst:             t_strdup_printf
        - Src:             'lib-event.c:1603,8'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:1604,4'
          Dst:             array_create_i
        - Src:             'lib-event.c:1605,8'
          Dst:             event_find_category
        - Src:             'lib-event.c:1606,4'
          Dst:             array_append_i
        - Src:             'lib-event.c:1610,8'
          Dst:             event_import_tv
        - Src:             'lib-event.c:1612,15'
          Dst:             t_strdup_printf
        - Src:             'lib-event.c:1619,3'
          Dst:             p_free_internal
        - Src:             'lib-event.c:1620,25'
          Dst:             i_strdup
        - Src:             'lib-event.c:1629,7'
          Dst:             str_to_uint
        - Src:             'lib-event.c:1633,3'
          Dst:             event_set_source
        - Src:             'lib-event.c:1643,8'
          Dst:             event_import_field
    - functionName:    event_category_find_registered
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 794
      functionLinenumberEnd: 802
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
      BBCount:         13
      ICount:          84
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_memcpy
        - strcmp
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-event.c:797,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:797,2'
              BranchSideFuncs:
                - i_memcpy.2056
                - strcmp
            - BranchSide:      'lib-event.c:797,2'
              BranchSideFuncs:
                - strcmp
                - i_memcpy.2056
        - Branch String:   'lib-event.c:797,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:798,14'
              BranchSideFuncs:
                - strcmp
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:801,2'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:798,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:799,11'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:800,2'
              BranchSideFuncs:
                - strcmp
                - i_memcpy.2056
      Callsites:
        - Src:             'lib-event.c:797,2'
          Dst:             i_memcpy
        - Src:             'lib-event.c:798,7'
          Dst:             strcmp
    - functionName:    array_clear_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_set_used_size
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:191,2'
          Dst:             buffer_set_used_size
    - functionName:    event_import_unescaped
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1654
      functionLinenumberEnd: 1681
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - args
        - error_r
      BBCount:         16
      ICount:          99
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - array_clear_i
        - array_is_created_i
        - event_import_arg
        - event_import_tv
        - t_strdup_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1660,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1661,3'
              BranchSideFuncs:
                - array_clear_i.2093
                - event_import_tv
                - t_strdup_printf
                - event_import_arg
            - BranchSide:      'lib-event.c:1664,6'
              BranchSideFuncs:
                - event_import_tv
                - t_strdup_printf
                - event_import_arg
        - Branch String:   'lib-event.c:1664,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1665,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1668,23'
              BranchSideFuncs:
                - event_import_tv
                - t_strdup_printf
                - event_import_arg
        - Branch String:   'lib-event.c:1668,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1669,56'
              BranchSideFuncs:
                - event_import_arg
            - BranchSide:      'lib-event.c:1672,7'
              BranchSideFuncs:
                - event_import_arg
        - Branch String:   'lib-event.c:1675,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1676,25'
              BranchSideFuncs:
                - event_import_arg
            - BranchSide:      'lib-event.c:1680,2'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:1676,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1677,4'
              BranchSideFuncs:
                - event_import_arg
            - BranchSide:      'lib-event.c:1678,7'
              BranchSideFuncs:
                - event_import_arg
      Callsites:
        - Src:             'lib-event.c:1660,6'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:1661,3'
          Dst:             array_clear_i
        - Src:             'lib-event.c:1668,7'
          Dst:             event_import_tv
        - Src:             'lib-event.c:1669,14'
          Dst:             t_strdup_printf
        - Src:             'lib-event.c:1676,8'
          Dst:             event_import_arg
    - functionName:    event_export_field_value
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1373
      functionLinenumberEnd: 1411
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dest
        - field
      BBCount:         14
      ICount:          148
      EdgeCount:       14
      CyclomaticComplexity: 2
      functionsReached:
        - array_get_i
        - net_ip2addr
        - str_append_c
        - str_append_tabescaped
        - str_printfa
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1374,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1374,2'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1376,3'
              BranchSideFuncs:
                - str_append_c.2096
                - str_append_tabescaped
                - str_append_c.2096
                - str_append_tabescaped
            - BranchSide:      'lib-event.c:1382,3'
              BranchSideFuncs:
                - str_append_c.2096
                - str_append_tabescaped
                - str_printfa
            - BranchSide:      'lib-event.c:1387,3'
              BranchSideFuncs:
                - str_append_c.2096
                - str_append_tabescaped
                - str_printfa
            - BranchSide:      'lib-event.c:1394,3'
              BranchSideFuncs:
                - str_append_c.2096
                - str_append_tabescaped
                - net_ip2addr
                - str_printfa
            - BranchSide:      'lib-event.c:1401,4'
              BranchSideFuncs:
                - array_get_i.2100
                - str_append_c.2096
                - str_append_tabescaped
                - str_printfa
                - str_append_c.2096
                - str_append_tabescaped
        - Branch String:   'lib-event.c:1405,3'
          Branch Sides:
            - BranchSide:      'lib-event.c:1406,4'
              BranchSideFuncs:
                - str_append_c.2096
                - str_append_tabescaped
            - BranchSide:      'lib-event.c:1410,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:1376,3'
          Dst:             str_append_c
        - Src:             'lib-event.c:1377,3'
          Dst:             str_append_tabescaped
        - Src:             'lib-event.c:1378,3'
          Dst:             str_append_c
        - Src:             'lib-event.c:1379,3'
          Dst:             str_append_tabescaped
        - Src:             'lib-event.c:1382,3'
          Dst:             str_append_c
        - Src:             'lib-event.c:1383,3'
          Dst:             str_append_tabescaped
        - Src:             'lib-event.c:1384,3'
          Dst:             str_printfa
        - Src:             'lib-event.c:1387,3'
          Dst:             str_append_c
        - Src:             'lib-event.c:1388,3'
          Dst:             str_append_tabescaped
        - Src:             'lib-event.c:1389,3'
          Dst:             str_printfa
        - Src:             'lib-event.c:1394,3'
          Dst:             str_append_c
        - Src:             'lib-event.c:1395,3'
          Dst:             str_append_tabescaped
        - Src:             'lib-event.c:1396,29'
          Dst:             net_ip2addr
        - Src:             'lib-event.c:1396,3'
          Dst:             str_printfa
        - Src:             'lib-event.c:1401,4'
          Dst:             array_get_i
        - Src:             'lib-event.c:1402,3'
          Dst:             str_append_c
        - Src:             'lib-event.c:1403,3'
          Dst:             str_append_tabescaped
        - Src:             'lib-event.c:1404,3'
          Dst:             str_printfa
        - Src:             'lib-event.c:1406,4'
          Dst:             str_append_c
        - Src:             'lib-event.c:1407,4'
          Dst:             str_append_tabescaped
    - functionName:    str_append_c
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - str
        - chr
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_c
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:44,2'
          Dst:             buffer_append_c
    - functionName:    array_get_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - count_r
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:253,13'
          Dst:             array_count_i
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_send_abort
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1364
      functionLinenumberEnd: 1369
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         8
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - event_unref
        - p_free_internal
      functionUses:    5
      BranchProfiles:
        - Branch String:   'lib-event.c:1367,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1367,6'
              BranchSideFuncs:
                - event_unref
            - BranchSide:      'lib-event.c:1368,3'
              BranchSideFuncs:
                - event_unref
      Callsites:
        - Src:             'lib-event.c:1366,2'
          Dst:             p_free_internal
        - Src:             'lib-event.c:1368,3'
          Dst:             event_unref
    - functionName:    event_unref
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 477
      functionLinenumberEnd: 500
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _event
      BBCount:         37
      ICount:          198
      EdgeCount:       44
      CyclomaticComplexity: 9
      functionsReached:
        - event_call_callbacks_noargs
        - event_unref
        - i_panic
        - p_free_internal
        - pool_unref
      functionUses:    6
      BranchProfiles:
        - Branch String:   'lib-event.c:480,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:481,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:482,3'
              BranchSideFuncs:
                - event_call_callbacks_noargs
                - p_free_internal.2064
                - event_unref
                - pool_unref
                - p_free_internal.2064
                - i_panic
                - i_panic
        - Branch String:   'lib-event.c:484,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:484,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:485,8'
              BranchSideFuncs:
                - event_call_callbacks_noargs
                - p_free_internal.2064
                - event_unref
                - pool_unref
                - p_free_internal.2064
                - i_panic
        - Branch String:   'lib-event.c:485,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:486,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:487,2'
              BranchSideFuncs:
                - event_call_callbacks_noargs
                - p_free_internal.2064
                - event_unref
                - pool_unref
                - p_free_internal.2064
                - i_panic
        - Branch String:   'lib-event.c:487,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:487,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:489,30'
              BranchSideFuncs:
                - event_call_callbacks_noargs
                - p_free_internal.2064
                - event_unref
                - pool_unref
                - p_free_internal.2064
        - Branch String:   'lib-event.c:491,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:492,26'
              BranchSideFuncs:
                - p_free_internal.2064
                - event_unref
                - pool_unref
                - p_free_internal.2064
            - BranchSide:      'lib-event.c:493,6'
              BranchSideFuncs:
                - p_free_internal.2064
                - event_unref
                - pool_unref
                - p_free_internal.2064
        - Branch String:   'lib-event.c:493,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:494,3'
              BranchSideFuncs:
                - p_free_internal.2064
                - p_free_internal.2064
                - event_unref
                - pool_unref
            - BranchSide:      'lib-event.c:495,2'
              BranchSideFuncs:
                - p_free_internal.2064
                - event_unref
                - pool_unref
        - Branch String:   'lib-event.c:498,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:498,2'
              BranchSideFuncs:
                - pool_unref
            - BranchSide:      'lib-event.c:498,2'
              BranchSideFuncs:
                - pool_unref
        - Branch String:   'lib-event.c:498,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:498,2'
              BranchSideFuncs:
                - pool_unref
            - BranchSide:      'lib-event.c:499,14'
              BranchSideFuncs:
                - pool_unref
      Callsites:
        - Src:             'lib-event.c:484,2'
          Dst:             i_panic
        - Src:             'lib-event.c:487,2'
          Dst:             i_panic
        - Src:             'lib-event.c:489,2'
          Dst:             event_call_callbacks_noargs
        - Src:             'lib-event.c:494,3'
          Dst:             p_free_internal
        - Src:             'lib-event.c:495,2'
          Dst:             p_free_internal
        - Src:             'lib-event.c:496,2'
          Dst:             event_unref
        - Src:             'lib-event.c:499,2'
          Dst:             pool_unref
    - functionName:    event_call_callbacks_noargs
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - event
        - type
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_call_callbacks
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:161,8'
          Dst:             event_call_callbacks
    - functionName:    pool_unref
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:176,6'
          Branch Sides:
            - BranchSide:      './mempool.h:176,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:177,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    event_call_callbacks
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - type
        - ctx
        - fmt
        - args
      BBCount:         21
      ICount:          135
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - i_memcpy
        - i_panic
        - t_pop
        - t_push
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-event.c:134,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:135,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:137,2'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
        - Branch String:   'lib-event.c:137,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:137,2'
              BranchSideFuncs:
                - i_memcpy.2056
                - t_push
                - t_pop
                - i_panic
            - BranchSide:      'lib-event.c:137,2'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_memcpy.2056
                - i_panic
        - Branch String:   'lib-event.c:137,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:140,3'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_memcpy.2056
                - i_panic
            - BranchSide:      'lib-event.c:148,2'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:142,5'
          Branch Sides:
            - BranchSide:      'lib-event.c:142,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:142,5'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
        - Branch String:   'lib-event.c:143,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:145,4'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:147,2'
              BranchSideFuncs:
                - t_push
                - t_pop
                - i_panic
                - i_memcpy.2056
      Callsites:
        - Src:             'lib-event.c:137,2'
          Dst:             i_memcpy
        - Src:             'lib-event.c:140,3'
          Dst:             t_push
        - Src:             'lib-event.c:142,5'
          Dst:             t_pop
        - Src:             'lib-event.c:142,5'
          Dst:             i_panic
    - functionName:    event_vsend
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1342
      functionLinenumberEnd: 1361
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - ctx
        - fmt
        - args
      BBCount:         21
      ICount:          125
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - event_add_int
        - event_call_callbacks
        - event_send_abort
        - get_self_rusage
        - i_gettimeofday
        - i_log_typev
        - timeval_diff_usecs
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib-event.c:1346,42'
          Branch Sides:
            - BranchSide:      'lib-event.c:1347,6'
              BranchSideFuncs:
                - get_self_rusage
                - timeval_diff_usecs
                - event_add_int
                - event_call_callbacks
                - event_send_abort
                - i_log_typev
            - BranchSide:      'lib-event.c:1349,3'
              BranchSideFuncs:
                - get_self_rusage
                - timeval_diff_usecs
                - event_add_int
                - event_call_callbacks
                - event_send_abort
                - i_log_typev
        - Branch String:   'lib-event.c:1346,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1349,3'
              BranchSideFuncs:
                - get_self_rusage
                - timeval_diff_usecs
                - event_add_int
                - event_call_callbacks
                - event_send_abort
                - i_log_typev
            - BranchSide:      'lib-event.c:1354,27'
              BranchSideFuncs:
                - event_call_callbacks
                - event_send_abort
                - i_log_typev
        - Branch String:   'lib-event.c:1352,42'
          Branch Sides:
            - BranchSide:      'lib-event.c:1352,54'
              BranchSideFuncs:
                - event_add_int
                - event_call_callbacks
                - event_send_abort
                - i_log_typev
            - BranchSide:      'lib-event.c:1352,3'
              BranchSideFuncs:
                - event_add_int
                - event_call_callbacks
                - event_send_abort
                - i_log_typev
        - Branch String:   'lib-event.c:1354,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1354,6'
              BranchSideFuncs:
                - event_send_abort
                - i_log_typev
            - BranchSide:      'lib-event.c:1356,7'
              BranchSideFuncs:
                - event_send_abort
                - i_log_typev
        - Branch String:   'lib-event.c:1356,35'
          Branch Sides:
            - BranchSide:      'lib-event.c:1357,7'
              BranchSideFuncs:
                - i_log_typev
                - event_send_abort
            - BranchSide:      'lib-event.c:1358,16'
              BranchSideFuncs:
                - i_log_typev
                - event_send_abort
        - Branch String:   'lib-event.c:1356,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:1358,16'
              BranchSideFuncs:
                - i_log_typev
                - event_send_abort
            - BranchSide:      'lib-event.c:1359,2'
              BranchSideFuncs:
                - event_send_abort
      Callsites:
        - Src:             'lib-event.c:1343,2'
          Dst:             i_gettimeofday
        - Src:             'lib-event.c:1349,3'
          Dst:             get_self_rusage
        - Src:             'lib-event.c:1350,21'
          Dst:             timeval_diff_usecs
        - Src:             'lib-event.c:1352,3'
          Dst:             event_add_int
        - Src:             'lib-event.c:1354,6'
          Dst:             event_call_callbacks
        - Src:             'lib-event.c:1358,4'
          Dst:             i_log_typev
        - Src:             'lib-event.c:1360,2'
          Dst:             event_send_abort
    - functionName:    event_send
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1332
      functionLinenumberEnd: 1338
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - ctx
        - fmt
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_vsend
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1336,2'
          Dst:             event_vsend
    - functionName:    event_categories_iterate_deinit
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1318
      functionLinenumberEnd: 1328
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _iter
      BBCount:         7
      ICount:          43
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - hash_table_destroy
        - hash_table_iterate_deinit
        - p_free_internal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:1321,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1322,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1323,3'
              BranchSideFuncs:
                - hash_table_iterate_deinit
                - hash_table_destroy
                - p_free_internal.2064
      Callsites:
        - Src:             'lib-event.c:1325,2'
          Dst:             hash_table_iterate_deinit
        - Src:             'lib-event.c:1326,2'
          Dst:             hash_table_destroy
        - Src:             'lib-event.c:1327,2'
          Dst:             p_free_internal
    - functionName:    event_categories_iterate
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1307
      functionLinenumberEnd: 1315
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - iter
        - cat_r
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hash_table_iterate
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:1310,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1311,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1314,9'
              BranchSideFuncs:
                - hash_table_iterate
      Callsites:
        - Src:             'lib-event.c:1314,9'
          Dst:             hash_table_iterate
    - functionName:    insert_category
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1271
      functionLinenumberEnd: 1278
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - hash
        - cat
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hash_table_update
        - insert_category
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-event.c:1276,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1276,6'
              BranchSideFuncs:
                - insert_category
            - BranchSide:      'lib-event.c:1277,25'
              BranchSideFuncs:
                - insert_category
      Callsites:
        - Src:             'lib-event.c:1273,2'
          Dst:             hash_table_update
        - Src:             'lib-event.c:1277,3'
          Dst:             insert_category
    - functionName:    event_categories_iterate_init
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1282
      functionLinenumberEnd: 1303
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         10
      ICount:          85
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - event_get_categories
        - hash_table_create_direct
        - hash_table_iterate_init
        - insert_category
        - malloc_multiply_check
        - p_malloc
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:1288,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1289,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1291,9'
              BranchSideFuncs:
                - malloc_multiply_check.2077
                - p_malloc.2078
                - hash_table_create_direct
                - hash_table_iterate_init
                - insert_category
        - Branch String:   'lib-event.c:1297,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1298,19'
              BranchSideFuncs:
                - insert_category
                - hash_table_iterate_init
            - BranchSide:      'lib-event.c:1300,15'
              BranchSideFuncs:
                - hash_table_iterate_init
      Callsites:
        - Src:             'lib-event.c:1287,9'
          Dst:             event_get_categories
        - Src:             'lib-event.c:1291,9'
          Dst:             malloc_multiply_check
        - Src:             'lib-event.c:1291,9'
          Dst:             p_malloc
        - Src:             'lib-event.c:1293,2'
          Dst:             hash_table_create_direct
        - Src:             'lib-event.c:1298,3'
          Dst:             insert_category
        - Src:             'lib-event.c:1300,15'
          Dst:             hash_table_iterate_init
    - functionName:    event_get_categories
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1260
      functionLinenumberEnd: 1266
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - count_r
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_get_i
        - array_is_created_i
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-event.c:1261,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1262,4'
              BranchSideFuncs:
                - array_get_i.2100
            - BranchSide:      'lib-event.c:1265,9'
              BranchSideFuncs:
                - array_get_i.2100
      Callsites:
        - Src:             'lib-event.c:1261,7'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:1265,9'
          Dst:             array_get_i
    - functionName:    event_get_fields
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1250
      functionLinenumberEnd: 1256
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - count_r
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_get_i
        - array_is_created_i
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:1251,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1252,4'
              BranchSideFuncs:
                - array_get_i.2100
            - BranchSide:      'lib-event.c:1255,9'
              BranchSideFuncs:
                - array_get_i.2100
      Callsites:
        - Src:             'lib-event.c:1251,7'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:1255,9'
          Dst:             array_get_i
    - functionName:    event_get_last_duration
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1237
      functionLinenumberEnd: 1246
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - duration_usecs_r
      BBCount:         10
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - timeval_diff_usecs
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1238,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1239,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1242,39'
              BranchSideFuncs:
                - timeval_diff_usecs
                - i_panic
        - Branch String:   'lib-event.c:1244,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1244,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:1245,22'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:1242,19'
          Dst:             timeval_diff_usecs
        - Src:             'lib-event.c:1244,2'
          Dst:             i_panic
    - functionName:    event_get_last_send_time
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1230
      functionLinenumberEnd: 1232
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - tv_r
      BBCount:         1
      ICount:          19
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_get_create_time
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1225
      functionLinenumberEnd: 1227
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - tv_r
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_get_pool
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1220
      functionLinenumberEnd: 1221
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_get_parent
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1215
      functionLinenumberEnd: 1216
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_strlist_copy_recursive
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1116
      functionLinenumberEnd: 1122
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dest
        - src
        - key
      BBCount:         7
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - event_get_field
        - event_get_recursive_strlist
        - event_strlist_append
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:1119,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1119,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:1119,2'
              BranchSideFuncs:
                - event_get_recursive_strlist
      Callsites:
        - Src:             'lib-event.c:1117,2'
          Dst:             event_strlist_append
        - Src:             'lib-event.c:1118,30'
          Dst:             event_get_field
        - Src:             'lib-event.c:1119,2'
          Dst:             i_panic
        - Src:             'lib-event.c:1120,2'
          Dst:             event_get_recursive_strlist
    - functionName:    event_get_recursive_strlist
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 983
      functionLinenumberEnd: 1005
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - pool
        - key
        - dest
      BBCount:         24
      ICount:          147
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - array_append_i
        - array_lsearch_i
        - event_find_field_nonrecursive
        - event_get_recursive_strlist
        - i_memcpy
        - i_strcmp_p
        - p_strdup
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib-event.c:987,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:988,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:990,40'
              BranchSideFuncs:
                - event_find_field_nonrecursive
                - event_get_recursive_strlist
                - array_lsearch_i
                - array_append_i.2047
                - p_strdup
                - i_memcpy.2056
        - Branch String:   'lib-event.c:991,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:992,7'
              BranchSideFuncs:
                - event_get_recursive_strlist
                - array_lsearch_i
                - array_append_i.2047
                - p_strdup
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:1004,30'
              BranchSideFuncs:
                - event_get_recursive_strlist
        - Branch String:   'lib-event.c:992,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:994,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:996,3'
              BranchSideFuncs:
                - event_get_recursive_strlist
                - array_lsearch_i
                - array_append_i.2047
                - p_strdup
                - i_memcpy.2056
        - Branch String:   'lib-event.c:996,3'
          Branch Sides:
            - BranchSide:      'lib-event.c:996,3'
              BranchSideFuncs:
                - i_memcpy.2056
                - event_get_recursive_strlist
                - array_lsearch_i
                - array_append_i.2047
                - p_strdup
            - BranchSide:      'lib-event.c:996,3'
              BranchSideFuncs:
                - event_get_recursive_strlist
                - array_lsearch_i
                - i_memcpy.2056
                - array_append_i.2047
                - p_strdup
        - Branch String:   'lib-event.c:996,3'
          Branch Sides:
            - BranchSide:      'lib-event.c:997,8'
              BranchSideFuncs:
                - array_lsearch_i
                - event_get_recursive_strlist
                - i_memcpy.2056
                - array_append_i.2047
                - p_strdup
            - BranchSide:      'lib-event.c:1003,2'
              BranchSideFuncs:
                - event_get_recursive_strlist
        - Branch String:   'lib-event.c:997,8'
          Branch Sides:
            - BranchSide:      'lib-event.c:998,9'
              BranchSideFuncs:
                - array_append_i.2047
                - event_get_recursive_strlist
                - array_lsearch_i
                - i_memcpy.2056
                - p_strdup
            - BranchSide:      'lib-event.c:1002,3'
              BranchSideFuncs:
                - event_get_recursive_strlist
                - array_lsearch_i
                - array_append_i.2047
                - p_strdup
                - i_memcpy.2056
        - Branch String:   'lib-event.c:998,9'
          Branch Sides:
            - BranchSide:      'lib-event.c:999,21'
              BranchSideFuncs:
                - p_strdup
                - array_append_i.2047
                - event_get_recursive_strlist
                - array_lsearch_i
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:1000,5'
              BranchSideFuncs:
                - array_append_i.2047
                - event_get_recursive_strlist
                - array_lsearch_i
                - p_strdup
                - i_memcpy.2056
      Callsites:
        - Src:             'lib-event.c:990,10'
          Dst:             event_find_field_nonrecursive
        - Src:             'lib-event.c:996,3'
          Dst:             i_memcpy
        - Src:             'lib-event.c:997,8'
          Dst:             array_lsearch_i
        - Src:             'lib-event.c:997,8'
          Dst:             i_strcmp_p
        - Src:             'lib-event.c:999,12'
          Dst:             p_strdup
        - Src:             'lib-event.c:1000,5'
          Dst:             array_append_i
        - Src:             'lib-event.c:1004,2'
          Dst:             event_get_recursive_strlist
    - functionName:    event_find_field_recursive_str
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1009
      functionLinenumberEnd: 1040
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - key
      BBCount:         12
      ICount:          102
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached:
        - array_create_i
        - event_find_field_recursive
        - event_get_global
        - event_get_recursive_strlist
        - i_unreached
        - net_ip2addr
        - p_array_const_string_join
        - pool_datastack_create
        - t_strdup_printf
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:1013,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1014,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1016,10'
              BranchSideFuncs:
                - pool_datastack_create
                - array_create_i.2046
                - event_get_recursive_strlist
                - event_get_global
                - event_get_recursive_strlist
                - p_array_const_string_join
                - net_ip2addr
                - t_strdup_printf
                - t_strdup_printf
                - i_unreached
        - Branch String:   'lib-event.c:1016,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:1018,10'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:1020,33'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1023,4'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'lib-event.c:1026,23'
              BranchSideFuncs:
                - net_ip2addr
            - BranchSide:      'lib-event.c:1029,3'
              BranchSideFuncs:
                - pool_datastack_create
                - array_create_i.2046
                - event_get_recursive_strlist
                - event_get_global
                - event_get_recursive_strlist
                - p_array_const_string_join
            - BranchSide:      'lib-event.c:1039,2'
              BranchSideFuncs:
                - i_unreached
      Callsites:
        - Src:             'lib-event.c:1012,10'
          Dst:             event_find_field_recursive
        - Src:             'lib-event.c:1020,10'
          Dst:             t_strdup_printf
        - Src:             'lib-event.c:1022,10'
          Dst:             t_strdup_printf
        - Src:             'lib-event.c:1026,10'
          Dst:             net_ip2addr
        - Src:             'lib-event.c:1029,3'
          Dst:             pool_datastack_create
        - Src:             'lib-event.c:1029,3'
          Dst:             array_create_i
        - Src:             'lib-event.c:1033,3'
          Dst:             event_get_recursive_strlist
        - Src:             'lib-event.c:1034,31'
          Dst:             event_get_global
        - Src:             'lib-event.c:1034,3'
          Dst:             event_get_recursive_strlist
        - Src:             'lib-event.c:1036,10'
          Dst:             p_array_const_string_join
        - Src:             'lib-event.c:1039,2'
          Dst:             i_unreached
    - functionName:    event_get_registered_categories
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 819
      functionLinenumberEnd: 820
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - count_r
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_get_i
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:820,9'
          Dst:             array_get_i
    - functionName:    event_get_ptr
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 781
      functionLinenumberEnd: 791
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - key
      BBCount:         12
      ICount:          80
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - array_is_created_i
        - strcmp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:784,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:785,3'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'lib-event.c:786,2'
              BranchSideFuncs:
                - strcmp
        - Branch String:   'lib-event.c:786,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:787,14'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'lib-event.c:790,2'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:787,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:788,11'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:789,2'
              BranchSideFuncs:
                - strcmp
      Callsites:
        - Src:             'lib-event.c:784,7'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:787,7'
          Dst:             strcmp
    - functionName:    event_set_ptr
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 760
      functionLinenumberEnd: 778
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - key
        - value
      BBCount:         13
      ICount:          109
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - array_append_space_i
        - array_create_i
        - array_is_created_i
        - buffer_get_modifiable_data
        - p_strdup
        - strcmp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:763,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:764,3'
              BranchSideFuncs:
                - buffer_get_modifiable_data
                - array_append_space_i.2055
                - p_strdup
                - strcmp
            - BranchSide:      'lib-event.c:767,3'
              BranchSideFuncs:
                - buffer_get_modifiable_data
                - array_append_space_i.2055
                - p_strdup
                - strcmp
        - Branch String:   'lib-event.c:767,3'
          Branch Sides:
            - BranchSide:      'lib-event.c:0,0'
              BranchSideFuncs:
                - strcmp
                - array_append_space_i.2055
                - p_strdup
            - BranchSide:      'lib-event.c:768,15'
              BranchSideFuncs:
                - strcmp
                - array_append_space_i.2055
                - p_strdup
        - Branch String:   'lib-event.c:768,8'
          Branch Sides:
            - BranchSide:      'lib-event.c:769,16'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:772,3'
              BranchSideFuncs:
                - array_append_space_i.2055
                - p_strdup
                - strcmp
      Callsites:
        - Src:             'lib-event.c:763,7'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:764,3'
          Dst:             array_create_i
        - Src:             'lib-event.c:767,3'
          Dst:             buffer_get_modifiable_data
        - Src:             'lib-event.c:768,8'
          Dst:             strcmp
        - Src:             'lib-event.c:774,6'
          Dst:             array_append_space_i
        - Src:             'lib-event.c:775,11'
          Dst:             p_strdup
    - functionName:    event_get_min_log_level
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 755
      functionLinenumberEnd: 756
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_set_min_log_level
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 748
      functionLinenumberEnd: 751
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - event
        - level
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_recalculate_debug_level
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:750,2'
          Dst:             event_recalculate_debug_level
    - functionName:    event_unset_log_message_callback
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 713
      functionLinenumberEnd: 719
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - callback
        - context
      BBCount:         11
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:714,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:714,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:715,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'lib-event.c:715,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:715,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:715,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:714,2'
          Dst:             i_panic
        - Src:             'lib-event.c:715,2'
          Dst:             i_panic
    - functionName:    event_disable_callbacks
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 705
      functionLinenumberEnd: 707
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_set_log_message_callback
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 698
      functionLinenumberEnd: 701
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - callback
        - context
      BBCount:         1
      ICount:          22
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_set_log_prefix_callback
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 682
      functionLinenumberEnd: 690
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - bool
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - replace
        - callback
        - context
      BBCount:         8
      ICount:          71
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - p_free_internal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:683,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:684,3'
              BranchSideFuncs:
                - p_free_internal.2064
            - BranchSide:      'lib-event.c:686,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:684,3'
          Dst:             p_free_internal
    - functionName:    event_drop_parent_log_prefixes
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 671
      functionLinenumberEnd: 673
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - event
        - count
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_append
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cstr
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:35,27'
          Dst:             strlen
        - Src:             './str.h:35,2'
          Dst:             buffer_append
    - functionName:    event_reason_code_module_validate
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - module
      BBCount:         17
      ICount:          90
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - __ctype_b_loc
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-event.c:587,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:588,8'
              BranchSideFuncs:
                - __ctype_b_loc
            - BranchSide:      'lib-event.c:593,2'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:588,17'
          Branch Sides:
            - BranchSide:      'lib-event.c:588,21'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:589,4'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:588,30'
          Branch Sides:
            - BranchSide:      'lib-event.c:588,34'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:589,4'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:588,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:589,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:590,7'
              BranchSideFuncs:
                - __ctype_b_loc
        - Branch String:   'lib-event.c:590,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:591,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:592,2'
              BranchSideFuncs:
                - __ctype_b_loc
      Callsites:
        - Src:             'lib-event.c:590,7'
          Dst:             __ctype_b_loc
    - functionName:    __ctype_b_loc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_reason_code_prefix
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 598
      functionLinenumberEnd: 634
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - module
        - name_prefix
        - name
      BBCount:         25
      ICount:          159
      EdgeCount:       49
      CyclomaticComplexity: 26
      functionsReached:
        - event_reason_code_module_validate
        - i_panic
        - str_append
        - str_append_c
        - str_c
        - strlen
        - t_str_new
        - tolower
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:601,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:601,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:602,2'
              BranchSideFuncs:
                - event_reason_code_module_validate
                - i_panic
                - event_reason_code_module_validate
                - i_panic
                - strlen
                - strlen
                - strlen
                - t_str_new
                - str_append.2122
                - str_append_c.2096
                - str_append.2122
                - str_c
                - i_panic
                - str_append_c.2096
                - tolower
                - str_append_c.2096
                - i_panic
        - Branch String:   'lib-event.c:602,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:602,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:604,41'
              BranchSideFuncs:
                - event_reason_code_module_validate
                - i_panic
                - event_reason_code_module_validate
                - i_panic
                - strlen
                - strlen
                - strlen
                - t_str_new
                - str_append.2122
                - str_append_c.2096
                - str_append.2122
                - str_c
                - i_panic
                - str_append_c.2096
                - tolower
                - str_append_c.2096
        - Branch String:   'lib-event.c:604,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:606,27'
              BranchSideFuncs:
                - event_reason_code_module_validate
                - i_panic
                - strlen
                - strlen
                - strlen
                - t_str_new
                - str_append.2122
                - str_append_c.2096
                - str_append.2122
                - str_c
                - i_panic
                - str_append_c.2096
                - tolower
                - str_append_c.2096
            - BranchSide:      'lib-event.c:608,41'
              BranchSideFuncs:
                - event_reason_code_module_validate
                - i_panic
                - strlen
                - strlen
                - strlen
                - t_str_new
                - str_append.2122
                - str_append_c.2096
                - str_append.2122
                - str_c
                - i_panic
                - str_append_c.2096
                - tolower
                - str_append_c.2096
        - Branch String:   'lib-event.c:608,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:610,32'
              BranchSideFuncs:
                - strlen
                - strlen
                - strlen
                - t_str_new
                - str_append.2122
                - str_append_c.2096
                - str_append.2122
                - str_c
                - i_panic
                - str_append_c.2096
                - tolower
                - str_append_c.2096
            - BranchSide:      'lib-event.c:613,35'
              BranchSideFuncs:
                - strlen
                - strlen
                - strlen
                - t_str_new
                - str_append.2122
                - str_append_c.2096
                - str_append.2122
                - str_c
                - i_panic
                - str_append_c.2096
                - tolower
                - str_append_c.2096
        - Branch String:   'lib-event.c:619,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:620,12'
              BranchSideFuncs:
                - i_panic
                - str_append_c.2096
                - str_c
                - tolower
                - str_append_c.2096
            - BranchSide:      'lib-event.c:634,15'
              BranchSideFuncs:
                - str_c
        - Branch String:   'lib-event.c:620,3'
          Branch Sides:
            - BranchSide:      'lib-event.c:623,4'
              BranchSideFuncs:
                - str_append_c.2096
                - str_c
                - i_panic
                - tolower
                - str_append_c.2096
            - BranchSide:      'lib-event.c:623,4'
              BranchSideFuncs:
                - str_append_c.2096
                - str_c
                - i_panic
                - tolower
                - str_append_c.2096
            - BranchSide:      'lib-event.c:628,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:630,4'
              BranchSideFuncs:
                - tolower
                - str_append_c.2096
                - str_c
                - i_panic
                - str_append_c.2096
      Callsites:
        - Src:             'lib-event.c:601,2'
          Dst:             i_panic
        - Src:             'lib-event.c:602,2'
          Dst:             i_panic
        - Src:             'lib-event.c:604,7'
          Dst:             event_reason_code_module_validate
        - Src:             'lib-event.c:605,3'
          Dst:             i_panic
        - Src:             'lib-event.c:608,7'
          Dst:             event_reason_code_module_validate
        - Src:             'lib-event.c:609,3'
          Dst:             i_panic
        - Src:             'lib-event.c:613,28'
          Dst:             strlen
        - Src:             'lib-event.c:614,7'
          Dst:             strlen
        - Src:             'lib-event.c:614,29'
          Dst:             strlen
        - Src:             'lib-event.c:613,18'
          Dst:             t_str_new
        - Src:             'lib-event.c:615,2'
          Dst:             str_append
        - Src:             'lib-event.c:616,2'
          Dst:             str_append_c
        - Src:             'lib-event.c:617,2'
          Dst:             str_append
        - Src:             'lib-event.c:623,4'
          Dst:             str_append_c
        - Src:             'lib-event.c:626,4'
          Dst:             i_panic
        - Src:             'lib-event.c:630,4'
          Dst:             tolower
        - Src:             'lib-event.c:630,4'
          Dst:             str_append_c
        - Src:             'lib-event.c:634,9'
          Dst:             str_c
    - functionName:    tolower
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_reason_code
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 580
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - module
        - name
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_reason_code_prefix
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:580,9'
          Dst:             event_reason_code_prefix
    - functionName:    event_reason_end
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 565
      functionLinenumberEnd: 576
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _reason
      BBCount:         11
      ICount:          63
      EdgeCount:       12
      CyclomaticComplexity: 3
      functionsReached:
        - event_pop_global
        - event_unref
        - i_panic
        - p_free_internal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:568,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:569,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:570,19'
              BranchSideFuncs:
                - event_pop_global
                - event_unref
                - p_free_internal.2064
                - i_panic
        - Branch String:   'lib-event.c:573,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:573,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:574,15'
              BranchSideFuncs:
                - event_unref
                - p_free_internal.2064
      Callsites:
        - Src:             'lib-event.c:570,2'
          Dst:             event_pop_global
        - Src:             'lib-event.c:573,2'
          Dst:             i_panic
        - Src:             'lib-event.c:574,2'
          Dst:             event_unref
        - Src:             'lib-event.c:575,2'
          Dst:             p_free_internal
    - functionName:    event_pop_global
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 521
      functionLinenumberEnd: 541
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         25
      ICount:          118
      EdgeCount:       27
      CyclomaticComplexity: 4
      functionsReached:
        - array_count_i
        - array_delete_i
        - array_get_i
        - array_is_created_i
        - i_panic
        - io_loop_get_active_global_root
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-event.c:522,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:522,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:523,2'
              BranchSideFuncs:
                - io_loop_get_active_global_root
                - array_is_created_i.2054
                - array_count_i.2102
                - array_get_i.2100
                - array_delete_i.2088
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'lib-event.c:523,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:523,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:527,2'
              BranchSideFuncs:
                - io_loop_get_active_global_root
                - array_is_created_i.2054
                - array_count_i.2102
                - array_get_i.2100
                - array_delete_i.2088
                - i_panic
                - i_panic
        - Branch String:   'lib-event.c:527,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:527,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:529,7'
              BranchSideFuncs:
                - array_is_created_i.2054
                - array_count_i.2102
                - array_get_i.2100
                - array_delete_i.2088
                - i_panic
        - Branch String:   'lib-event.c:529,45'
          Branch Sides:
            - BranchSide:      'lib-event.c:530,6'
              BranchSideFuncs:
                - array_count_i.2102
                - array_get_i.2100
                - array_delete_i.2088
                - i_panic
            - BranchSide:      'lib-event.c:531,24'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:529,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:531,24'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:535,4'
              BranchSideFuncs:
                - array_get_i.2100
                - array_delete_i.2088
                - i_panic
        - Branch String:   'lib-event.c:537,3'
          Branch Sides:
            - BranchSide:      'lib-event.c:537,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:538,26'
              BranchSideFuncs:
                - array_delete_i.2088
      Callsites:
        - Src:             'lib-event.c:522,2'
          Dst:             i_panic
        - Src:             'lib-event.c:523,2'
          Dst:             i_panic
        - Src:             'lib-event.c:527,2'
          Dst:             io_loop_get_active_global_root
        - Src:             'lib-event.c:527,2'
          Dst:             i_panic
        - Src:             'lib-event.c:529,7'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:530,6'
          Dst:             array_count_i
        - Src:             'lib-event.c:535,4'
          Dst:             array_get_i
        - Src:             'lib-event.c:537,3'
          Dst:             i_panic
        - Src:             'lib-event.c:539,3'
          Dst:             array_delete_i
    - functionName:    event_reason_begin
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 561
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - reason_code
        - source_filename
        - source_linenum
      BBCount:         3
      ICount:          44
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_create
        - event_get_global
        - event_push_global
        - event_strlist_append
        - malloc_multiply_check
        - p_malloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:556,11'
          Dst:             malloc_multiply_check
        - Src:             'lib-event.c:556,11'
          Dst:             p_malloc
        - Src:             'lib-event.c:557,31'
          Dst:             event_get_global
        - Src:             'lib-event.c:557,18'
          Dst:             event_create
        - Src:             'lib-event.c:559,2'
          Dst:             event_strlist_append
        - Src:             'lib-event.c:560,2'
          Dst:             event_push_global
    - functionName:    event_create
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 439
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - parent
        - source_filename
        - source_linenum
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_call_callbacks_noargs
        - event_create_internal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:437,10'
          Dst:             event_create_internal
        - Src:             'lib-event.c:438,8'
          Dst:             event_call_callbacks_noargs
    - functionName:    event_push_global
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 508
      functionLinenumberEnd: 517
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         13
      ICount:          54
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - array_append_i
        - array_create_i
        - array_is_created_i
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-event.c:509,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:509,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:511,6'
              BranchSideFuncs:
                - array_is_created_i.2054
                - array_create_i.2046
                - array_append_i.2047
        - Branch String:   'lib-event.c:511,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:511,6'
              BranchSideFuncs:
                - array_is_created_i.2054
                - array_create_i.2046
                - array_append_i.2047
            - BranchSide:      'lib-event.c:512,8'
              BranchSideFuncs:
                - array_is_created_i.2054
                - array_create_i.2046
                - array_append_i.2047
        - Branch String:   'lib-event.c:512,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:513,4'
              BranchSideFuncs:
                - array_append_i.2047
            - BranchSide:      'lib-event.c:514,3'
              BranchSideFuncs:
                - array_append_i.2047
      Callsites:
        - Src:             'lib-event.c:509,2'
          Dst:             i_panic
        - Src:             'lib-event.c:512,8'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:513,4'
          Dst:             array_create_i
        - Src:             'lib-event.c:514,3'
          Dst:             array_append_i
    - functionName:    event_create_internal
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 428
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - parent
        - source_filename
        - source_linenum
      BBCount:         11
      ICount:          118
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - event_copy_parent_defaults
        - event_ref
        - i_gettimeofday
        - malloc_multiply_check
        - p_malloc
        - p_strdup
        - pool_alloconly_create
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib-event.c:422,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:423,19'
              BranchSideFuncs:
                - event_ref
                - event_copy_parent_defaults
            - BranchSide:      'lib-event.c:427,2'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:427,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:427,2'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:427,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:410,16'
          Dst:             pool_alloconly_create
        - Src:             'lib-event.c:412,10'
          Dst:             malloc_multiply_check
        - Src:             'lib-event.c:412,10'
          Dst:             p_malloc
        - Src:             'lib-event.c:418,2'
          Dst:             i_gettimeofday
        - Src:             'lib-event.c:419,27'
          Dst:             p_strdup
        - Src:             'lib-event.c:424,3'
          Dst:             event_ref
        - Src:             'lib-event.c:425,3'
          Dst:             event_copy_parent_defaults
    - functionName:    event_ref
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 469
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         7
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    6
      BranchProfiles:
        - Branch String:   'lib-event.c:470,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:470,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:470,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:470,2'
          Dst:             i_panic
    - functionName:    events_get_head
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 503
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_create_passthrough
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 446
      functionLinenumberEnd: 465
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - parent
        - source_filename
        - source_linenum
      BBCount:         8
      ICount:          75
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - event_create
        - i_memcpy
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:447,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:448,7'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:463,28'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:448,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:450,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-event.c:454,17'
              BranchSideFuncs:
                - event_create
                - i_memcpy.2056
      Callsites:
        - Src:             'lib-event.c:450,4'
          Dst:             i_panic
        - Src:             'lib-event.c:454,4'
          Dst:             event_create
        - Src:             'lib-event.c:460,3'
          Dst:             i_memcpy
    - functionName:    replace_parent_ref
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - new
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - event_ref
        - event_unref
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-event.c:291,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:292,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:294,6'
              BranchSideFuncs:
                - event_unref
                - event_ref
        - Branch String:   'lib-event.c:294,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:295,13'
              BranchSideFuncs:
                - event_ref
                - event_unref
            - BranchSide:      'lib-event.c:297,15'
              BranchSideFuncs:
                - event_unref
      Callsites:
        - Src:             'lib-event.c:295,3'
          Dst:             event_ref
        - Src:             'lib-event.c:297,2'
          Dst:             event_unref
    - functionName:    event_minimize
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 353
      functionLinenumberEnd: 403
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
      BBCount:         43
      ICount:          225
      EdgeCount:       57
      CyclomaticComplexity: 16
      functionsReached:
        - array_is_created_i
        - event_dup
        - event_flatten_recurse
        - event_ref
        - replace_parent_ref
        - timeval_cmp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:359,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:360,20'
              BranchSideFuncs:
                - event_ref
            - BranchSide:      'lib-event.c:363,16'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - timeval_cmp
        - Branch String:   'lib-event.c:364,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:365,7'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - timeval_cmp
            - BranchSide:      'lib-event.c:375,13'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
        - Branch String:   'lib-event.c:365,34'
          Branch Sides:
            - BranchSide:      'lib-event.c:366,20'
              BranchSideFuncs:
                - timeval_cmp
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
            - BranchSide:      'lib-event.c:370,19'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
        - Branch String:   'lib-event.c:365,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:368,4'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - timeval_cmp
            - BranchSide:      'lib-event.c:370,19'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
        - Branch String:   'lib-event.c:376,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:377,7'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
            - BranchSide:      'lib-event.c:389,7'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
        - Branch String:   'lib-event.c:377,34'
          Branch Sides:
            - BranchSide:      'lib-event.c:378,9'
              BranchSideFuncs:
                - array_is_created_i.2054
                - array_is_created_i.2054
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
            - BranchSide:      'lib-event.c:384,16'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
        - Branch String:   'lib-event.c:378,40'
          Branch Sides:
            - BranchSide:      'lib-event.c:379,8'
              BranchSideFuncs:
                - array_is_created_i.2054
                - array_is_created_i.2054
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
            - BranchSide:      'lib-event.c:380,9'
              BranchSideFuncs:
                - array_is_created_i.2054
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
        - Branch String:   'lib-event.c:379,8'
          Branch Sides:
            - BranchSide:      'lib-event.c:379,8'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
            - BranchSide:      'lib-event.c:380,9'
              BranchSideFuncs:
                - array_is_created_i.2054
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
        - Branch String:   'lib-event.c:379,38'
          Branch Sides:
            - BranchSide:      'lib-event.c:380,9'
              BranchSideFuncs:
                - array_is_created_i.2054
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
            - BranchSide:      'lib-event.c:384,16'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
        - Branch String:   'lib-event.c:380,44'
          Branch Sides:
            - BranchSide:      'lib-event.c:381,8'
              BranchSideFuncs:
                - array_is_created_i.2054
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
            - BranchSide:      'lib-event.c:382,4'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
        - Branch String:   'lib-event.c:381,8'
          Branch Sides:
            - BranchSide:      'lib-event.c:381,8'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
            - BranchSide:      'lib-event.c:382,4'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
        - Branch String:   'lib-event.c:377,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:382,4'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
                - array_is_created_i.2054
            - BranchSide:      'lib-event.c:384,16'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
        - Branch String:   'lib-event.c:389,39'
          Branch Sides:
            - BranchSide:      'lib-event.c:390,7'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
                - event_ref
            - BranchSide:      'lib-event.c:393,24'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
        - Branch String:   'lib-event.c:389,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:391,20'
              BranchSideFuncs:
                - event_ref
            - BranchSide:      'lib-event.c:393,24'
              BranchSideFuncs:
                - event_dup
                - event_flatten_recurse
                - replace_parent_ref
                - replace_parent_ref
      Callsites:
        - Src:             'lib-event.c:360,10'
          Dst:             event_ref
        - Src:             'lib-event.c:366,7'
          Dst:             timeval_cmp
        - Src:             'lib-event.c:378,9'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:379,8'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:380,9'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:381,8'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:391,10'
          Dst:             event_ref
        - Src:             'lib-event.c:393,14'
          Dst:             event_dup
        - Src:             'lib-event.c:396,2'
          Dst:             event_flatten_recurse
        - Src:             'lib-event.c:397,2'
          Dst:             replace_parent_ref
        - Src:             'lib-event.c:400,2'
          Dst:             replace_parent_ref
    - functionName:    event_dup
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
      BBCount:         5
      ICount:          58
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - event_create_internal
        - event_export
        - event_import
        - i_panic
        - str_c
        - t_str_new
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:241,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:242,48'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:243,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:236,3'
          Dst:             event_create_internal
        - Src:             'lib-event.c:238,18'
          Dst:             t_str_new
        - Src:             'lib-event.c:240,2'
          Dst:             event_export
        - Src:             'lib-event.c:241,25'
          Dst:             str_c
        - Src:             'lib-event.c:241,7'
          Dst:             event_import
        - Src:             'lib-event.c:242,42'
          Dst:             str_c
        - Src:             'lib-event.c:242,3'
          Dst:             i_panic
    - functionName:    event_flatten_recurse
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dst
        - src
        - limit
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - event_copy_categories
        - event_copy_fields
        - event_flatten_recurse
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib-event.c:256,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:256,6'
              BranchSideFuncs:
                - event_flatten_recurse
                - event_copy_categories
                - event_copy_fields
            - BranchSide:      'lib-event.c:257,25'
              BranchSideFuncs:
                - event_flatten_recurse
                - event_copy_categories
                - event_copy_fields
      Callsites:
        - Src:             'lib-event.c:257,3'
          Dst:             event_flatten_recurse
        - Src:             'lib-event.c:259,2'
          Dst:             event_copy_categories
        - Src:             'lib-event.c:260,2'
          Dst:             event_copy_fields
    - functionName:    event_copy_categories
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - to
        - from
      BBCount:         7
      ICount:          53
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - event_add_category
        - event_get_categories
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:170,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:171,22'
              BranchSideFuncs:
                - event_add_category
            - BranchSide:      'lib-event.c:172,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:169,3'
          Dst:             event_get_categories
        - Src:             'lib-event.c:171,3'
          Dst:             event_add_category
    - functionName:    event_copy_fields
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - to
        - from
      BBCount:         21
      ICount:          156
      EdgeCount:       23
      CyclomaticComplexity: 4
      functionsReached:
        - array_get_i
        - array_is_created_i
        - event_add_int
        - event_add_ip
        - event_add_str
        - event_add_timeval
        - event_strlist_append
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:180,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:181,3'
              BranchSideFuncs:
                - array_get_i.2100
                - event_strlist_append
                - event_add_ip
                - event_add_timeval
                - event_add_int
                - event_add_str
            - BranchSide:      'lib-event.c:182,2'
              BranchSideFuncs:
                - array_get_i.2100
                - event_strlist_append
                - event_add_ip
                - event_add_timeval
                - event_add_int
                - event_add_str
        - Branch String:   'lib-event.c:182,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:182,2'
              BranchSideFuncs:
                - array_get_i.2100
                - event_strlist_append
                - event_add_ip
                - event_add_timeval
                - event_add_int
                - event_add_str
            - BranchSide:      'lib-event.c:183,11'
              BranchSideFuncs:
                - array_get_i.2100
                - event_strlist_append
                - event_add_ip
                - event_add_timeval
                - event_add_int
                - event_add_str
        - Branch String:   'lib-event.c:183,3'
          Branch Sides:
            - BranchSide:      'lib-event.c:185,18'
              BranchSideFuncs:
                - event_add_str
                - array_get_i.2100
                - event_strlist_append
                - event_add_ip
                - event_add_timeval
                - event_add_int
            - BranchSide:      'lib-event.c:188,18'
              BranchSideFuncs:
                - event_add_int
                - array_get_i.2100
                - event_strlist_append
                - event_add_ip
                - event_add_timeval
                - event_add_str
            - BranchSide:      'lib-event.c:191,22'
              BranchSideFuncs:
                - event_add_timeval
                - array_get_i.2100
                - event_strlist_append
                - event_add_ip
                - event_add_int
                - event_add_str
            - BranchSide:      'lib-event.c:194,17'
              BranchSideFuncs:
                - event_add_ip
                - array_get_i.2100
                - event_strlist_append
                - event_add_timeval
                - event_add_int
                - event_add_str
            - BranchSide:      'lib-event.c:197,13'
              BranchSideFuncs:
                - array_get_i.2100
                - event_add_ip
                - event_add_timeval
                - event_add_int
                - event_add_str
                - event_strlist_append
            - BranchSide:      'lib-event.c:202,4'
              BranchSideFuncs:
                - array_get_i.2100
                - event_strlist_append
                - event_add_ip
                - event_add_timeval
                - event_add_int
                - event_add_str
        - Branch String:   'lib-event.c:198,4'
          Branch Sides:
            - BranchSide:      'lib-event.c:199,26'
              BranchSideFuncs:
                - event_strlist_append
                - array_get_i.2100
                - event_add_ip
                - event_add_timeval
                - event_add_int
                - event_add_str
            - BranchSide:      'lib-event.c:200,4'
              BranchSideFuncs:
                - array_get_i.2100
                - event_strlist_append
                - event_add_ip
                - event_add_timeval
                - event_add_int
                - event_add_str
      Callsites:
        - Src:             'lib-event.c:180,7'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:185,4'
          Dst:             event_add_str
        - Src:             'lib-event.c:188,4'
          Dst:             event_add_int
        - Src:             'lib-event.c:191,4'
          Dst:             event_add_timeval
        - Src:             'lib-event.c:194,4'
          Dst:             event_add_ip
        - Src:             'lib-event.c:197,13'
          Dst:             array_get_i
        - Src:             'lib-event.c:199,5'
          Dst:             event_strlist_append
    - functionName:    event_export
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1414
      functionLinenumberEnd: 1459
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - dest
      BBCount:         32
      ICount:          247
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - array_is_created_i
        - event_export_field_value
        - i_memcpy
        - str_append_c
        - str_append_tabescaped
        - str_printfa
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-event.c:1421,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1422,3'
              BranchSideFuncs:
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - str_printfa
                - array_is_created_i.2054
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - i_memcpy.2056
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - str_printfa
                - str_append_c.2096
                - str_append_c.2096
            - BranchSide:      'lib-event.c:1427,6'
              BranchSideFuncs:
                - array_is_created_i.2054
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - i_memcpy.2056
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - str_printfa
                - str_append_c.2096
                - str_append_c.2096
        - Branch String:   'lib-event.c:1427,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1428,3'
              BranchSideFuncs:
                - str_append_c.2096
                - str_append_c.2096
                - array_is_created_i.2054
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - i_memcpy.2056
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - str_printfa
            - BranchSide:      'lib-event.c:1431,6'
              BranchSideFuncs:
                - array_is_created_i.2054
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - i_memcpy.2056
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - str_printfa
        - Branch String:   'lib-event.c:1431,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1432,15'
              BranchSideFuncs:
                - str_printfa
                - array_is_created_i.2054
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - i_memcpy.2056
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
            - BranchSide:      'lib-event.c:1437,6'
              BranchSideFuncs:
                - array_is_created_i.2054
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - i_memcpy.2056
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
        - Branch String:   'lib-event.c:1437,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1438,3'
              BranchSideFuncs:
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - array_is_created_i.2054
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:1443,6'
              BranchSideFuncs:
                - array_is_created_i.2054
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - i_memcpy.2056
        - Branch String:   'lib-event.c:1443,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1445,3'
              BranchSideFuncs:
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:1452,6'
              BranchSideFuncs:
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
        - Branch String:   'lib-event.c:1445,3'
          Branch Sides:
            - BranchSide:      'lib-event.c:1445,3'
              BranchSideFuncs:
                - i_memcpy.2056
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
            - BranchSide:      'lib-event.c:1445,3'
              BranchSideFuncs:
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - i_memcpy.2056
        - Branch String:   'lib-event.c:1445,3'
          Branch Sides:
            - BranchSide:      'lib-event.c:1446,4'
              BranchSideFuncs:
                - str_append_c.2096
                - str_append_c.2096
                - str_append_tabescaped
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
                - i_memcpy.2056
            - BranchSide:      'lib-event.c:1450,2'
              BranchSideFuncs:
                - array_is_created_i.2054
                - str_append_c.2096
                - event_export_field_value
        - Branch String:   'lib-event.c:1452,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:1452,6'
              BranchSideFuncs:
                - str_append_c.2096
                - event_export_field_value
            - BranchSide:      'lib-event.c:1454,3'
              BranchSideFuncs:
                - str_append_c.2096
                - event_export_field_value
        - Branch String:   'lib-event.c:1454,3'
          Branch Sides:
            - BranchSide:      'lib-event.c:1455,4'
              BranchSideFuncs:
                - str_append_c.2096
                - event_export_field_value
            - BranchSide:      'lib-event.c:1458,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-event.c:1416,2'
          Dst:             str_printfa
        - Src:             'lib-event.c:1422,3'
          Dst:             str_append_c
        - Src:             'lib-event.c:1423,3'
          Dst:             str_append_c
        - Src:             'lib-event.c:1424,3'
          Dst:             str_append_tabescaped
        - Src:             'lib-event.c:1425,3'
          Dst:             str_printfa
        - Src:             'lib-event.c:1428,3'
          Dst:             str_append_c
        - Src:             'lib-event.c:1429,3'
          Dst:             str_append_c
        - Src:             'lib-event.c:1432,3'
          Dst:             str_printfa
        - Src:             'lib-event.c:1438,3'
          Dst:             str_append_c
        - Src:             'lib-event.c:1439,3'
          Dst:             str_append_c
        - Src:             'lib-event.c:1440,3'
          Dst:             str_append_tabescaped
        - Src:             'lib-event.c:1443,6'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:1445,3'
          Dst:             i_memcpy
        - Src:             'lib-event.c:1446,4'
          Dst:             str_append_c
        - Src:             'lib-event.c:1447,4'
          Dst:             str_append_c
        - Src:             'lib-event.c:1448,4'
          Dst:             str_append_tabescaped
        - Src:             'lib-event.c:1452,6'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:1455,4'
          Dst:             str_append_c
        - Src:             'lib-event.c:1456,4'
          Dst:             event_export_field_value
    - functionName:    event_import
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1462
      functionLinenumberEnd: 1464
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - str
        - error_r
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_import_unescaped
        - t_strsplit_tabescaped
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-event.c:1463,39'
          Dst:             t_strsplit_tabescaped
        - Src:             'lib-event.c:1463,9'
          Dst:             event_import_unescaped
    - functionName:    event_flatten
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - src
      BBCount:         12
      ICount:          90
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - event_create_internal
        - event_flatten_recurse
        - event_ref
        - event_set_name
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:269,26'
          Branch Sides:
            - BranchSide:      'lib-event.c:269,29'
              BranchSideFuncs:
                - event_create_internal
                - event_set_name
                - event_flatten_recurse
                - event_flatten_recurse
                - event_ref
            - BranchSide:      'lib-event.c:274,36'
              BranchSideFuncs:
                - event_create_internal
                - event_set_name
                - event_flatten_recurse
                - event_flatten_recurse
        - Branch String:   'lib-event.c:269,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:270,20'
              BranchSideFuncs:
                - event_ref
            - BranchSide:      'lib-event.c:274,36'
              BranchSideFuncs:
                - event_create_internal
                - event_set_name
                - event_flatten_recurse
                - event_flatten_recurse
        - Branch String:   'lib-event.c:278,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:279,25'
              BranchSideFuncs:
                - event_flatten_recurse
                - event_flatten_recurse
            - BranchSide:      'lib-event.c:280,24'
              BranchSideFuncs:
                - event_flatten_recurse
      Callsites:
        - Src:             'lib-event.c:270,10'
          Dst:             event_ref
        - Src:             'lib-event.c:274,8'
          Dst:             event_create_internal
        - Src:             'lib-event.c:276,8'
          Dst:             event_set_name
        - Src:             'lib-event.c:279,3'
          Dst:             event_flatten_recurse
        - Src:             'lib-event.c:280,2'
          Dst:             event_flatten_recurse
    - functionName:    event_has_all_fields
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - other
      BBCount:         12
      ICount:          77
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - array_is_created_i
        - buffer_get_modifiable_data
        - event_find_field_nonrecursive
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:224,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:225,3'
              BranchSideFuncs:
                - buffer_get_modifiable_data
                - event_find_field_nonrecursive
            - BranchSide:      'lib-event.c:226,2'
              BranchSideFuncs:
                - buffer_get_modifiable_data
                - event_find_field_nonrecursive
        - Branch String:   'lib-event.c:226,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:227,37'
              BranchSideFuncs:
                - event_find_field_nonrecursive
            - BranchSide:      'lib-event.c:230,2'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:227,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:228,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-event.c:229,2'
              BranchSideFuncs:
                - event_find_field_nonrecursive
      Callsites:
        - Src:             'lib-event.c:224,7'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:226,2'
          Dst:             buffer_get_modifiable_data
        - Src:             'lib-event.c:227,7'
          Dst:             event_find_field_nonrecursive
    - functionName:    event_has_all_categories
      functionSourceFile: '/src/dovecot/src/lib/lib-event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - other
      BBCount:         14
      ICount:          84
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - array_is_created_i
        - buffer_get_modifiable_data
        - event_find_category
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-event.c:210,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:211,3'
              BranchSideFuncs:
                - array_is_created_i.2054
                - buffer_get_modifiable_data
                - event_find_category
            - BranchSide:      'lib-event.c:212,7'
              BranchSideFuncs:
                - array_is_created_i.2054
                - buffer_get_modifiable_data
                - event_find_category
        - Branch String:   'lib-event.c:212,6'
          Branch Sides:
            - BranchSide:      'lib-event.c:213,3'
              BranchSideFuncs:
                - buffer_get_modifiable_data
                - event_find_category
            - BranchSide:      'lib-event.c:214,2'
              BranchSideFuncs:
                - buffer_get_modifiable_data
                - event_find_category
        - Branch String:   'lib-event.c:214,2'
          Branch Sides:
            - BranchSide:      'lib-event.c:215,28'
              BranchSideFuncs:
                - event_find_category
            - BranchSide:      'lib-event.c:218,2'
              BranchSideFuncs: []
        - Branch String:   'lib-event.c:215,7'
          Branch Sides:
            - BranchSide:      'lib-event.c:216,4'
              BranchSideFuncs:
                - event_find_category
            - BranchSide:      'lib-event.c:217,2'
              BranchSideFuncs:
                - event_find_category
      Callsites:
        - Src:             'lib-event.c:210,7'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:212,7'
          Dst:             array_is_created_i
        - Src:             'lib-event.c:214,2'
          Dst:             buffer_get_modifiable_data
        - Src:             'lib-event.c:215,8'
          Dst:             event_find_category
    - functionName:    sig_ignore
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signo
        - si
        - context
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sig_handler
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signo
        - si
        - context
      BBCount:         24
      ICount:          126
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - lib_signal_delayed
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-signals.c:156,16'
          Branch Sides:
            - BranchSide:      'lib-signals.c:156,19'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:157,3'
              BranchSideFuncs: []
        - Branch String:   'lib-signals.c:156,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:157,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:159,6'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - lib_signal_delayed
        - Branch String:   'lib-signals.c:159,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:159,6'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - lib_signal_delayed
            - BranchSide:      'lib-signals.c:160,22'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - lib_signal_delayed
        - Branch String:   'lib-signals.c:159,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:159,6'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - lib_signal_delayed
            - BranchSide:      'lib-signals.c:160,22'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - lib_signal_delayed
        - Branch String:   'lib-signals.c:159,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:160,22'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - lib_signal_delayed
            - BranchSide:      'lib-signals.c:165,16'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - lib_signal_delayed
        - Branch String:   'lib-signals.c:166,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:167,7'
              BranchSideFuncs:
                - lib_signal_delayed
                - __errno_location
            - BranchSide:      'lib-signals.c:172,10'
              BranchSideFuncs:
                - __errno_location
        - Branch String:   'lib-signals.c:167,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:168,4'
              BranchSideFuncs:
                - __errno_location
                - lib_signal_delayed
            - BranchSide:      'lib-signals.c:170,23'
              BranchSideFuncs:
                - lib_signal_delayed
                - __errno_location
      Callsites:
        - Src:             'lib-signals.c:165,16'
          Dst:             __errno_location
        - Src:             'lib-signals.c:170,4'
          Dst:             lib_signal_delayed
        - Src:             'lib-signals.c:172,2'
          Dst:             __errno_location
    - functionName:    lib_signal_delayed
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - si
      BBCount:         11
      ICount:          63
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lib_signals_syscall_error
        - write
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-signals.c:118,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:119,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:121,18'
              BranchSideFuncs:
                - write
                - lib_signals_syscall_error
        - Branch String:   'lib-signals.c:122,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:122,6'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:123,8'
              BranchSideFuncs:
                - write
                - lib_signals_syscall_error
        - Branch String:   'lib-signals.c:124,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:125,4'
              BranchSideFuncs:
                - lib_signals_syscall_error
            - BranchSide:      'lib-signals.c:128,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-signals.c:124,7'
          Dst:             write
        - Src:             'lib-signals.c:125,4'
          Dst:             lib_signals_syscall_error
    - functionName:    lib_signals_syscall_error
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 673
      functionLinenumberEnd: 691
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - prefix
      BBCount:         6
      ICount:          77
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - dec2str_buf
        - i_memcpy
        - strlen
        - write_full
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-signals.c:687,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:687,6'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:690,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-signals.c:678,37'
          Dst:             __errno_location
        - Src:             'lib-signals.c:678,14'
          Dst:             dec2str_buf
        - Src:             'lib-signals.c:680,22'
          Dst:             strlen
        - Src:             'lib-signals.c:681,25'
          Dst:             strlen
        - Src:             'lib-signals.c:684,2'
          Dst:             i_memcpy
        - Src:             'lib-signals.c:685,2'
          Dst:             i_memcpy
        - Src:             'lib-signals.c:687,6'
          Dst:             write_full
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    1
      BranchProfiles:
        - Branch String:   './array.h:149,3'
          Branch Sides:
            - BranchSide:      './array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.2246
            - BranchSide:      './array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.2246
      Callsites:
        - Src:             './array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             './array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    array_delete_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
        - count
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:244,2'
          Dst:             buffer_delete
    - functionName:    array_get_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - count_r
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:253,13'
          Dst:             array_count_i
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    signal_shadow
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - signo
        - si
      BBCount:         17
      ICount:          95
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - array_create_i
        - array_get_i
        - array_idx_set_i
        - array_is_created_i
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-signals.c:315,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:316,3'
              BranchSideFuncs:
                - array_get_i.2249
                - array_idx_set_i
                - i_panic
            - BranchSide:      'lib-signals.c:317,8'
              BranchSideFuncs:
                - array_get_i.2249
                - array_idx_set_i
                - i_panic
        - Branch String:   'lib-signals.c:318,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:318,2'
              BranchSideFuncs:
                - array_idx_set_i
                - i_panic
            - BranchSide:      'lib-signals.c:319,3'
              BranchSideFuncs:
                - array_idx_set_i
                - i_panic
        - Branch String:   'lib-signals.c:319,3'
          Branch Sides:
            - BranchSide:      'lib-signals.c:319,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:320,7'
              BranchSideFuncs:
                - array_idx_set_i
                - i_panic
        - Branch String:   'lib-signals.c:320,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:321,4'
              BranchSideFuncs:
                - array_idx_set_i
            - BranchSide:      'lib-signals.c:322,2'
              BranchSideFuncs:
                - array_idx_set_i
                - i_panic
      Callsites:
        - Src:             'lib-signals.c:315,7'
          Dst:             array_is_created_i
        - Src:             'lib-signals.c:316,3'
          Dst:             array_create_i
        - Src:             'lib-signals.c:317,8'
          Dst:             array_get_i
        - Src:             'lib-signals.c:319,3'
          Dst:             i_panic
        - Src:             'lib-signals.c:323,2'
          Dst:             array_idx_set_i
    - functionName:    array_is_created_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    signal_handle_shadowed
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         38
      ICount:          201
      EdgeCount:       47
      CyclomaticComplexity: 11
      functionsReached:
        - array_count_i
        - array_delete_i
        - array_get_i
        - array_is_created_i
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-signals.c:261,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:258,19'
              BranchSideFuncs:
                - array_is_created_i.2251
                - array_count_i.2250
                - array_get_i.2249
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
            - BranchSide:      'lib-signals.c:261,7'
              BranchSideFuncs:
                - array_is_created_i.2251
                - array_count_i.2250
                - array_get_i.2249
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
        - Branch String:   'lib-signals.c:261,51'
          Branch Sides:
            - BranchSide:      'lib-signals.c:262,6'
              BranchSideFuncs:
                - array_count_i.2250
                - array_get_i.2249
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
            - BranchSide:      'lib-signals.c:263,3'
              BranchSideFuncs: []
        - Branch String:   'lib-signals.c:261,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:263,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:265,8'
              BranchSideFuncs:
                - array_get_i.2249
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
        - Branch String:   'lib-signals.c:266,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:266,2'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
            - BranchSide:      'lib-signals.c:268,8'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
        - Branch String:   'lib-signals.c:270,3'
          Branch Sides:
            - BranchSide:      'lib-signals.c:270,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:271,28'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
        - Branch String:   'lib-signals.c:271,3'
          Branch Sides:
            - BranchSide:      'lib-signals.c:273,4'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
            - BranchSide:      'lib-signals.c:286,8'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
        - Branch String:   'lib-signals.c:273,4'
          Branch Sides:
            - BranchSide:      'lib-signals.c:273,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:274,8'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
        - Branch String:   'lib-signals.c:274,35'
          Branch Sides:
            - BranchSide:      'lib-signals.c:275,9'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
            - BranchSide:      'lib-signals.c:276,5'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
        - Branch String:   'lib-signals.c:274,8'
          Branch Sides:
            - BranchSide:      'lib-signals.c:276,5'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
            - BranchSide:      'lib-signals.c:277,8'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
        - Branch String:   'lib-signals.c:277,20'
          Branch Sides:
            - BranchSide:      'lib-signals.c:278,8'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
            - BranchSide:      'lib-signals.c:283,4'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
        - Branch String:   'lib-signals.c:277,8'
          Branch Sides:
            - BranchSide:      'lib-signals.c:279,14'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
            - BranchSide:      'lib-signals.c:283,4'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
        - Branch String:   'lib-signals.c:286,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:289,4'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
            - BranchSide:      'lib-signals.c:292,2'
              BranchSideFuncs:
                - array_delete_i.2248
                - array_get_i.2249
                - i_panic
                - i_panic
      Callsites:
        - Src:             'lib-signals.c:261,7'
          Dst:             array_is_created_i
        - Src:             'lib-signals.c:262,6'
          Dst:             array_count_i
        - Src:             'lib-signals.c:265,8'
          Dst:             array_get_i
        - Src:             'lib-signals.c:270,3'
          Dst:             i_panic
        - Src:             'lib-signals.c:273,4'
          Dst:             i_panic
        - Src:             'lib-signals.c:289,4'
          Dst:             array_delete_i
        - Src:             'lib-signals.c:290,10'
          Dst:             array_get_i
    - functionName:    signal_read
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 398
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - context
      BBCount:         47
      ICount:          250
      EdgeCount:       57
      CyclomaticComplexity: 12
      functionsReached:
        - __errno_location
        - i_fatal
        - i_memcpy
        - i_panic
        - read
        - sigfillset
        - signal_handle_shadowed
        - signal_shadow
        - sigprocmask
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-signals.c:335,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:336,19'
              BranchSideFuncs:
                - signal_handle_shadowed
                - sigfillset
                - sigprocmask
                - read
                - i_fatal
                - __errno_location
                - sigprocmask
                - signal_shadow
                - i_panic
                - i_fatal
                - i_fatal
                - i_memcpy.2241
                - i_fatal
                - i_fatal
            - BranchSide:      'lib-signals.c:342,6'
              BranchSideFuncs:
                - sigfillset
                - sigprocmask
                - read
                - i_fatal
                - __errno_location
                - sigprocmask
                - signal_shadow
                - i_panic
                - i_fatal
                - i_fatal
                - i_memcpy.2241
                - i_fatal
                - i_fatal
        - Branch String:   'lib-signals.c:342,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:343,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'lib-signals.c:344,6'
              BranchSideFuncs:
                - sigprocmask
                - read
                - i_fatal
                - __errno_location
                - sigprocmask
                - signal_shadow
                - i_panic
                - i_fatal
                - i_fatal
                - i_memcpy.2241
                - i_fatal
        - Branch String:   'lib-signals.c:344,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:345,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'lib-signals.c:349,13'
              BranchSideFuncs:
                - read
                - i_fatal
                - __errno_location
                - sigprocmask
                - signal_shadow
                - i_panic
                - i_fatal
                - i_fatal
                - i_memcpy.2241
        - Branch String:   'lib-signals.c:350,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:351,3'
              BranchSideFuncs:
                - i_memcpy.2241
                - sigprocmask
                - signal_shadow
                - i_panic
                - i_fatal
            - BranchSide:      'lib-signals.c:354,13'
              BranchSideFuncs:
                - i_fatal
                - __errno_location
                - sigprocmask
                - signal_shadow
                - i_panic
                - i_fatal
                - i_fatal
        - Branch String:   'lib-signals.c:354,13'
          Branch Sides:
            - BranchSide:      'lib-signals.c:355,7'
              BranchSideFuncs:
                - __errno_location
                - sigprocmask
                - signal_shadow
                - i_panic
                - i_fatal
                - i_fatal
            - BranchSide:      'lib-signals.c:358,3'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'lib-signals.c:355,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:356,4'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'lib-signals.c:357,2'
              BranchSideFuncs:
                - sigprocmask
                - signal_shadow
                - i_panic
                - i_fatal
        - Branch String:   'lib-signals.c:360,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:361,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'lib-signals.c:363,6'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
        - Branch String:   'lib-signals.c:363,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:364,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:367,13'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
        - Branch String:   'lib-signals.c:367,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:367,2'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
            - BranchSide:      'lib-signals.c:368,8'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
        - Branch String:   'lib-signals.c:370,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:371,4'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
            - BranchSide:      'lib-signals.c:373,28'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
        - Branch String:   'lib-signals.c:373,3'
          Branch Sides:
            - BranchSide:      'lib-signals.c:374,4'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
            - BranchSide:      'lib-signals.c:392,7'
              BranchSideFuncs:
                - i_panic
                - signal_shadow
        - Branch String:   'lib-signals.c:374,4'
          Branch Sides:
            - BranchSide:      'lib-signals.c:374,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:375,8'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
        - Branch String:   'lib-signals.c:375,8'
          Branch Sides:
            - BranchSide:      'lib-signals.c:378,5'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
            - BranchSide:      'lib-signals.c:380,9'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
        - Branch String:   'lib-signals.c:380,54'
          Branch Sides:
            - BranchSide:      'lib-signals.c:381,8'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
            - BranchSide:      'lib-signals.c:389,4'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
        - Branch String:   'lib-signals.c:380,8'
          Branch Sides:
            - BranchSide:      'lib-signals.c:384,5'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
            - BranchSide:      'lib-signals.c:389,4'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
        - Branch String:   'lib-signals.c:392,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:395,18'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
            - BranchSide:      'lib-signals.c:397,2'
              BranchSideFuncs:
                - signal_shadow
                - i_panic
      Callsites:
        - Src:             'lib-signals.c:339,3'
          Dst:             signal_handle_shadowed
        - Src:             'lib-signals.c:342,6'
          Dst:             sigfillset
        - Src:             'lib-signals.c:343,3'
          Dst:             i_fatal
        - Src:             'lib-signals.c:344,6'
          Dst:             sigprocmask
        - Src:             'lib-signals.c:345,3'
          Dst:             i_fatal
        - Src:             'lib-signals.c:349,8'
          Dst:             read
        - Src:             'lib-signals.c:351,3'
          Dst:             i_memcpy
        - Src:             'lib-signals.c:355,7'
          Dst:             __errno_location
        - Src:             'lib-signals.c:356,4'
          Dst:             i_fatal
        - Src:             'lib-signals.c:358,3'
          Dst:             i_fatal
        - Src:             'lib-signals.c:360,6'
          Dst:             sigprocmask
        - Src:             'lib-signals.c:361,3'
          Dst:             i_fatal
        - Src:             'lib-signals.c:374,4'
          Dst:             i_panic
        - Src:             'lib-signals.c:395,4'
          Dst:             signal_shadow
    - functionName:    sigfillset
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sigprocmask
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lib_signals_init_io
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - l
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - io_add_to
        - io_set_never_wait_alone
        - signal_read
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-signals.c:200,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:202,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:205,10'
              BranchSideFuncs:
                - io_add_to
                - io_set_never_wait_alone
      Callsites:
        - Src:             'lib-signals.c:205,10'
          Dst:             io_add_to
        - Src:             'lib-signals.c:205,10'
          Dst:             signal_read
        - Src:             'lib-signals.c:206,2'
          Dst:             io_set_never_wait_alone
    - functionName:    lib_signals_ioloop_find
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         8
      ICount:          39
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib-signals.c:191,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:191,2'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:192,7'
              BranchSideFuncs: []
        - Branch String:   'lib-signals.c:192,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:193,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:194,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    lib_signals_ioloop_ref
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         11
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - lib_signals_init_io
        - lib_signals_ioloop_find
        - malloc_multiply_check
        - p_malloc
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-signals.c:215,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:215,6'
              BranchSideFuncs:
                - malloc_multiply_check.2260
                - p_malloc.2261
                - lib_signals_init_io
            - BranchSide:      'lib-signals.c:216,7'
              BranchSideFuncs:
                - malloc_multiply_check.2260
                - p_malloc.2261
                - lib_signals_init_io
        - Branch String:   'lib-signals.c:219,3'
          Branch Sides:
            - BranchSide:      'lib-signals.c:219,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:220,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-signals.c:214,6'
          Dst:             lib_signals_ioloop_find
        - Src:             'lib-signals.c:216,7'
          Dst:             malloc_multiply_check
        - Src:             'lib-signals.c:216,7'
          Dst:             p_malloc
        - Src:             'lib-signals.c:218,3'
          Dst:             lib_signals_init_io
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    array_free_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:159,2'
          Dst:             buffer_free
    - functionName:    lib_signals_deinit
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 729
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         30
      ICount:          129
      EdgeCount:       36
      CyclomaticComplexity: 8
      functionsReached:
        - array_free_i
        - array_is_created_i
        - close
        - i_error
        - i_panic
        - lib_signals_clear_handlers_and_ignore
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-signals.c:712,9'
          Branch Sides:
            - BranchSide:      'lib-signals.c:710,6'
              BranchSideFuncs:
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
                - close
                - close
                - i_error
                - i_error
                - i_panic
                - lib_signals_clear_handlers_and_ignore
            - BranchSide:      'lib-signals.c:712,14'
              BranchSideFuncs:
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
                - close
                - close
                - i_error
                - i_error
                - i_panic
                - lib_signals_clear_handlers_and_ignore
        - Branch String:   'lib-signals.c:712,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:713,23'
              BranchSideFuncs:
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
                - close
                - close
                - i_error
                - i_error
                - i_panic
                - lib_signals_clear_handlers_and_ignore
            - BranchSide:      'lib-signals.c:716,2'
              BranchSideFuncs:
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
                - close
                - close
                - i_error
                - i_error
                - i_panic
        - Branch String:   'lib-signals.c:713,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:714,42'
              BranchSideFuncs:
                - lib_signals_clear_handlers_and_ignore
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
                - close
                - close
                - i_error
                - i_error
                - i_panic
            - BranchSide:      'lib-signals.c:715,2'
              BranchSideFuncs:
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
                - close
                - close
                - i_error
                - i_error
                - i_panic
                - lib_signals_clear_handlers_and_ignore
        - Branch String:   'lib-signals.c:716,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:716,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:718,6'
              BranchSideFuncs:
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
                - close
                - close
                - i_error
                - i_error
        - Branch String:   'lib-signals.c:718,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:719,13'
              BranchSideFuncs:
                - close
                - close
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
                - i_error
                - i_error
            - BranchSide:      'lib-signals.c:726,6'
              BranchSideFuncs:
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
        - Branch String:   'lib-signals.c:719,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:720,4'
              BranchSideFuncs:
                - i_error
                - close
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
                - i_error
            - BranchSide:      'lib-signals.c:721,13'
              BranchSideFuncs:
                - close
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
                - i_error
        - Branch String:   'lib-signals.c:721,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:722,4'
              BranchSideFuncs:
                - i_error
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
            - BranchSide:      'lib-signals.c:723,35'
              BranchSideFuncs:
                - array_is_created_i.2251
                - i_panic
                - array_free_i.2265
        - Branch String:   'lib-signals.c:726,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:727,3'
              BranchSideFuncs:
                - array_free_i.2265
                - i_panic
            - BranchSide:      'lib-signals.c:728,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'lib-signals.c:728,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:728,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:728,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-signals.c:714,4'
          Dst:             lib_signals_clear_handlers_and_ignore
        - Src:             'lib-signals.c:716,2'
          Dst:             i_panic
        - Src:             'lib-signals.c:719,7'
          Dst:             close
        - Src:             'lib-signals.c:720,4'
          Dst:             i_error
        - Src:             'lib-signals.c:721,7'
          Dst:             close
        - Src:             'lib-signals.c:722,4'
          Dst:             i_error
        - Src:             'lib-signals.c:726,6'
          Dst:             array_is_created_i
        - Src:             'lib-signals.c:727,3'
          Dst:             array_free_i
        - Src:             'lib-signals.c:728,2'
          Dst:             i_panic
    - functionName:    lib_signals_clear_handlers_and_ignore
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 603
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - signo
      BBCount:         12
      ICount:          73
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lib_signals_ignore_forced
        - signal_handler_free
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-signals.c:587,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:588,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:590,28'
              BranchSideFuncs:
                - lib_signals_ignore_forced
                - signal_handler_free
        - Branch String:   'lib-signals.c:595,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:595,2'
              BranchSideFuncs:
                - signal_handler_free
            - BranchSide:      'lib-signals.c:596,35'
              BranchSideFuncs:
                - signal_handler_free
        - Branch String:   'lib-signals.c:598,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:599,20'
              BranchSideFuncs:
                - signal_handler_free
            - BranchSide:      'lib-signals.c:600,23'
              BranchSideFuncs:
                - signal_handler_free
      Callsites:
        - Src:             'lib-signals.c:590,2'
          Dst:             lib_signals_ignore_forced
        - Src:             'lib-signals.c:600,3'
          Dst:             signal_handler_free
    - functionName:    lib_signals_ignore_forced
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 549
      functionLinenumberEnd: 569
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - bool
      constantsTouched: []
      argNames:
        - signo
        - restart_syscalls
      BBCount:         10
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_fatal
        - sigaction
        - sigemptyset
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib-signals.c:552,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:553,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'lib-signals.c:554,6'
              BranchSideFuncs:
                - sigaction
                - i_fatal
        - Branch String:   'lib-signals.c:554,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:555,7'
              BranchSideFuncs:
                - sigaction
                - i_fatal
            - BranchSide:      'lib-signals.c:559,7'
              BranchSideFuncs:
                - sigaction
                - i_fatal
        - Branch String:   'lib-signals.c:567,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:568,32'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'lib-signals.c:569,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-signals.c:552,6'
          Dst:             sigemptyset
        - Src:             'lib-signals.c:553,3'
          Dst:             i_fatal
        - Src:             'lib-signals.c:567,6'
          Dst:             sigaction
        - Src:             'lib-signals.c:568,3'
          Dst:             i_fatal
    - functionName:    signal_handler_free
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - h
      BBCount:         5
      ICount:          26
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - lib_signals_ioloop_unref
        - p_free_internal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-signals.c:252,2'
          Dst:             lib_signals_ioloop_unref
        - Src:             'lib-signals.c:253,2'
          Dst:             p_free_internal
    - functionName:    lib_signals_ioloop_unref
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _sig_ioloop
      BBCount:         24
      ICount:          134
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached:
        - i_panic
        - io_remove
        - p_free_internal
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib-signals.c:231,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:232,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:233,2'
              BranchSideFuncs:
                - io_remove
                - p_free_internal.2264
                - i_panic
        - Branch String:   'lib-signals.c:233,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:233,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:234,8'
              BranchSideFuncs:
                - io_remove
                - p_free_internal.2264
        - Branch String:   'lib-signals.c:234,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:235,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:236,13'
              BranchSideFuncs:
                - io_remove
                - p_free_internal.2264
        - Branch String:   'lib-signals.c:237,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:237,2'
              BranchSideFuncs:
                - p_free_internal.2264
            - BranchSide:      'lib-signals.c:237,2'
              BranchSideFuncs:
                - p_free_internal.2264
        - Branch String:   'lib-signals.c:237,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:237,2'
              BranchSideFuncs:
                - p_free_internal.2264
            - BranchSide:      'lib-signals.c:238,2'
              BranchSideFuncs:
                - p_free_internal.2264
      Callsites:
        - Src:             'lib-signals.c:233,2'
          Dst:             i_panic
        - Src:             'lib-signals.c:236,2'
          Dst:             io_remove
        - Src:             'lib-signals.c:238,2'
          Dst:             p_free_internal
    - functionName:    sigemptyset
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sigaction
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lib_signals_ioloop_destroyed
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ioloop
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - io_remove
        - lib_signals_ioloop_find
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-signals.c:455,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:455,6'
              BranchSideFuncs:
                - io_remove
            - BranchSide:      'lib-signals.c:456,14'
              BranchSideFuncs:
                - io_remove
      Callsites:
        - Src:             'lib-signals.c:454,15'
          Dst:             lib_signals_ioloop_find
        - Src:             'lib-signals.c:456,3'
          Dst:             io_remove
    - functionName:    lib_signals_ioloop_switched
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - prev_ioloop
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lib_signals_ioloop_switch
        - signal_check_shadowed
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib-signals.c:444,2'
          Dst:             lib_signals_ioloop_switch
        - Src:             'lib-signals.c:447,2'
          Dst:             signal_check_shadowed
    - functionName:    lib_signals_ioloop_switch
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 438
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         23
      ICount:          104
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - lib_signals_ioloop_ref
        - lib_signals_ioloop_unref
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-signals.c:424,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:422,25'
              BranchSideFuncs:
                - lib_signals_ioloop_ref
                - lib_signals_ioloop_unref
            - BranchSide:      'lib-signals.c:424,6'
              BranchSideFuncs:
                - lib_signals_ioloop_ref
                - lib_signals_ioloop_unref
        - Branch String:   'lib-signals.c:424,29'
          Branch Sides:
            - BranchSide:      'lib-signals.c:424,32'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:425,3'
              BranchSideFuncs: []
        - Branch String:   'lib-signals.c:424,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:425,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:429,11'
              BranchSideFuncs:
                - lib_signals_ioloop_ref
                - lib_signals_ioloop_unref
        - Branch String:   'lib-signals.c:429,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:430,28'
              BranchSideFuncs:
                - lib_signals_ioloop_ref
                - lib_signals_ioloop_unref
            - BranchSide:      'lib-signals.c:437,23'
              BranchSideFuncs: []
        - Branch String:   'lib-signals.c:430,3'
          Branch Sides:
            - BranchSide:      'lib-signals.c:431,9'
              BranchSideFuncs:
                - lib_signals_ioloop_ref
                - lib_signals_ioloop_unref
            - BranchSide:      'lib-signals.c:436,2'
              BranchSideFuncs:
                - lib_signals_ioloop_ref
                - lib_signals_ioloop_unref
        - Branch String:   'lib-signals.c:431,8'
          Branch Sides:
            - BranchSide:      'lib-signals.c:432,31'
              BranchSideFuncs:
                - lib_signals_ioloop_unref
                - lib_signals_ioloop_ref
            - BranchSide:      'lib-signals.c:433,8'
              BranchSideFuncs:
                - lib_signals_ioloop_unref
                - lib_signals_ioloop_ref
        - Branch String:   'lib-signals.c:433,8'
          Branch Sides:
            - BranchSide:      'lib-signals.c:434,44'
              BranchSideFuncs:
                - lib_signals_ioloop_ref
                - lib_signals_ioloop_unref
            - BranchSide:      'lib-signals.c:435,3'
              BranchSideFuncs:
                - lib_signals_ioloop_ref
                - lib_signals_ioloop_unref
      Callsites:
        - Src:             'lib-signals.c:432,5'
          Dst:             lib_signals_ioloop_unref
        - Src:             'lib-signals.c:434,21'
          Dst:             lib_signals_ioloop_ref
    - functionName:    signal_check_shadowed
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          46
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - array_count_i
        - array_is_created_i
        - io_set_pending
        - lib_signals_ioloop_find
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-signals.c:299,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:297,24'
              BranchSideFuncs:
                - array_is_created_i.2251
                - array_count_i.2250
                - lib_signals_ioloop_find
                - io_set_pending
            - BranchSide:      'lib-signals.c:299,7'
              BranchSideFuncs:
                - array_is_created_i.2251
                - array_count_i.2250
                - lib_signals_ioloop_find
                - io_set_pending
        - Branch String:   'lib-signals.c:299,51'
          Branch Sides:
            - BranchSide:      'lib-signals.c:300,6'
              BranchSideFuncs:
                - array_count_i.2250
                - lib_signals_ioloop_find
                - io_set_pending
            - BranchSide:      'lib-signals.c:301,3'
              BranchSideFuncs: []
        - Branch String:   'lib-signals.c:299,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:301,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:303,39'
              BranchSideFuncs:
                - lib_signals_ioloop_find
                - io_set_pending
        - Branch String:   'lib-signals.c:304,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:304,6'
              BranchSideFuncs:
                - io_set_pending
            - BranchSide:      'lib-signals.c:305,18'
              BranchSideFuncs:
                - io_set_pending
      Callsites:
        - Src:             'lib-signals.c:299,7'
          Dst:             array_is_created_i
        - Src:             'lib-signals.c:300,6'
          Dst:             array_count_i
        - Src:             'lib-signals.c:303,15'
          Dst:             lib_signals_ioloop_find
        - Src:             'lib-signals.c:305,3'
          Dst:             io_set_pending
    - functionName:    lib_signals_init
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 694
      functionLinenumberEnd: 706
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          55
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - io_loop_add_destroy_callback
        - io_loop_add_switch_callback
        - lib_signals_ioloop_destroyed
        - lib_signals_ioloop_switched
        - lib_signals_set
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-signals.c:697,22'
          Branch Sides:
            - BranchSide:      'lib-signals.c:695,6'
              BranchSideFuncs:
                - io_loop_add_switch_callback
                - io_loop_add_destroy_callback
                - lib_signals_set
            - BranchSide:      'lib-signals.c:702,14'
              BranchSideFuncs:
                - io_loop_add_switch_callback
                - io_loop_add_destroy_callback
                - lib_signals_set
        - Branch String:   'lib-signals.c:702,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:703,23'
              BranchSideFuncs:
                - lib_signals_set
            - BranchSide:      'lib-signals.c:706,1'
              BranchSideFuncs: []
        - Branch String:   'lib-signals.c:703,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:704,20'
              BranchSideFuncs:
                - lib_signals_set
            - BranchSide:      'lib-signals.c:705,2'
              BranchSideFuncs:
                - lib_signals_set
      Callsites:
        - Src:             'lib-signals.c:698,2'
          Dst:             io_loop_add_switch_callback
        - Src:             'lib-signals.c:698,2'
          Dst:             lib_signals_ioloop_switched
        - Src:             'lib-signals.c:699,2'
          Dst:             io_loop_add_destroy_callback
        - Src:             'lib-signals.c:699,2'
          Dst:             lib_signals_ioloop_destroyed
        - Src:             'lib-signals.c:704,4'
          Dst:             lib_signals_set
    - functionName:    lib_signals_set
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 482
      functionLinenumberEnd: 498
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - signo
        - flags
      BBCount:         10
      ICount:          64
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_fatal
        - sigaction
        - sigemptyset
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-signals.c:485,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:486,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'lib-signals.c:488,6'
              BranchSideFuncs:
                - sigaction
                - i_fatal
        - Branch String:   'lib-signals.c:494,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:495,7'
              BranchSideFuncs:
                - sigaction
                - i_fatal
            - BranchSide:      'lib-signals.c:496,16'
              BranchSideFuncs:
                - sigaction
                - i_fatal
        - Branch String:   'lib-signals.c:496,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:497,32'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'lib-signals.c:498,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-signals.c:485,6'
          Dst:             sigemptyset
        - Src:             'lib-signals.c:486,3'
          Dst:             i_fatal
        - Src:             'lib-signals.c:496,6'
          Dst:             sigaction
        - Src:             'lib-signals.c:497,3'
          Dst:             i_fatal
    - functionName:    lib_signals_switch_ioloop
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 654
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signo
        - handler
        - context
      BBCount:         16
      ICount:          94
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - signal_check_shadowed
        - signal_handler_switch_ioloop
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-signals.c:657,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:658,7'
              BranchSideFuncs:
                - i_panic
                - signal_handler_switch_ioloop
                - signal_check_shadowed
                - i_panic
            - BranchSide:      'lib-signals.c:669,3'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'lib-signals.c:658,37'
          Branch Sides:
            - BranchSide:      'lib-signals.c:658,40'
              BranchSideFuncs:
                - i_panic
                - signal_handler_switch_ioloop
                - signal_check_shadowed
                - i_panic
            - BranchSide:      'lib-signals.c:666,2'
              BranchSideFuncs:
                - i_panic
                - signal_handler_switch_ioloop
                - signal_check_shadowed
                - i_panic
        - Branch String:   'lib-signals.c:658,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:659,4'
              BranchSideFuncs:
                - signal_handler_switch_ioloop
                - signal_check_shadowed
                - i_panic
            - BranchSide:      'lib-signals.c:666,2'
              BranchSideFuncs:
                - i_panic
                - signal_handler_switch_ioloop
                - signal_check_shadowed
                - i_panic
        - Branch String:   'lib-signals.c:659,4'
          Branch Sides:
            - BranchSide:      'lib-signals.c:659,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:659,4'
              BranchSideFuncs:
                - signal_handler_switch_ioloop
                - signal_check_shadowed
      Callsites:
        - Src:             'lib-signals.c:659,4'
          Dst:             i_panic
        - Src:             'lib-signals.c:660,4'
          Dst:             signal_handler_switch_ioloop
        - Src:             'lib-signals.c:663,4'
          Dst:             signal_check_shadowed
        - Src:             'lib-signals.c:668,2'
          Dst:             i_panic
    - functionName:    signal_handler_switch_ioloop
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - h
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lib_signals_ioloop_ref
        - lib_signals_ioloop_unref
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-signals.c:244,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:245,42'
              BranchSideFuncs:
                - lib_signals_ioloop_ref
            - BranchSide:      'lib-signals.c:247,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'lib-signals.c:243,2'
          Dst:             lib_signals_ioloop_unref
        - Src:             'lib-signals.c:245,19'
          Dst:             lib_signals_ioloop_ref
    - functionName:    lib_signals_set_expected
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 634
      functionLinenumberEnd: 650
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - bool
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signo
        - expected
        - handler
        - context
      BBCount:         18
      ICount:          119
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - i_panic
        - lib_signals_update_expected_signals
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-signals.c:637,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:638,8'
              BranchSideFuncs:
                - i_panic
                - lib_signals_update_expected_signals
            - BranchSide:      'lib-signals.c:649,3'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'lib-signals.c:638,40'
          Branch Sides:
            - BranchSide:      'lib-signals.c:639,42'
              BranchSideFuncs:
                - i_panic
                - lib_signals_update_expected_signals
            - BranchSide:      'lib-signals.c:639,8'
              BranchSideFuncs:
                - i_panic
                - lib_signals_update_expected_signals
        - Branch String:   'lib-signals.c:639,39'
          Branch Sides:
            - BranchSide:      'lib-signals.c:639,42'
              BranchSideFuncs:
                - i_panic
                - lib_signals_update_expected_signals
            - BranchSide:      'lib-signals.c:646,2'
              BranchSideFuncs:
                - i_panic
                - lib_signals_update_expected_signals
        - Branch String:   'lib-signals.c:638,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:640,8'
              BranchSideFuncs:
                - lib_signals_update_expected_signals
            - BranchSide:      'lib-signals.c:646,2'
              BranchSideFuncs:
                - i_panic
                - lib_signals_update_expected_signals
        - Branch String:   'lib-signals.c:640,8'
          Branch Sides:
            - BranchSide:      'lib-signals.c:641,5'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:642,18'
              BranchSideFuncs:
                - lib_signals_update_expected_signals
      Callsites:
        - Src:             'lib-signals.c:643,4'
          Dst:             lib_signals_update_expected_signals
        - Src:             'lib-signals.c:648,2'
          Dst:             i_panic
    - functionName:    lib_signals_update_expected_signals
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 401
      functionLinenumberEnd: 418
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - bool
      constantsTouched: []
      argNames:
        - expected
      BBCount:         17
      ICount:          89
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - io_set_never_wait_alone
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-signals.c:404,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:405,19'
              BranchSideFuncs:
                - io_set_never_wait_alone
            - BranchSide:      'lib-signals.c:407,3'
              BranchSideFuncs:
                - io_set_never_wait_alone
                - i_panic
        - Branch String:   'lib-signals.c:407,3'
          Branch Sides:
            - BranchSide:      'lib-signals.c:407,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:408,19'
              BranchSideFuncs:
                - io_set_never_wait_alone
        - Branch String:   'lib-signals.c:412,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:413,7'
              BranchSideFuncs:
                - io_set_never_wait_alone
            - BranchSide:      'lib-signals.c:418,1'
              BranchSideFuncs: []
        - Branch String:   'lib-signals.c:413,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:414,28'
              BranchSideFuncs:
                - io_set_never_wait_alone
            - BranchSide:      'lib-signals.c:417,2'
              BranchSideFuncs:
                - io_set_never_wait_alone
      Callsites:
        - Src:             'lib-signals.c:407,3'
          Dst:             i_panic
        - Src:             'lib-signals.c:414,4'
          Dst:             io_set_never_wait_alone
    - functionName:    lib_signals_unset_handler
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 607
      functionLinenumberEnd: 629
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signo
        - handler
        - context
      BBCount:         23
      ICount:          138
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - i_panic
        - lib_signals_ignore_forced
        - lib_signals_update_expected_signals
        - signal_handler_free
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-signals.c:610,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:611,10'
              BranchSideFuncs:
                - i_panic
                - signal_handler_free
                - lib_signals_update_expected_signals
                - lib_signals_ignore_forced
            - BranchSide:      'lib-signals.c:629,3'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'lib-signals.c:611,43'
          Branch Sides:
            - BranchSide:      'lib-signals.c:612,10'
              BranchSideFuncs:
                - i_panic
                - signal_handler_free
                - lib_signals_update_expected_signals
                - lib_signals_ignore_forced
            - BranchSide:      'lib-signals.c:613,9'
              BranchSideFuncs:
                - i_panic
                - signal_handler_free
                - lib_signals_update_expected_signals
                - lib_signals_ignore_forced
        - Branch String:   'lib-signals.c:612,42'
          Branch Sides:
            - BranchSide:      'lib-signals.c:613,9'
              BranchSideFuncs:
                - i_panic
                - signal_handler_free
                - lib_signals_update_expected_signals
                - lib_signals_ignore_forced
            - BranchSide:      'lib-signals.c:626,2'
              BranchSideFuncs:
                - i_panic
                - signal_handler_free
                - lib_signals_update_expected_signals
                - lib_signals_ignore_forced
        - Branch String:   'lib-signals.c:611,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:614,8'
              BranchSideFuncs:
                - signal_handler_free
                - lib_signals_update_expected_signals
                - lib_signals_ignore_forced
            - BranchSide:      'lib-signals.c:626,2'
              BranchSideFuncs:
                - i_panic
                - signal_handler_free
                - lib_signals_update_expected_signals
                - lib_signals_ignore_forced
        - Branch String:   'lib-signals.c:614,37'
          Branch Sides:
            - BranchSide:      'lib-signals.c:615,10'
              BranchSideFuncs:
                - signal_handler_free
                - lib_signals_update_expected_signals
                - lib_signals_ignore_forced
            - BranchSide:      'lib-signals.c:619,9'
              BranchSideFuncs:
                - signal_handler_free
                - lib_signals_update_expected_signals
        - Branch String:   'lib-signals.c:614,8'
          Branch Sides:
            - BranchSide:      'lib-signals.c:617,31'
              BranchSideFuncs:
                - lib_signals_ignore_forced
                - signal_handler_free
                - lib_signals_update_expected_signals
            - BranchSide:      'lib-signals.c:619,9'
              BranchSideFuncs:
                - signal_handler_free
                - lib_signals_update_expected_signals
        - Branch String:   'lib-signals.c:621,8'
          Branch Sides:
            - BranchSide:      'lib-signals.c:621,8'
              BranchSideFuncs:
                - lib_signals_update_expected_signals
                - signal_handler_free
            - BranchSide:      'lib-signals.c:622,5'
              BranchSideFuncs:
                - lib_signals_update_expected_signals
                - signal_handler_free
      Callsites:
        - Src:             'lib-signals.c:617,5'
          Dst:             lib_signals_ignore_forced
        - Src:             'lib-signals.c:622,5'
          Dst:             lib_signals_update_expected_signals
        - Src:             'lib-signals.c:623,4'
          Dst:             signal_handler_free
        - Src:             'lib-signals.c:628,2'
          Dst:             i_panic
    - functionName:    lib_signals_ignore
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 572
      functionLinenumberEnd: 581
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - bool
      constantsTouched: []
      argNames:
        - signo
        - restart_syscalls
      BBCount:         12
      ICount:          63
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - lib_signals_ignore_forced
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib-signals.c:573,16'
          Branch Sides:
            - BranchSide:      'lib-signals.c:573,19'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:575,4'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'lib-signals.c:573,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:575,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:578,2'
              BranchSideFuncs:
                - lib_signals_ignore_forced
                - i_panic
        - Branch String:   'lib-signals.c:578,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:578,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:578,2'
              BranchSideFuncs:
                - lib_signals_ignore_forced
      Callsites:
        - Src:             'lib-signals.c:574,3'
          Dst:             i_panic
        - Src:             'lib-signals.c:578,2'
          Dst:             i_panic
        - Src:             'lib-signals.c:580,2'
          Dst:             lib_signals_ignore_forced
    - functionName:    lib_signals_set_handler2
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 546
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signo
        - flags
        - immediate_handler
        - delayed_handler
        - context
      BBCount:         27
      ICount:          172
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - fd_close_on_exec
        - fd_set_nonblock
        - i_fatal
        - i_panic
        - lib_signals_set
        - malloc_multiply_check
        - p_malloc
        - pipe
        - signal_handler_switch_ioloop
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib-signals.c:516,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:516,2'
              BranchSideFuncs:
                - malloc_multiply_check.2260
                - p_malloc.2261
                - signal_handler_switch_ioloop
                - pipe
                - fd_set_nonblock
                - fd_set_nonblock
                - fd_close_on_exec
                - fd_close_on_exec
                - i_fatal
                - lib_signals_set
                - i_panic
                - i_panic
            - BranchSide:      'lib-signals.c:516,2'
              BranchSideFuncs:
                - malloc_multiply_check.2260
                - p_malloc.2261
                - signal_handler_switch_ioloop
                - pipe
                - fd_set_nonblock
                - fd_set_nonblock
                - fd_close_on_exec
                - fd_close_on_exec
                - i_fatal
                - lib_signals_set
                - i_panic
                - i_panic
        - Branch String:   'lib-signals.c:516,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:516,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:518,6'
              BranchSideFuncs:
                - malloc_multiply_check.2260
                - p_malloc.2261
                - signal_handler_switch_ioloop
                - pipe
                - fd_set_nonblock
                - fd_set_nonblock
                - fd_close_on_exec
                - fd_close_on_exec
                - i_fatal
                - lib_signals_set
                - i_panic
        - Branch String:   'lib-signals.c:518,16'
          Branch Sides:
            - BranchSide:      'lib-signals.c:518,19'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:520,4'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'lib-signals.c:518,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:520,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'lib-signals.c:523,22'
              BranchSideFuncs:
                - malloc_multiply_check.2260
                - p_malloc.2261
                - signal_handler_switch_ioloop
                - pipe
                - fd_set_nonblock
                - fd_set_nonblock
                - fd_close_on_exec
                - fd_close_on_exec
                - i_fatal
                - lib_signals_set
        - Branch String:   'lib-signals.c:523,37'
          Branch Sides:
            - BranchSide:      'lib-signals.c:523,40'
              BranchSideFuncs:
                - malloc_multiply_check.2260
                - p_malloc.2261
                - signal_handler_switch_ioloop
                - pipe
                - fd_set_nonblock
                - fd_set_nonblock
                - fd_close_on_exec
                - fd_close_on_exec
                - i_fatal
                - lib_signals_set
            - BranchSide:      'lib-signals.c:526,6'
              BranchSideFuncs:
                - malloc_multiply_check.2260
                - p_malloc.2261
                - signal_handler_switch_ioloop
                - pipe
                - fd_set_nonblock
                - fd_set_nonblock
                - fd_close_on_exec
                - fd_close_on_exec
                - i_fatal
        - Branch String:   'lib-signals.c:523,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:524,19'
              BranchSideFuncs:
                - lib_signals_set
                - malloc_multiply_check.2260
                - p_malloc.2261
                - signal_handler_switch_ioloop
                - pipe
                - fd_set_nonblock
                - fd_set_nonblock
                - fd_close_on_exec
                - fd_close_on_exec
                - i_fatal
            - BranchSide:      'lib-signals.c:526,6'
              BranchSideFuncs:
                - malloc_multiply_check.2260
                - p_malloc.2261
                - signal_handler_switch_ioloop
                - pipe
                - fd_set_nonblock
                - fd_set_nonblock
                - fd_close_on_exec
                - fd_close_on_exec
                - i_fatal
        - Branch String:   'lib-signals.c:536,33'
          Branch Sides:
            - BranchSide:      'lib-signals.c:536,36'
              BranchSideFuncs:
                - signal_handler_switch_ioloop
                - pipe
                - fd_set_nonblock
                - fd_set_nonblock
                - fd_close_on_exec
                - fd_close_on_exec
                - i_fatal
            - BranchSide:      'lib-signals.c:536,33'
              BranchSideFuncs:
                - signal_handler_switch_ioloop
        - Branch String:   'lib-signals.c:536,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:536,6'
              BranchSideFuncs:
                - pipe
                - fd_set_nonblock
                - fd_set_nonblock
                - fd_close_on_exec
                - fd_close_on_exec
                - signal_handler_switch_ioloop
                - i_fatal
            - BranchSide:      'lib-signals.c:538,7'
              BranchSideFuncs:
                - pipe
                - fd_set_nonblock
                - fd_set_nonblock
                - fd_close_on_exec
                - fd_close_on_exec
                - signal_handler_switch_ioloop
                - i_fatal
        - Branch String:   'lib-signals.c:538,7'
          Branch Sides:
            - BranchSide:      'lib-signals.c:539,4'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'lib-signals.c:540,19'
              BranchSideFuncs:
                - fd_set_nonblock
                - fd_set_nonblock
                - fd_close_on_exec
                - fd_close_on_exec
                - signal_handler_switch_ioloop
      Callsites:
        - Src:             'lib-signals.c:516,2'
          Dst:             i_panic
        - Src:             'lib-signals.c:519,3'
          Dst:             i_panic
        - Src:             'lib-signals.c:524,3'
          Dst:             lib_signals_set
        - Src:             'lib-signals.c:526,6'
          Dst:             malloc_multiply_check
        - Src:             'lib-signals.c:526,6'
          Dst:             p_malloc
        - Src:             'lib-signals.c:538,7'
          Dst:             pipe
        - Src:             'lib-signals.c:539,4'
          Dst:             i_fatal
        - Src:             'lib-signals.c:540,3'
          Dst:             fd_set_nonblock
        - Src:             'lib-signals.c:541,3'
          Dst:             fd_set_nonblock
        - Src:             'lib-signals.c:542,3'
          Dst:             fd_close_on_exec
        - Src:             'lib-signals.c:543,3'
          Dst:             fd_close_on_exec
        - Src:             'lib-signals.c:545,2'
          Dst:             signal_handler_switch_ioloop
    - functionName:    pipe
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lib_signals_set_handler
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 502
      functionLinenumberEnd: 507
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signo
        - flags
        - handler
        - context
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lib_signals_set_handler2
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-signals.c:503,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:504,28'
              BranchSideFuncs:
                - lib_signals_set_handler2
            - BranchSide:      'lib-signals.c:506,28'
              BranchSideFuncs:
                - lib_signals_set_handler2
      Callsites:
        - Src:             'lib-signals.c:504,3'
          Dst:             lib_signals_set_handler2
        - Src:             'lib-signals.c:506,3'
          Dst:             lib_signals_set_handler2
    - functionName:    lib_signals_ioloop_attach
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          23
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lib_signals_ioloop_switch
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-signals.c:477,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:477,6'
              BranchSideFuncs:
                - lib_signals_ioloop_switch
            - BranchSide:      'lib-signals.c:477,6'
              BranchSideFuncs:
                - lib_signals_ioloop_switch
        - Branch String:   'lib-signals.c:477,6'
          Branch Sides:
            - BranchSide:      'lib-signals.c:477,6'
              BranchSideFuncs:
                - lib_signals_ioloop_switch
            - BranchSide:      'lib-signals.c:478,3'
              BranchSideFuncs:
                - lib_signals_ioloop_switch
      Callsites:
        - Src:             'lib-signals.c:478,3'
          Dst:             lib_signals_ioloop_switch
    - functionName:    lib_signals_ioloop_detach
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         14
      ICount:          67
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - lib_signals_ioloop_unref
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-signals.c:465,11'
          Branch Sides:
            - BranchSide:      'lib-signals.c:463,25'
              BranchSideFuncs:
                - lib_signals_ioloop_unref
            - BranchSide:      'lib-signals.c:465,22'
              BranchSideFuncs:
                - lib_signals_ioloop_unref
        - Branch String:   'lib-signals.c:465,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:466,28'
              BranchSideFuncs:
                - lib_signals_ioloop_unref
            - BranchSide:      'lib-signals.c:473,1'
              BranchSideFuncs: []
        - Branch String:   'lib-signals.c:466,3'
          Branch Sides:
            - BranchSide:      'lib-signals.c:467,8'
              BranchSideFuncs:
                - lib_signals_ioloop_unref
            - BranchSide:      'lib-signals.c:472,2'
              BranchSideFuncs:
                - lib_signals_ioloop_unref
        - Branch String:   'lib-signals.c:467,8'
          Branch Sides:
            - BranchSide:      'lib-signals.c:468,31'
              BranchSideFuncs:
                - lib_signals_ioloop_unref
            - BranchSide:      'lib-signals.c:471,3'
              BranchSideFuncs:
                - lib_signals_ioloop_unref
      Callsites:
        - Src:             'lib-signals.c:468,5'
          Dst:             lib_signals_ioloop_unref
    - functionName:    lib_signal_code_to_str
      functionSourceFile: '/src/dovecot/src/lib/lib-signals.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - signo
        - sicode
      BBCount:         19
      ICount:          91
      EdgeCount:       34
      CyclomaticComplexity: 17
      functionsReached:
        - t_strdup_printf
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib-signals.c:69,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:75,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:78,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:81,3'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:87,10'
              BranchSideFuncs:
                - t_strdup_printf
        - Branch String:   'lib-signals.c:87,2'
          Branch Sides:
            - BranchSide:      'lib-signals.c:89,11'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'lib-signals.c:97,11'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'lib-signals.c:111,39'
              BranchSideFuncs:
                - t_strdup_printf
        - Branch String:   'lib-signals.c:89,3'
          Branch Sides:
            - BranchSide:      'lib-signals.c:91,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:93,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:95,3'
              BranchSideFuncs:
                - t_strdup_printf
        - Branch String:   'lib-signals.c:97,3'
          Branch Sides:
            - BranchSide:      'lib-signals.c:99,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:102,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:106,4'
              BranchSideFuncs: []
            - BranchSide:      'lib-signals.c:109,2'
              BranchSideFuncs:
                - t_strdup_printf
      Callsites:
        - Src:             'lib-signals.c:111,9'
          Dst:             t_strdup_printf
    - functionName:    memarea_free_callback_noop
      functionSourceFile: '/src/dovecot/src/lib/memarea.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - context
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    memarea_get_size
      functionSourceFile: '/src/dovecot/src/lib/memarea.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - area
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    memarea_get
      functionSourceFile: '/src/dovecot/src/lib/memarea.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - area
        - size_r
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    memarea_get_refcount
      functionSourceFile: '/src/dovecot/src/lib/memarea.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - area
      BBCount:         7
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    5
      BranchProfiles:
        - Branch String:   'memarea.c:76,2'
          Branch Sides:
            - BranchSide:      'memarea.c:76,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'memarea.c:76,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'memarea.c:76,2'
          Dst:             i_panic
    - functionName:    memarea_free_without_callback
      functionSourceFile: '/src/dovecot/src/lib/memarea.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _area
      BBCount:         9
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - memarea_get_refcount
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'memarea.c:70,2'
          Branch Sides:
            - BranchSide:      'memarea.c:70,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'memarea.c:71,2'
              BranchSideFuncs:
                - p_free_internal.2332
      Callsites:
        - Src:             'memarea.c:70,2'
          Dst:             memarea_get_refcount
        - Src:             'memarea.c:70,2'
          Dst:             i_panic
        - Src:             'memarea.c:71,2'
          Dst:             p_free_internal
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    memarea_unref
      functionSourceFile: '/src/dovecot/src/lib/memarea.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _area
      BBCount:         15
      ICount:          86
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - p_free_internal
      functionUses:    5
      BranchProfiles:
        - Branch String:   'memarea.c:56,2'
          Branch Sides:
            - BranchSide:      'memarea.c:56,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'memarea.c:58,8'
              BranchSideFuncs:
                - p_free_internal.2332
                - i_panic
        - Branch String:   'memarea.c:58,6'
          Branch Sides:
            - BranchSide:      'memarea.c:59,3'
              BranchSideFuncs: []
            - BranchSide:      'memarea.c:60,2'
              BranchSideFuncs:
                - p_free_internal.2332
                - i_panic
        - Branch String:   'memarea.c:60,2'
          Branch Sides:
            - BranchSide:      'memarea.c:60,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'memarea.c:61,2'
              BranchSideFuncs:
                - p_free_internal.2332
      Callsites:
        - Src:             'memarea.c:56,2'
          Dst:             i_panic
        - Src:             'memarea.c:60,2'
          Dst:             i_panic
        - Src:             'memarea.c:62,2'
          Dst:             p_free_internal
    - functionName:    memarea_ref
      functionSourceFile: '/src/dovecot/src/lib/memarea.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - area
      BBCount:         7
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'memarea.c:47,2'
          Branch Sides:
            - BranchSide:      'memarea.c:47,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'memarea.c:47,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'memarea.c:47,2'
          Dst:             i_panic
    - functionName:    memarea_init_empty
      functionSourceFile: '/src/dovecot/src/lib/memarea.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'memarea.c:40,2'
          Branch Sides:
            - BranchSide:      'memarea.c:40,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'memarea.c:40,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'memarea.c:40,2'
          Branch Sides:
            - BranchSide:      'memarea.c:40,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'memarea.c:40,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'memarea.c:40,2'
          Dst:             i_panic
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    memarea_init
      functionSourceFile: '/src/dovecot/src/lib/memarea.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - size
        - callback
        - context
      BBCount:         7
      ICount:          69
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - malloc_multiply_check
        - p_malloc
      functionUses:    2
      BranchProfiles:
        - Branch String:   'memarea.c:27,2'
          Branch Sides:
            - BranchSide:      'memarea.c:27,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'memarea.c:27,2'
              BranchSideFuncs:
                - malloc_multiply_check.2341
                - p_malloc.2343
      Callsites:
        - Src:             'memarea.c:27,2'
          Dst:             i_panic
        - Src:             'memarea.c:29,9'
          Dst:             malloc_multiply_check
        - Src:             'memarea.c:29,9'
          Dst:             p_malloc
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_free_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:159,2'
          Dst:             buffer_free
    - functionName:    pool_unref
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:176,6'
          Branch Sides:
            - BranchSide:      './mempool.h:176,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:177,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    pool_external_refs_unref
      functionSourceFile: '/src/dovecot/src/lib/mempool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         13
      ICount:          86
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - array_free_i
        - array_is_created_i
        - i_memcpy
        - pool_unref
      functionUses:    1
      BranchProfiles:
        - Branch String:   'mempool.c:43,6'
          Branch Sides:
            - BranchSide:      'mempool.c:43,6'
              BranchSideFuncs:
                - array_free_i.2377
                - pool_unref.2378
                - i_memcpy.2379
            - BranchSide:      'mempool.c:45,3'
              BranchSideFuncs:
                - array_free_i.2377
                - pool_unref.2378
                - i_memcpy.2379
        - Branch String:   'mempool.c:45,3'
          Branch Sides:
            - BranchSide:      'mempool.c:45,3'
              BranchSideFuncs:
                - i_memcpy.2379
                - array_free_i.2377
                - pool_unref.2378
            - BranchSide:      'mempool.c:45,3'
              BranchSideFuncs:
                - array_free_i.2377
                - pool_unref.2378
                - i_memcpy.2379
        - Branch String:   'mempool.c:45,3'
          Branch Sides:
            - BranchSide:      'mempool.c:46,4'
              BranchSideFuncs:
                - pool_unref.2378
                - array_free_i.2377
                - i_memcpy.2379
            - BranchSide:      'mempool.c:47,3'
              BranchSideFuncs:
                - array_free_i.2377
      Callsites:
        - Src:             'mempool.c:43,6'
          Dst:             array_is_created_i
        - Src:             'mempool.c:45,3'
          Dst:             i_memcpy
        - Src:             'mempool.c:46,4'
          Dst:             pool_unref
        - Src:             'mempool.c:47,3'
          Dst:             array_free_i
    - functionName:    array_is_created_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_ref
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_append_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - data
        - count
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:212,2'
          Dst:             buffer_append
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    1
      BranchProfiles:
        - Branch String:   './array.h:149,3'
          Branch Sides:
            - BranchSide:      './array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.2376
            - BranchSide:      './array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.2376
      Callsites:
        - Src:             './array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             './array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    pool_add_external_ref
      functionSourceFile: '/src/dovecot/src/lib/mempool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - ref_pool
      BBCount:         22
      ICount:          114
      EdgeCount:       23
      CyclomaticComplexity: 3
      functionsReached:
        - array_append_i
        - array_create_i
        - array_is_created_i
        - i_panic
        - pool_ref
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool.c:30,2'
          Branch Sides:
            - BranchSide:      'mempool.c:30,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool.c:31,2'
              BranchSideFuncs:
                - array_is_created_i.2384
                - array_create_i.2386
                - array_append_i.2385
                - pool_ref
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'mempool.c:31,2'
          Branch Sides:
            - BranchSide:      'mempool.c:31,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool.c:32,2'
              BranchSideFuncs:
                - array_is_created_i.2384
                - array_create_i.2386
                - array_append_i.2385
                - pool_ref
                - i_panic
                - i_panic
        - Branch String:   'mempool.c:32,2'
          Branch Sides:
            - BranchSide:      'mempool.c:32,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool.c:33,2'
              BranchSideFuncs:
                - array_is_created_i.2384
                - array_create_i.2386
                - array_append_i.2385
                - pool_ref
                - i_panic
        - Branch String:   'mempool.c:33,2'
          Branch Sides:
            - BranchSide:      'mempool.c:33,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool.c:35,7'
              BranchSideFuncs:
                - array_is_created_i.2384
                - array_create_i.2386
                - array_append_i.2385
                - pool_ref
        - Branch String:   'mempool.c:35,6'
          Branch Sides:
            - BranchSide:      'mempool.c:35,6'
              BranchSideFuncs:
                - array_append_i.2385
                - pool_ref
            - BranchSide:      'mempool.c:36,3'
              BranchSideFuncs:
                - array_create_i.2386
                - array_append_i.2385
                - pool_ref
      Callsites:
        - Src:             'mempool.c:30,2'
          Dst:             i_panic
        - Src:             'mempool.c:31,2'
          Dst:             i_panic
        - Src:             'mempool.c:32,2'
          Dst:             i_panic
        - Src:             'mempool.c:33,2'
          Dst:             i_panic
        - Src:             'mempool.c:35,7'
          Dst:             array_is_created_i
        - Src:             'mempool.c:36,3'
          Dst:             array_create_i
        - Src:             'mempool.c:37,2'
          Dst:             array_append_i
        - Src:             'mempool.c:38,2'
          Dst:             pool_ref
    - functionName:    p_get_max_easy_alloc_size
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_get_exp_grown_size
      functionSourceFile: '/src/dovecot/src/lib/mempool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 14
      functionLinenumberEnd: 25
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - old_size
        - min_size
      BBCount:         16
      ICount:          96
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - nearest_power
        - p_get_max_easy_alloc_size
      functionUses:    1
      BranchProfiles:
        - Branch String:   'mempool.c:17,2'
          Branch Sides:
            - BranchSide:      'mempool.c:17,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool.c:19,27'
              BranchSideFuncs:
                - nearest_power
                - p_get_max_easy_alloc_size
                - i_panic
        - Branch String:   'mempool.c:22,27'
          Branch Sides:
            - BranchSide:      'mempool.c:22,30'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool.c:24,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'mempool.c:22,6'
          Branch Sides:
            - BranchSide:      'mempool.c:23,14'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool.c:24,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'mempool.c:24,2'
          Branch Sides:
            - BranchSide:      'mempool.c:24,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool.c:24,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool.c:17,2'
          Dst:             i_panic
        - Src:             'mempool.c:19,13'
          Dst:             nearest_power
        - Src:             'mempool.c:20,25'
          Dst:             p_get_max_easy_alloc_size
        - Src:             'mempool.c:24,2'
          Dst:             i_panic
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    pool_alloconly_try_grow
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 445
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - apool
        - mem
        - size
      BBCount:         7
      ICount:          90
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'mempool-alloconly.c:447,6'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:451,7'
              BranchSideFuncs: []
            - BranchSide:      'mempool-alloconly.c:460,2'
              BranchSideFuncs: []
        - Branch String:   'mempool-alloconly.c:451,7'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:454,5'
              BranchSideFuncs: []
            - BranchSide:      'mempool-alloconly.c:458,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    pool_alloconly_free_block
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 283
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - apool
        - block
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - safe_memset
      functionUses:    2
      BranchProfiles:
        - Branch String:   'mempool-alloconly.c:287,6'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:287,6'
              BranchSideFuncs:
                - safe_memset
                - free
            - BranchSide:      'mempool-alloconly.c:288,15'
              BranchSideFuncs:
                - safe_memset
                - free
      Callsites:
        - Src:             'mempool-alloconly.c:288,3'
          Dst:             safe_memset
    - functionName:    pool_alloconly_free_blocks_until_last
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - apool
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - pool_alloconly_free_block
      functionUses:    2
      BranchProfiles:
        - Branch String:   'mempool-alloconly.c:302,2'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:303,11'
              BranchSideFuncs:
                - pool_alloconly_free_block
            - BranchSide:      'mempool-alloconly.c:308,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-alloconly.c:306,3'
          Dst:             pool_alloconly_free_block
    - functionName:    pool_alloconly_destroy
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 317
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - apool
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pool_alloconly_free_block
        - pool_alloconly_free_blocks_until_last
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mempool-alloconly.c:313,2'
          Dst:             pool_alloconly_free_blocks_until_last
        - Src:             'mempool-alloconly.c:316,2'
          Dst:             pool_alloconly_free_block
    - functionName:    pool_alloconly_get_max_easy_alloc_size
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 515
      functionLinenumberEnd: 519
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_alloconly_clear
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 490
      functionLinenumberEnd: 512
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         3
      ICount:          62
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pool_alloconly_free_blocks_until_last
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'mempool-alloconly.c:499,2'
          Dst:             pool_alloconly_free_blocks_until_last
    - functionName:    pool_alloconly_realloc
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 487
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - mem
        - old_size
        - new_size
      BBCount:         16
      ICount:          101
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - i_memcpy
        - i_panic
        - pool_alloconly_malloc
        - pool_alloconly_try_grow
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-alloconly.c:470,2'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:470,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-alloconly.c:472,6'
              BranchSideFuncs:
                - pool_alloconly_try_grow
                - pool_alloconly_malloc
                - i_memcpy.2440
        - Branch String:   'mempool-alloconly.c:472,6'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:473,10'
              BranchSideFuncs: []
            - BranchSide:      'mempool-alloconly.c:475,13'
              BranchSideFuncs:
                - pool_alloconly_try_grow
                - pool_alloconly_malloc
                - i_memcpy.2440
        - Branch String:   'mempool-alloconly.c:478,6'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:480,35'
              BranchSideFuncs: []
            - BranchSide:      'mempool-alloconly.c:486,9'
              BranchSideFuncs: []
        - Branch String:   'mempool-alloconly.c:481,7'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:482,4'
              BranchSideFuncs:
                - i_memcpy.2440
            - BranchSide:      'mempool-alloconly.c:483,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-alloconly.c:470,2'
          Dst:             i_panic
        - Src:             'mempool-alloconly.c:478,7'
          Dst:             pool_alloconly_try_grow
        - Src:             'mempool-alloconly.c:480,13'
          Dst:             pool_alloconly_malloc
        - Src:             'mempool-alloconly.c:482,4'
          Dst:             i_memcpy
    - functionName:    pool_alloconly_malloc
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 397
      functionLinenumberEnd: 426
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         6
      ICount:          85
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - block_alloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'mempool-alloconly.c:409,6'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:409,6'
              BranchSideFuncs:
                - block_alloc
            - BranchSide:      'mempool-alloconly.c:411,15'
              BranchSideFuncs:
                - block_alloc
      Callsites:
        - Src:             'mempool-alloconly.c:411,3'
          Dst:             block_alloc
    - functionName:    block_alloc
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 394
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - apool
        - size
      BBCount:         25
      ICount:          162
      EdgeCount:       29
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - i_fatal_status
        - i_panic
        - nearest_power
      functionUses:    2
      BranchProfiles:
        - Branch String:   'mempool-alloconly.c:359,2'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:359,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-alloconly.c:360,2'
              BranchSideFuncs:
                - calloc
                - i_fatal_status
                - nearest_power
                - i_panic
        - Branch String:   'mempool-alloconly.c:360,2'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:360,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-alloconly.c:362,6'
              BranchSideFuncs:
                - calloc
                - i_fatal_status
                - nearest_power
        - Branch String:   'mempool-alloconly.c:362,6'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:364,7'
              BranchSideFuncs:
                - nearest_power
                - calloc
                - i_fatal_status
            - BranchSide:      'mempool-alloconly.c:384,17'
              BranchSideFuncs:
                - calloc
                - i_fatal_status
        - Branch String:   'mempool-alloconly.c:364,7'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:365,12'
              BranchSideFuncs:
                - nearest_power
                - calloc
                - i_fatal_status
            - BranchSide:      'mempool-alloconly.c:368,10'
              BranchSideFuncs:
                - nearest_power
                - calloc
                - i_fatal_status
        - Branch String:   'mempool-alloconly.c:368,10'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:368,8'
              BranchSideFuncs:
                - nearest_power
                - calloc
                - i_fatal_status
            - BranchSide:      'mempool-alloconly.c:368,8'
              BranchSideFuncs:
                - nearest_power
                - calloc
                - i_fatal_status
        - Branch String:   'mempool-alloconly.c:371,10'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:371,8'
              BranchSideFuncs:
                - calloc
                - i_fatal_status
            - BranchSide:      'mempool-alloconly.c:371,8'
              BranchSideFuncs:
                - calloc
                - i_fatal_status
        - Branch String:   'mempool-alloconly.c:385,6'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:387,31'
              BranchSideFuncs:
                - i_fatal_status
            - BranchSide:      'mempool-alloconly.c:389,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-alloconly.c:359,2'
          Dst:             i_panic
        - Src:             'mempool-alloconly.c:360,2'
          Dst:             i_panic
        - Src:             'mempool-alloconly.c:369,10'
          Dst:             nearest_power
        - Src:             'mempool-alloconly.c:384,10'
          Dst:             calloc
        - Src:             'mempool-alloconly.c:386,3'
          Dst:             i_fatal_status
    - functionName:    calloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_alloconly_free
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 430
      functionLinenumberEnd: 442
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         4
      ICount:          73
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-alloconly.c:435,6'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:435,6'
              BranchSideFuncs: []
            - BranchSide:      'mempool-alloconly.c:438,10'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    pool_alloconly_unref
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 340
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - pool_alloconly_destroy
        - pool_external_refs_unref
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-alloconly.c:348,6'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:349,3'
              BranchSideFuncs: []
            - BranchSide:      'mempool-alloconly.c:351,28'
              BranchSideFuncs:
                - pool_external_refs_unref
                - pool_alloconly_destroy
      Callsites:
        - Src:             'mempool-alloconly.c:351,2'
          Dst:             pool_external_refs_unref
        - Src:             'mempool-alloconly.c:352,2'
          Dst:             pool_alloconly_destroy
    - functionName:    pool_alloconly_ref
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 332
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_alloconly_get_name
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 327
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_alloconly_get_total_alloc_size
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 547
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         11
      ICount:          71
      EdgeCount:       12
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-alloconly.c:543,2'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:543,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-alloconly.c:545,15'
              BranchSideFuncs: []
        - Branch String:   'mempool-alloconly.c:545,2'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:546,11'
              BranchSideFuncs: []
            - BranchSide:      'mempool-alloconly.c:547,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-alloconly.c:543,2'
          Dst:             i_panic
    - functionName:    pool_alloconly_get_total_used_size
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 523
      functionLinenumberEnd: 533
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         11
      ICount:          74
      EdgeCount:       12
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-alloconly.c:529,2'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:529,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-alloconly.c:531,15'
              BranchSideFuncs: []
        - Branch String:   'mempool-alloconly.c:531,2'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:532,11'
              BranchSideFuncs: []
            - BranchSide:      'mempool-alloconly.c:533,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-alloconly.c:529,2'
          Dst:             i_panic
    - functionName:    pool_alloconly_create_clean
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - name
        - size
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pool_alloconly_create
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'mempool-alloconly.c:275,9'
          Dst:             pool_alloconly_create
    - functionName:    pool_alloconly_create
      functionSourceFile: '/src/dovecot/src/lib/mempool-alloconly.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 267
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - name
        - size
      BBCount:         10
      ICount:          81
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - block_alloc
        - i_panic
        - malloc_multiply_check
        - nearest_power
        - p_malloc
      functionUses:    4
      BranchProfiles:
        - Branch String:   'mempool-alloconly.c:247,6'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:248,24'
              BranchSideFuncs:
                - nearest_power
                - block_alloc
                - malloc_multiply_check.2454
                - p_malloc.2455
                - i_panic
            - BranchSide:      'mempool-alloconly.c:249,22'
              BranchSideFuncs:
                - block_alloc
                - malloc_multiply_check.2454
                - p_malloc.2455
                - i_panic
        - Branch String:   'mempool-alloconly.c:265,2'
          Branch Sides:
            - BranchSide:      'mempool-alloconly.c:265,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-alloconly.c:265,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-alloconly.c:248,10'
          Dst:             nearest_power
        - Src:             'mempool-alloconly.c:249,2'
          Dst:             block_alloc
        - Src:             'mempool-alloconly.c:252,14'
          Dst:             malloc_multiply_check
        - Src:             'mempool-alloconly.c:252,14'
          Dst:             p_malloc
        - Src:             'mempool-alloconly.c:265,2'
          Dst:             i_panic
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    pool_data_stack_get_max_easy_alloc_size
      functionSourceFile: '/src/dovecot/src/lib/mempool-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_get_bytes_available
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'mempool-datastack.c:192,9'
          Dst:             t_get_bytes_available
    - functionName:    pool_data_stack_clear
      functionSourceFile: '/src/dovecot/src/lib/mempool-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_data_stack_realloc
      functionSourceFile: '/src/dovecot/src/lib/mempool-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - mem
        - old_size
        - new_size
      BBCount:         18
      ICount:          118
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - i_memcpy
        - i_panic
        - t_malloc_no0
        - t_try_realloc
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-datastack.c:165,2'
          Branch Sides:
            - BranchSide:      'mempool-datastack.c:165,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-datastack.c:168,6'
              BranchSideFuncs:
                - t_try_realloc
                - t_malloc_no0
                - i_memcpy.2485
                - i_panic
        - Branch String:   'mempool-datastack.c:168,6'
          Branch Sides:
            - BranchSide:      'mempool-datastack.c:169,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-datastack.c:171,6'
              BranchSideFuncs:
                - t_try_realloc
                - t_malloc_no0
                - i_memcpy.2485
        - Branch String:   'mempool-datastack.c:171,6'
          Branch Sides:
            - BranchSide:      'mempool-datastack.c:172,10'
              BranchSideFuncs: []
            - BranchSide:      'mempool-datastack.c:174,21'
              BranchSideFuncs:
                - t_try_realloc
                - t_malloc_no0
                - i_memcpy.2485
        - Branch String:   'mempool-datastack.c:174,6'
          Branch Sides:
            - BranchSide:      'mempool-datastack.c:175,26'
              BranchSideFuncs: []
            - BranchSide:      'mempool-datastack.c:181,18'
              BranchSideFuncs: []
        - Branch String:   'mempool-datastack.c:176,7'
          Branch Sides:
            - BranchSide:      'mempool-datastack.c:177,4'
              BranchSideFuncs:
                - i_memcpy.2485
            - BranchSide:      'mempool-datastack.c:178,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-datastack.c:165,2'
          Dst:             i_panic
        - Src:             'mempool-datastack.c:169,3'
          Dst:             i_panic
        - Src:             'mempool-datastack.c:174,7'
          Dst:             t_try_realloc
        - Src:             'mempool-datastack.c:175,13'
          Dst:             t_malloc_no0
        - Src:             'mempool-datastack.c:177,4'
          Dst:             i_memcpy
    - functionName:    pool_data_stack_free
      functionSourceFile: '/src/dovecot/src/lib/mempool-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         5
      ICount:          43
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-datastack.c:154,6'
          Branch Sides:
            - BranchSide:      'mempool-datastack.c:155,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-datastack.c:156,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-datastack.c:155,3'
          Dst:             i_panic
    - functionName:    pool_data_stack_malloc
      functionSourceFile: '/src/dovecot/src/lib/mempool-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         5
      ICount:          45
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - t_malloc0
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-datastack.c:143,6'
          Branch Sides:
            - BranchSide:      'mempool-datastack.c:144,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-datastack.c:146,19'
              BranchSideFuncs:
                - t_malloc0
      Callsites:
        - Src:             'mempool-datastack.c:144,3'
          Dst:             i_panic
        - Src:             'mempool-datastack.c:146,9'
          Dst:             t_malloc0
    - functionName:    pool_data_stack_unref
      functionSourceFile: '/src/dovecot/src/lib/mempool-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         9
      ICount:          67
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-datastack.c:129,6'
          Branch Sides:
            - BranchSide:      'mempool-datastack.c:130,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-datastack.c:132,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'mempool-datastack.c:133,2'
          Branch Sides:
            - BranchSide:      'mempool-datastack.c:133,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-datastack.c:133,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-datastack.c:130,3'
          Dst:             i_panic
        - Src:             'mempool-datastack.c:133,2'
          Dst:             i_panic
    - functionName:    pool_data_stack_ref
      functionSourceFile: '/src/dovecot/src/lib/mempool-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         5
      ICount:          45
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-datastack.c:118,6'
          Branch Sides:
            - BranchSide:      'mempool-datastack.c:119,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-datastack.c:121,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-datastack.c:119,3'
          Dst:             i_panic
    - functionName:    pool_data_stack_get_name
      functionSourceFile: '/src/dovecot/src/lib/mempool-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    pool_datastack_create
      functionSourceFile: '/src/dovecot/src/lib/mempool-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - t_malloc0
      functionUses:    8
      BranchProfiles:
        - Branch String:   'mempool-datastack.c:101,10'
          Branch Sides:
            - BranchSide:      'mempool-datastack.c:99,25'
              BranchSideFuncs:
                - malloc_multiply_check.2499
                - t_malloc0
            - BranchSide:      'mempool-datastack.c:101,10'
              BranchSideFuncs:
                - malloc_multiply_check.2499
                - t_malloc0
      Callsites:
        - Src:             'mempool-datastack.c:101,10'
          Dst:             malloc_multiply_check
        - Src:             'mempool-datastack.c:101,10'
          Dst:             t_malloc0
    - functionName:    pool_system_get_max_easy_alloc_size
      functionSourceFile: '/src/dovecot/src/lib/mempool-system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_system_realloc
      functionSourceFile: '/src/dovecot/src/lib/mempool-system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - mem
        - old_size
        - new_size
      BBCount:         17
      ICount:          101
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - i_fatal_status
        - i_panic
        - malloc_usable_size
        - realloc
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-system.c:136,2'
          Branch Sides:
            - BranchSide:      'mempool-system.c:136,2'
              BranchSideFuncs:
                - realloc
                - i_fatal_status
                - i_panic
            - BranchSide:      'mempool-system.c:136,2'
              BranchSideFuncs:
                - malloc_usable_size
                - realloc
                - i_fatal_status
                - i_panic
        - Branch String:   'mempool-system.c:136,2'
          Branch Sides:
            - BranchSide:      'mempool-system.c:136,2'
              BranchSideFuncs:
                - realloc
                - i_fatal_status
                - i_panic
            - BranchSide:      'mempool-system.c:136,2'
              BranchSideFuncs:
                - malloc_usable_size
                - realloc
                - i_fatal_status
                - i_panic
        - Branch String:   'mempool-system.c:136,2'
          Branch Sides:
            - BranchSide:      'mempool-system.c:136,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-system.c:140,16'
              BranchSideFuncs:
                - realloc
                - i_fatal_status
        - Branch String:   'mempool-system.c:141,6'
          Branch Sides:
            - BranchSide:      'mempool-system.c:143,28'
              BranchSideFuncs:
                - i_fatal_status
            - BranchSide:      'mempool-system.c:146,6'
              BranchSideFuncs: []
        - Branch String:   'mempool-system.c:146,6'
          Branch Sides:
            - BranchSide:      'mempool-system.c:146,6'
              BranchSideFuncs: []
            - BranchSide:      'mempool-system.c:148,19'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-system.c:136,2'
          Dst:             malloc_usable_size
        - Src:             'mempool-system.c:136,2'
          Dst:             i_panic
        - Src:             'mempool-system.c:140,8'
          Dst:             realloc
        - Src:             'mempool-system.c:142,3'
          Dst:             i_fatal_status
    - functionName:    malloc_usable_size
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    realloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_system_malloc
      functionSourceFile: '/src/dovecot/src/lib/mempool-system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         5
      ICount:          40
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - calloc
        - i_fatal_status
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-system.c:106,6'
          Branch Sides:
            - BranchSide:      'mempool-system.c:108,28'
              BranchSideFuncs:
                - i_fatal_status
            - BranchSide:      'mempool-system.c:114,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-system.c:105,8'
          Dst:             calloc
        - Src:             'mempool-system.c:107,3'
          Dst:             i_fatal_status
    - functionName:    pool_system_unref
      functionSourceFile: '/src/dovecot/src/lib/mempool-system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_system_ref
      functionSourceFile: '/src/dovecot/src/lib/mempool-system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_system_get_name
      functionSourceFile: '/src/dovecot/src/lib/mempool-system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_system_free
      functionSourceFile: '/src/dovecot/src/lib/mempool-system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_system_clear
      functionSourceFile: '/src/dovecot/src/lib/mempool-system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'mempool-system.c:157,2'
          Dst:             i_panic
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    pool_unsafe_data_stack_get_max_easy_alloc_size
      functionSourceFile: '/src/dovecot/src/lib/mempool-unsafe-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_get_bytes_available
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'mempool-unsafe-datastack.c:137,9'
          Dst:             t_get_bytes_available
    - functionName:    pool_unsafe_data_stack_clear
      functionSourceFile: '/src/dovecot/src/lib/mempool-unsafe-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_unsafe_data_stack_realloc
      functionSourceFile: '/src/dovecot/src/lib/mempool-unsafe-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - mem
        - old_size
        - new_size
      BBCount:         16
      ICount:          95
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - i_memcpy
        - i_panic
        - t_malloc_no0
        - t_try_realloc
      functionUses:    0
      BranchProfiles:
        - Branch String:   'mempool-unsafe-datastack.c:113,2'
          Branch Sides:
            - BranchSide:      'mempool-unsafe-datastack.c:113,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'mempool-unsafe-datastack.c:116,6'
              BranchSideFuncs:
                - t_try_realloc
                - t_malloc_no0
                - i_memcpy.2554
        - Branch String:   'mempool-unsafe-datastack.c:116,6'
          Branch Sides:
            - BranchSide:      'mempool-unsafe-datastack.c:117,10'
              BranchSideFuncs: []
            - BranchSide:      'mempool-unsafe-datastack.c:119,21'
              BranchSideFuncs:
                - t_try_realloc
                - t_malloc_no0
                - i_memcpy.2554
        - Branch String:   'mempool-unsafe-datastack.c:119,6'
          Branch Sides:
            - BranchSide:      'mempool-unsafe-datastack.c:120,26'
              BranchSideFuncs: []
            - BranchSide:      'mempool-unsafe-datastack.c:126,18'
              BranchSideFuncs: []
        - Branch String:   'mempool-unsafe-datastack.c:121,7'
          Branch Sides:
            - BranchSide:      'mempool-unsafe-datastack.c:122,4'
              BranchSideFuncs:
                - i_memcpy.2554
            - BranchSide:      'mempool-unsafe-datastack.c:123,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'mempool-unsafe-datastack.c:113,2'
          Dst:             i_panic
        - Src:             'mempool-unsafe-datastack.c:119,7'
          Dst:             t_try_realloc
        - Src:             'mempool-unsafe-datastack.c:120,13'
          Dst:             t_malloc_no0
        - Src:             'mempool-unsafe-datastack.c:122,4'
          Dst:             i_memcpy
    - functionName:    pool_unsafe_data_stack_free
      functionSourceFile: '/src/dovecot/src/lib/mempool-unsafe-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_unsafe_data_stack_malloc
      functionSourceFile: '/src/dovecot/src/lib/mempool-unsafe-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_malloc0
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'mempool-unsafe-datastack.c:99,9'
          Dst:             t_malloc0
    - functionName:    pool_unsafe_data_stack_unref
      functionSourceFile: '/src/dovecot/src/lib/mempool-unsafe-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_unsafe_data_stack_ref
      functionSourceFile: '/src/dovecot/src/lib/mempool-unsafe-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_unsafe_data_stack_get_name
      functionSourceFile: '/src/dovecot/src/lib/mempool-unsafe-datastack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    net_connect_ip_once
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - int
        - bool
      constantsTouched: []
      argNames:
        - ip
        - port
        - my_ip
        - sock_type
        - blocking
      BBCount:         27
      ICount:          202
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - bind
        - connect
        - i_close_fd_path
        - i_error
        - i_warning
        - net_ip2addr
        - net_set_nonblock
        - setsockopt
        - sin_set_ip
        - sin_set_port
        - socket
      functionUses:    1
      BranchProfiles:
        - Branch String:   'net.c:191,20'
          Branch Sides:
            - BranchSide:      'net.c:191,23'
              BranchSideFuncs:
                - socket
                - setsockopt
                - net_set_nonblock
                - sin_set_ip
                - sin_set_port
                - connect
                - __errno_location
                - i_close_fd_path
                - sin_set_ip
                - bind
                - net_ip2addr
                - i_error
                - i_close_fd_path
                - setsockopt
                - i_error
                - i_warning
            - BranchSide:      'net.c:197,2'
              BranchSideFuncs:
                - socket
                - setsockopt
                - net_set_nonblock
                - sin_set_ip
                - sin_set_port
                - connect
                - __errno_location
                - i_close_fd_path
                - sin_set_ip
                - bind
                - net_ip2addr
                - i_error
                - i_close_fd_path
                - setsockopt
                - i_error
        - Branch String:   'net.c:191,6'
          Branch Sides:
            - BranchSide:      'net.c:192,3'
              BranchSideFuncs:
                - i_warning
                - socket
                - setsockopt
                - net_set_nonblock
                - sin_set_ip
                - sin_set_port
                - connect
                - __errno_location
                - i_close_fd_path
                - sin_set_ip
                - bind
                - net_ip2addr
                - i_error
                - i_close_fd_path
                - setsockopt
                - i_error
            - BranchSide:      'net.c:197,2'
              BranchSideFuncs:
                - socket
                - setsockopt
                - net_set_nonblock
                - sin_set_ip
                - sin_set_port
                - connect
                - __errno_location
                - i_close_fd_path
                - sin_set_ip
                - bind
                - net_ip2addr
                - i_error
                - i_close_fd_path
                - setsockopt
                - i_error
        - Branch String:   'net.c:201,6'
          Branch Sides:
            - BranchSide:      'net.c:202,3'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'net.c:207,19'
              BranchSideFuncs:
                - setsockopt
                - net_set_nonblock
                - sin_set_ip
                - sin_set_port
                - connect
                - __errno_location
                - i_close_fd_path
                - sin_set_ip
                - bind
                - net_ip2addr
                - i_error
                - i_close_fd_path
                - setsockopt
        - Branch String:   'net.c:208,6'
          Branch Sides:
            - BranchSide:      'net.c:209,20'
              BranchSideFuncs:
                - setsockopt
                - net_set_nonblock
                - sin_set_ip
                - sin_set_port
                - connect
                - __errno_location
                - i_close_fd_path
                - sin_set_ip
                - bind
                - net_ip2addr
                - i_error
                - i_close_fd_path
            - BranchSide:      'net.c:210,7'
              BranchSideFuncs:
                - net_set_nonblock
                - sin_set_ip
                - sin_set_port
                - connect
                - __errno_location
                - i_close_fd_path
                - sin_set_ip
                - bind
                - net_ip2addr
                - i_error
                - i_close_fd_path
        - Branch String:   'net.c:210,6'
          Branch Sides:
            - BranchSide:      'net.c:211,20'
              BranchSideFuncs:
                - sin_set_ip
                - sin_set_port
                - connect
                - __errno_location
                - i_close_fd_path
                - sin_set_ip
                - bind
                - net_ip2addr
                - i_error
                - i_close_fd_path
            - BranchSide:      'net.c:214,6'
              BranchSideFuncs:
                - sin_set_ip
                - sin_set_port
                - connect
                - __errno_location
                - i_close_fd_path
                - sin_set_ip
                - bind
                - net_ip2addr
                - i_error
                - i_close_fd_path
        - Branch String:   'net.c:214,6'
          Branch Sides:
            - BranchSide:      'net.c:215,19'
              BranchSideFuncs:
                - sin_set_ip
                - bind
                - sin_set_ip
                - sin_set_port
                - connect
                - __errno_location
                - i_close_fd_path
                - net_ip2addr
                - i_error
                - i_close_fd_path
            - BranchSide:      'net.c:224,18'
              BranchSideFuncs:
                - sin_set_ip
                - sin_set_port
                - connect
                - __errno_location
                - i_close_fd_path
        - Branch String:   'net.c:216,7'
          Branch Sides:
            - BranchSide:      'net.c:217,47'
              BranchSideFuncs:
                - net_ip2addr
                - i_error
                - i_close_fd_path
            - BranchSide:      'net.c:221,2'
              BranchSideFuncs:
                - sin_set_ip
                - sin_set_port
                - connect
                - __errno_location
                - i_close_fd_path
        - Branch String:   'net.c:229,14'
          Branch Sides:
            - BranchSide:      'net.c:229,17'
              BranchSideFuncs:
                - __errno_location
                - i_close_fd_path
            - BranchSide:      'net.c:238,9'
              BranchSideFuncs: []
        - Branch String:   'net.c:229,6'
          Branch Sides:
            - BranchSide:      'net.c:234,3'
              BranchSideFuncs:
                - i_close_fd_path
            - BranchSide:      'net.c:238,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:192,3'
          Dst:             i_warning
        - Src:             'net.c:199,7'
          Dst:             socket
        - Src:             'net.c:202,3'
          Dst:             i_error
        - Src:             'net.c:207,8'
          Dst:             setsockopt
        - Src:             'net.c:209,9'
          Dst:             setsockopt
        - Src:             'net.c:211,3'
          Dst:             net_set_nonblock
        - Src:             'net.c:215,3'
          Dst:             sin_set_ip
        - Src:             'net.c:216,7'
          Dst:             bind
        - Src:             'net.c:217,35'
          Dst:             net_ip2addr
        - Src:             'net.c:217,4'
          Dst:             i_error
        - Src:             'net.c:218,4'
          Dst:             i_close_fd_path
        - Src:             'net.c:224,2'
          Dst:             sin_set_ip
        - Src:             'net.c:225,2'
          Dst:             sin_set_port
        - Src:             'net.c:226,8'
          Dst:             connect
        - Src:             'net.c:229,17'
          Dst:             __errno_location
        - Src:             'net.c:234,3'
          Dst:             i_close_fd_path
    - functionName:    socket
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setsockopt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    net_set_nonblock
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - bool
      constantsTouched: []
      argNames:
        - fd
        - nonblock
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fd_set_nonblock
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'net.c:380,2'
          Dst:             fd_set_nonblock
    - functionName:    sin_set_ip
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - so
        - ip
      BBCount:         8
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - i_memcpy
      functionUses:    5
      BranchProfiles:
        - Branch String:   'net.c:133,6'
          Branch Sides:
            - BranchSide:      'net.c:134,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:139,23'
              BranchSideFuncs:
                - i_memcpy.2689
                - i_memcpy.2689
        - Branch String:   'net.c:141,6'
          Branch Sides:
            - BranchSide:      'net.c:142,3'
              BranchSideFuncs:
                - i_memcpy.2689
            - BranchSide:      'net.c:144,3'
              BranchSideFuncs:
                - i_memcpy.2689
      Callsites:
        - Src:             'net.c:142,3'
          Dst:             i_memcpy
        - Src:             'net.c:144,3'
          Dst:             i_memcpy
    - functionName:    bind
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    net_ip2addr
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 955
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ip
      BBCount:         12
      ICount:          99
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - getnameinfo
        - net_handle_gai_error
        - t_malloc_no0
      functionUses:    10
      BranchProfiles:
        - Branch String:   'net.c:935,6'
          Branch Sides:
            - BranchSide:      'net.c:936,9'
              BranchSideFuncs:
                - t_malloc_no0
                - getnameinfo
                - net_handle_gai_error
            - BranchSide:      'net.c:939,13'
              BranchSideFuncs:
                - t_malloc_no0
                - getnameinfo
                - net_handle_gai_error
        - Branch String:   'net.c:939,13'
          Branch Sides:
            - BranchSide:      'net.c:940,10'
              BranchSideFuncs:
                - t_malloc_no0
                - getnameinfo
                - net_handle_gai_error
            - BranchSide:      'net.c:945,3'
              BranchSideFuncs: []
        - Branch String:   'net.c:949,6'
          Branch Sides:
            - BranchSide:      'net.c:951,45'
              BranchSideFuncs:
                - net_handle_gai_error
            - BranchSide:      'net.c:954,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:947,15'
          Dst:             t_malloc_no0
        - Src:             'net.c:949,13'
          Dst:             getnameinfo
        - Src:             'net.c:951,9'
          Dst:             net_handle_gai_error
    - functionName:    sin_set_port
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - so
        - port
      BBCount:         9
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - htons
        - i_unreached
      functionUses:    2
      BranchProfiles:
        - Branch String:   'net.c:167,6'
          Branch Sides:
            - BranchSide:      'net.c:168,30'
              BranchSideFuncs:
                - htons
            - BranchSide:      'net.c:169,11'
              BranchSideFuncs:
                - i_unreached
                - htons
        - Branch String:   'net.c:169,11'
          Branch Sides:
            - BranchSide:      'net.c:170,28'
              BranchSideFuncs:
                - htons
            - BranchSide:      'net.c:172,3'
              BranchSideFuncs:
                - i_unreached
      Callsites:
        - Src:             'net.c:168,24'
          Dst:             htons
        - Src:             'net.c:170,22'
          Dst:             htons
        - Src:             'net.c:172,3'
          Dst:             i_unreached
    - functionName:    connect
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    htons
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getnameinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    net_handle_gai_error
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - bool
      constantsTouched: []
      argNames:
        - function
        - gai_errno
        - log
      BBCount:         21
      ICount:          94
      EdgeCount:       22
      CyclomaticComplexity: 3
      functionsReached:
        - gai_strerror
        - i_error
        - i_fatal_status
      functionUses:    4
      BranchProfiles:
        - Branch String:   'net.c:55,6'
          Branch Sides:
            - BranchSide:      'net.c:56,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:57,10'
              BranchSideFuncs:
                - i_error
                - gai_strerror
                - i_fatal_status
                - gai_strerror
                - i_error
        - Branch String:   'net.c:57,2'
          Branch Sides:
            - BranchSide:      'net.c:67,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:67,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:67,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:67,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:70,11'
              BranchSideFuncs:
                - gai_strerror
                - i_fatal_status
            - BranchSide:      'net.c:72,7'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'net.c:76,7'
              BranchSideFuncs:
                - gai_strerror
                - i_error
        - Branch String:   'net.c:72,7'
          Branch Sides:
            - BranchSide:      'net.c:73,31'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'net.c:74,3'
              BranchSideFuncs: []
        - Branch String:   'net.c:76,7'
          Branch Sides:
            - BranchSide:      'net.c:77,31'
              BranchSideFuncs:
                - gai_strerror
                - i_error
            - BranchSide:      'net.c:79,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:70,21'
          Dst:             gai_strerror
        - Src:             'net.c:69,3'
          Dst:             i_fatal_status
        - Src:             'net.c:73,4'
          Dst:             i_error
        - Src:             'net.c:78,5'
          Dst:             gai_strerror
        - Src:             'net.c:77,4'
          Dst:             i_error
    - functionName:    gai_strerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    5
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    net_is_in_network
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1206
      functionLinenumberEnd: 1263
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ip
        - net_ip
        - bits
      BBCount:         44
      ICount:          310
      EdgeCount:       57
      CyclomaticComplexity: 15
      functionsReached:
        - htonl
        - i_panic
        - net_ipv6_mapped_ipv4_convert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'net.c:1212,6'
          Branch Sides:
            - BranchSide:      'net.c:1214,6'
              BranchSideFuncs:
                - htonl
                - htonl
                - i_panic
            - BranchSide:      'net.c:1217,6'
              BranchSideFuncs:
                - htonl
                - htonl
                - i_panic
        - Branch String:   'net.c:1217,22'
          Branch Sides:
            - BranchSide:      'net.c:1217,25'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1220,3'
              BranchSideFuncs: []
        - Branch String:   'net.c:1217,6'
          Branch Sides:
            - BranchSide:      'net.c:1220,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1222,6'
              BranchSideFuncs:
                - htonl
                - htonl
                - i_panic
        - Branch String:   'net.c:1222,6'
          Branch Sides:
            - BranchSide:      'net.c:1224,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1226,2'
              BranchSideFuncs:
                - htonl
                - htonl
                - i_panic
        - Branch String:   'net.c:1226,2'
          Branch Sides:
            - BranchSide:      'net.c:1226,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:1228,6'
              BranchSideFuncs:
                - htonl
                - htonl
        - Branch String:   'net.c:1228,6'
          Branch Sides:
            - BranchSide:      'net.c:1229,10'
              BranchSideFuncs:
                - htonl
                - htonl
            - BranchSide:      'net.c:1232,24'
              BranchSideFuncs:
                - htonl
                - htonl
        - Branch String:   'net.c:1243,2'
          Branch Sides:
            - BranchSide:      'net.c:1244,7'
              BranchSideFuncs:
                - htonl
                - htonl
            - BranchSide:      'net.c:1247,13'
              BranchSideFuncs:
                - htonl
                - htonl
        - Branch String:   'net.c:1244,7'
          Branch Sides:
            - BranchSide:      'net.c:1245,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1246,2'
              BranchSideFuncs:
                - htonl
                - htonl
        - Branch String:   'net.c:1251,2'
          Branch Sides:
            - BranchSide:      'net.c:1252,8'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1257,10'
              BranchSideFuncs: []
        - Branch String:   'net.c:1252,7'
          Branch Sides:
            - BranchSide:      'net.c:1253,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1254,2'
              BranchSideFuncs: []
        - Branch String:   'net.c:1258,2'
          Branch Sides:
            - BranchSide:      'net.c:1259,8'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1262,2'
              BranchSideFuncs: []
        - Branch String:   'net.c:1259,7'
          Branch Sides:
            - BranchSide:      'net.c:1260,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1261,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:1212,6'
          Dst:             net_ipv6_mapped_ipv4_convert
        - Src:             'net.c:1226,2'
          Dst:             i_panic
        - Src:             'net.c:1247,7'
          Dst:             htonl
        - Src:             'net.c:1248,7'
          Dst:             htonl
    - functionName:    net_ipv6_mapped_ipv4_convert
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1093
      functionLinenumberEnd: 1106
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - src
        - dest
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - i_memcpy
        - memcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'net.c:1097,6'
          Branch Sides:
            - BranchSide:      'net.c:1098,3'
              BranchSideFuncs:
                - memcmp
                - i_memcpy.2689
            - BranchSide:      'net.c:1099,13'
              BranchSideFuncs:
                - memcmp
                - i_memcpy.2689
        - Branch String:   'net.c:1099,6'
          Branch Sides:
            - BranchSide:      'net.c:1100,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1102,2'
              BranchSideFuncs:
                - i_memcpy.2689
      Callsites:
        - Src:             'net.c:1099,6'
          Dst:             memcmp
        - Src:             'net.c:1104,2'
          Dst:             i_memcpy
    - functionName:    htonl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    net_parse_range
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1180
      functionLinenumberEnd: 1202
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - network
        - ip_r
        - bits_r
      BBCount:         17
      ICount:          106
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - net_addr2ip
        - str_to_uint
        - strchr
        - t_strdup_until
      functionUses:    1
      BranchProfiles:
        - Branch String:   'net.c:1185,6'
          Branch Sides:
            - BranchSide:      'net.c:1186,28'
              BranchSideFuncs:
                - t_strdup_until
                - net_addr2ip
                - str_to_uint
            - BranchSide:      'net.c:1188,18'
              BranchSideFuncs:
                - net_addr2ip
                - str_to_uint
        - Branch String:   'net.c:1188,6'
          Branch Sides:
            - BranchSide:      'net.c:1189,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1191,13'
              BranchSideFuncs:
                - str_to_uint
        - Branch String:   'net.c:1192,6'
          Branch Sides:
            - BranchSide:      'net.c:1194,10'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1197,19'
              BranchSideFuncs:
                - str_to_uint
        - Branch String:   'net.c:1197,33'
          Branch Sides:
            - BranchSide:      'net.c:1197,36'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1198,4'
              BranchSideFuncs: []
        - Branch String:   'net.c:1197,7'
          Branch Sides:
            - BranchSide:      'net.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1198,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:1184,6'
          Dst:             strchr
        - Src:             'net.c:1186,13'
          Dst:             t_strdup_until
        - Src:             'net.c:1188,6'
          Dst:             net_addr2ip
        - Src:             'net.c:1197,7'
          Dst:             str_to_uint
    - functionName:    net_addr2ip
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 987
      functionLinenumberEnd: 1018
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - addr
        - ip_r
      BBCount:         31
      ICount:          173
      EdgeCount:       37
      CyclomaticComplexity: 8
      functionsReached:
        - freeaddrinfo
        - getaddrinfo
        - i_panic
        - net_addr2ip_inet4_fast
        - net_handle_gai_error
        - sin_get_ip
        - strchr
        - strlen
        - t_pop
        - t_push
        - t_strndup
      functionUses:    3
      BranchProfiles:
        - Branch String:   'net.c:990,6'
          Branch Sides:
            - BranchSide:      'net.c:991,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:993,2'
              BranchSideFuncs:
                - t_push
                - strchr
                - getaddrinfo
                - net_handle_gai_error
                - t_pop
                - i_panic
                - freeaddrinfo
                - sin_get_ip
                - i_panic
                - strlen
                - t_strndup
        - Branch String:   'net.c:994,7'
          Branch Sides:
            - BranchSide:      'net.c:995,8'
              BranchSideFuncs:
                - getaddrinfo
                - net_handle_gai_error
                - t_pop
                - i_panic
                - freeaddrinfo
                - sin_get_ip
                - i_panic
                - strlen
                - t_strndup
            - BranchSide:      'net.c:1003,20'
              BranchSideFuncs:
                - getaddrinfo
                - net_handle_gai_error
                - t_pop
                - i_panic
                - freeaddrinfo
                - sin_get_ip
                - i_panic
        - Branch String:   'net.c:995,8'
          Branch Sides:
            - BranchSide:      'net.c:997,25'
              BranchSideFuncs:
                - strlen
                - getaddrinfo
                - net_handle_gai_error
                - t_pop
                - i_panic
                - freeaddrinfo
                - sin_get_ip
                - i_panic
                - t_strndup
            - BranchSide:      'net.c:1001,3'
              BranchSideFuncs:
                - getaddrinfo
                - net_handle_gai_error
                - t_pop
                - i_panic
                - freeaddrinfo
                - sin_get_ip
                - i_panic
        - Branch String:   'net.c:998,9'
          Branch Sides:
            - BranchSide:      'net.c:999,23'
              BranchSideFuncs:
                - t_strndup
                - getaddrinfo
                - net_handle_gai_error
                - t_pop
                - i_panic
                - freeaddrinfo
                - sin_get_ip
                - i_panic
            - BranchSide:      'net.c:1000,4'
              BranchSideFuncs:
                - getaddrinfo
                - net_handle_gai_error
                - t_pop
                - i_panic
                - freeaddrinfo
                - sin_get_ip
                - i_panic
        - Branch String:   'net.c:1007,7'
          Branch Sides:
            - BranchSide:      'net.c:1008,4'
              BranchSideFuncs:
                - sin_get_ip
                - net_handle_gai_error
                - t_pop
                - i_panic
                - freeaddrinfo
                - i_panic
            - BranchSide:      'net.c:1013,7'
              BranchSideFuncs:
                - net_handle_gai_error
                - t_pop
                - i_panic
                - freeaddrinfo
        - Branch String:   'net.c:1008,4'
          Branch Sides:
            - BranchSide:      'net.c:1008,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:1010,29'
              BranchSideFuncs:
                - sin_get_ip
                - net_handle_gai_error
                - t_pop
                - i_panic
                - freeaddrinfo
        - Branch String:   'net.c:1013,7'
          Branch Sides:
            - BranchSide:      'net.c:1014,17'
              BranchSideFuncs:
                - freeaddrinfo
                - net_handle_gai_error
                - t_pop
                - i_panic
            - BranchSide:      'net.c:1015,45'
              BranchSideFuncs:
                - net_handle_gai_error
                - t_pop
                - i_panic
        - Branch String:   'net.c:1016,4'
          Branch Sides:
            - BranchSide:      'net.c:1016,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:1016,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:990,6'
          Dst:             net_addr2ip_inet4_fast
        - Src:             'net.c:993,2'
          Dst:             t_push
        - Src:             'net.c:994,7'
          Dst:             strchr
        - Src:             'net.c:997,18'
          Dst:             strlen
        - Src:             'net.c:999,13'
          Dst:             t_strndup
        - Src:             'net.c:1007,14'
          Dst:             getaddrinfo
        - Src:             'net.c:1008,4'
          Dst:             i_panic
        - Src:             'net.c:1011,4'
          Dst:             sin_get_ip
        - Src:             'net.c:1014,4'
          Dst:             freeaddrinfo
        - Src:             'net.c:1015,9'
          Dst:             net_handle_gai_error
        - Src:             'net.c:1016,4'
          Dst:             t_pop
        - Src:             'net.c:1016,4'
          Dst:             i_panic
    - functionName:    net_addr2ip_inet4_fast
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 958
      functionLinenumberEnd: 984
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - addr
        - ip
      BBCount:         18
      ICount:          111
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - str_parse_uint
      functionUses:    1
      BranchProfiles:
        - Branch String:   'net.c:962,6'
          Branch Sides:
            - BranchSide:      'net.c:963,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:966,4'
              BranchSideFuncs:
                - str_parse_uint
        - Branch String:   'net.c:968,7'
          Branch Sides:
            - BranchSide:      'net.c:969,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:970,14'
              BranchSideFuncs:
                - str_parse_uint
        - Branch String:   'net.c:971,7'
          Branch Sides:
            - BranchSide:      'net.c:972,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:973,4'
              BranchSideFuncs:
                - str_parse_uint
        - Branch String:   'net.c:974,7'
          Branch Sides:
            - BranchSide:      'net.c:975,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:976,7'
              BranchSideFuncs:
                - str_parse_uint
        - Branch String:   'net.c:977,7'
          Branch Sides:
            - BranchSide:      'net.c:967,2'
              BranchSideFuncs: []
            - BranchSide:      'net.c:978,4'
              BranchSideFuncs: []
        - Branch String:   'net.c:980,6'
          Branch Sides:
            - BranchSide:      'net.c:981,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:982,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:962,6'
          Dst:             str_parse_uint
        - Src:             'net.c:977,7'
          Dst:             str_parse_uint
    - functionName:    sin_get_ip
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - so
        - ip
      BBCount:         9
      ICount:          71
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - i_memcpy
      functionUses:    5
      BranchProfiles:
        - Branch String:   'net.c:156,6'
          Branch Sides:
            - BranchSide:      'net.c:157,3'
              BranchSideFuncs:
                - i_memcpy.2689
            - BranchSide:      'net.c:159,13'
              BranchSideFuncs:
                - i_memcpy.2689
        - Branch String:   'net.c:159,13'
          Branch Sides:
            - BranchSide:      'net.c:160,3'
              BranchSideFuncs:
                - i_memcpy.2689
            - BranchSide:      'net.c:162,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:157,3'
          Dst:             i_memcpy
        - Src:             'net.c:160,3'
          Dst:             i_memcpy
    - functionName:    net_getservbyport
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1171
      functionLinenumberEnd: 1175
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - port
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - getservbyport
        - htons
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:1175,9'
          Branch Sides:
            - BranchSide:      'net.c:1175,9'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1175,32'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:1174,24'
          Dst:             htons
        - Src:             'net.c:1174,10'
          Dst:             getservbyport
    - functionName:    getservbyport
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    net_hosterror_notfound
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1162
      functionLinenumberEnd: 1164
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - error
      BBCount:         7
      ICount:          35
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:1164,21'
          Branch Sides:
            - BranchSide:      'net.c:1164,25'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1164,21'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    net_get_hosterror_type
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1131
      functionLinenumberEnd: 1159
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - error
      BBCount:         8
      ICount:          53
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:1152,2'
          Branch Sides:
            - BranchSide:      'net.c:1153,17'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1158,2'
              BranchSideFuncs: []
        - Branch String:   'net.c:1153,7'
          Branch Sides:
            - BranchSide:      'net.c:1154,21'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1155,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    net_gethosterror
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1124
      functionLinenumberEnd: 1127
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - error
      BBCount:         7
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - gai_strerror
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:1125,2'
          Branch Sides:
            - BranchSide:      'net.c:1125,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:1125,2'
              BranchSideFuncs:
                - gai_strerror
      Callsites:
        - Src:             'net.c:1125,2'
          Dst:             i_panic
        - Src:             'net.c:1127,9'
          Dst:             gai_strerror
    - functionName:    net_geterror
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1109
      functionLinenumberEnd: 1121
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - fd
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - getsockopt
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:1113,6'
          Branch Sides:
            - BranchSide:      'net.c:1117,10'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'net.c:1120,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:1113,6'
          Dst:             getsockopt
        - Src:             'net.c:1117,10'
          Dst:             __errno_location
    - functionName:    getsockopt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    net_ipport2str
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1083
      functionLinenumberEnd: 1088
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ip
        - port
      BBCount:         10
      ICount:          77
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - net_ip2addr
        - t_strdup_printf
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:1084,2'
          Branch Sides:
            - BranchSide:      'net.c:1084,2'
              BranchSideFuncs:
                - net_ip2addr
                - t_strdup_printf
                - i_panic
            - BranchSide:      'net.c:1084,2'
              BranchSideFuncs:
                - net_ip2addr
                - t_strdup_printf
                - i_panic
        - Branch String:   'net.c:1084,2'
          Branch Sides:
            - BranchSide:      'net.c:1084,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:1084,2'
              BranchSideFuncs:
                - net_ip2addr
                - t_strdup_printf
      Callsites:
        - Src:             'net.c:1084,2'
          Dst:             i_panic
        - Src:             'net.c:1087,42'
          Dst:             net_ip2addr
        - Src:             'net.c:1086,9'
          Dst:             t_strdup_printf
    - functionName:    net_str2hostport
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1048
      functionLinenumberEnd: 1080
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - default_port
        - host_r
        - port_r
      BBCount:         20
      ICount:          147
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - net_str2port
        - strchr
        - t_strdup_until
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:1052,6'
          Branch Sides:
            - BranchSide:      'net.c:1054,14'
              BranchSideFuncs:
                - strchr
                - t_strdup_until
                - net_str2port
            - BranchSide:      'net.c:1059,14'
              BranchSideFuncs:
                - strchr
                - strchr
                - t_strdup_until
                - net_str2port
        - Branch String:   'net.c:1055,7'
          Branch Sides:
            - BranchSide:      'net.c:1056,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1057,25'
              BranchSideFuncs:
                - t_strdup_until
                - net_str2port
        - Branch String:   'net.c:1060,17'
          Branch Sides:
            - BranchSide:      'net.c:1060,27'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1062,14'
              BranchSideFuncs: []
        - Branch String:   'net.c:1060,7'
          Branch Sides:
            - BranchSide:      'net.c:1062,14'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1066,25'
              BranchSideFuncs:
                - t_strdup_until
                - net_str2port
        - Branch String:   'net.c:1068,6'
          Branch Sides:
            - BranchSide:      'net.c:1069,13'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1073,6'
              BranchSideFuncs:
                - net_str2port
        - Branch String:   'net.c:1073,6'
          Branch Sides:
            - BranchSide:      'net.c:1074,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1075,19'
              BranchSideFuncs:
                - net_str2port
        - Branch String:   'net.c:1075,6'
          Branch Sides:
            - BranchSide:      'net.c:1076,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1077,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:1054,7'
          Dst:             strchr
        - Src:             'net.c:1057,10'
          Dst:             t_strdup_until
        - Src:             'net.c:1059,7'
          Dst:             strchr
        - Src:             'net.c:1060,20'
          Dst:             strchr
        - Src:             'net.c:1066,10'
          Dst:             t_strdup_until
        - Src:             'net.c:1075,6'
          Dst:             net_str2port
    - functionName:    net_str2port
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1021
      functionLinenumberEnd: 1031
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - port_r
      BBCount:         11
      ICount:          58
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - str_to_uintmax
      functionUses:    1
      BranchProfiles:
        - Branch String:   'net.c:1024,6'
          Branch Sides:
            - BranchSide:      'net.c:1025,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1027,6'
              BranchSideFuncs: []
        - Branch String:   'net.c:1027,13'
          Branch Sides:
            - BranchSide:      'net.c:1027,16'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1028,3'
              BranchSideFuncs: []
        - Branch String:   'net.c:1027,6'
          Branch Sides:
            - BranchSide:      'net.c:1028,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1029,23'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:1024,6'
          Dst:             str_to_uintmax
    - functionName:    net_str2port_zero
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1034
      functionLinenumberEnd: 1044
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - port_r
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:1037,6'
          Branch Sides:
            - BranchSide:      'net.c:1038,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1040,6'
              BranchSideFuncs: []
        - Branch String:   'net.c:1040,6'
          Branch Sides:
            - BranchSide:      'net.c:1041,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:1042,23'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:1037,6'
          Dst:             str_to_uintmax
    - functionName:    net_getunixcred
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 806
      functionLinenumberEnd: 928
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - fd
        - cred_r
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - getsockopt
        - i_error
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:817,6'
          Branch Sides:
            - BranchSide:      'net.c:818,3'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'net.c:821,22'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:817,6'
          Dst:             getsockopt
        - Src:             'net.c:818,3'
          Dst:             i_error
    - functionName:    net_getunixname
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 790
      functionLinenumberEnd: 803
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - fd
        - name_r
      BBCount:         8
      ICount:          62
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - getsockname
        - t_strdup
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:795,6'
          Branch Sides:
            - BranchSide:      'net.c:796,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:797,12'
              BranchSideFuncs:
                - t_strdup
                - __errno_location
        - Branch String:   'net.c:797,6'
          Branch Sides:
            - BranchSide:      'net.c:798,3'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'net.c:801,27'
              BranchSideFuncs:
                - t_strdup
      Callsites:
        - Src:             'net.c:795,6'
          Dst:             getsockname
        - Src:             'net.c:798,3'
          Dst:             __errno_location
        - Src:             'net.c:801,12'
          Dst:             t_strdup
    - functionName:    net_getpeername
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 768
      functionLinenumberEnd: 787
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fd
        - addr
        - port
      BBCount:         25
      ICount:          122
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - getpeername
        - i_panic
        - sin_get_ip
        - sin_get_port
      functionUses:    1
      BranchProfiles:
        - Branch String:   'net.c:772,2'
          Branch Sides:
            - BranchSide:      'net.c:772,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:774,2'
              BranchSideFuncs:
                - getpeername
                - sin_get_port
                - sin_get_ip
        - Branch String:   'net.c:776,6'
          Branch Sides:
            - BranchSide:      'net.c:777,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:778,13'
              BranchSideFuncs:
                - sin_get_port
                - sin_get_ip
        - Branch String:   'net.c:778,6'
          Branch Sides:
            - BranchSide:      'net.c:779,7'
              BranchSideFuncs: []
            - BranchSide:      'net.c:783,7'
              BranchSideFuncs:
                - sin_get_port
                - sin_get_ip
        - Branch String:   'net.c:779,7'
          Branch Sides:
            - BranchSide:      'net.c:780,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:781,7'
              BranchSideFuncs: []
        - Branch String:   'net.c:781,7'
          Branch Sides:
            - BranchSide:      'net.c:781,22'
              BranchSideFuncs: []
            - BranchSide:      'net.c:782,2'
              BranchSideFuncs: []
        - Branch String:   'net.c:783,7'
          Branch Sides:
            - BranchSide:      'net.c:783,37'
              BranchSideFuncs:
                - sin_get_ip
                - sin_get_port
            - BranchSide:      'net.c:784,7'
              BranchSideFuncs:
                - sin_get_port
      Callsites:
        - Src:             'net.c:772,2'
          Dst:             i_panic
        - Src:             'net.c:776,6'
          Dst:             getpeername
        - Src:             'net.c:783,21'
          Dst:             sin_get_ip
        - Src:             'net.c:784,29'
          Dst:             sin_get_port
    - functionName:    getpeername
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sin_get_port
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - so
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ntohs
      functionUses:    4
      BranchProfiles:
        - Branch String:   'net.c:177,6'
          Branch Sides:
            - BranchSide:      'net.c:178,16'
              BranchSideFuncs:
                - ntohs
            - BranchSide:      'net.c:179,6'
              BranchSideFuncs:
                - ntohs
        - Branch String:   'net.c:179,6'
          Branch Sides:
            - BranchSide:      'net.c:180,16'
              BranchSideFuncs:
                - ntohs
            - BranchSide:      'net.c:182,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:178,10'
          Dst:             ntohs
        - Src:             'net.c:180,10'
          Dst:             ntohs
    - functionName:    ntohs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    net_getsockname
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 746
      functionLinenumberEnd: 765
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fd
        - addr
        - port
      BBCount:         25
      ICount:          122
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - getsockname
        - i_panic
        - sin_get_ip
        - sin_get_port
      functionUses:    2
      BranchProfiles:
        - Branch String:   'net.c:750,2'
          Branch Sides:
            - BranchSide:      'net.c:750,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:752,2'
              BranchSideFuncs:
                - getsockname
                - sin_get_port
                - sin_get_ip
        - Branch String:   'net.c:754,6'
          Branch Sides:
            - BranchSide:      'net.c:755,3'
              BranchSideFuncs: []
            - BranchSide:      'net.c:756,13'
              BranchSideFuncs:
                - sin_get_port
                - sin_get_ip
        - Branch String:   'net.c:756,6'
          Branch Sides:
            - BranchSide:      'net.c:757,7'
              BranchSideFuncs: []
            - BranchSide:      'net.c:761,7'
              BranchSideFuncs:
                - sin_get_port
                - sin_get_ip
        - Branch String:   'net.c:757,7'
          Branch Sides:
            - BranchSide:      'net.c:758,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:759,7'
              BranchSideFuncs: []
        - Branch String:   'net.c:759,7'
          Branch Sides:
            - BranchSide:      'net.c:759,22'
              BranchSideFuncs: []
            - BranchSide:      'net.c:760,2'
              BranchSideFuncs: []
        - Branch String:   'net.c:761,7'
          Branch Sides:
            - BranchSide:      'net.c:761,37'
              BranchSideFuncs:
                - sin_get_ip
                - sin_get_port
            - BranchSide:      'net.c:762,7'
              BranchSideFuncs:
                - sin_get_port
      Callsites:
        - Src:             'net.c:750,2'
          Dst:             i_panic
        - Src:             'net.c:754,6'
          Dst:             getsockname
        - Src:             'net.c:761,21'
          Dst:             sin_get_ip
        - Src:             'net.c:762,29'
          Dst:             sin_get_port
    - functionName:    net_gethostbyaddr
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 728
      functionLinenumberEnd: 743
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ip
        - name_r
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - getnameinfo
        - net_handle_gai_error
        - sin_set_ip
        - t_strdup
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:738,6'
          Branch Sides:
            - BranchSide:      'net.c:739,10'
              BranchSideFuncs: []
            - BranchSide:      'net.c:741,21'
              BranchSideFuncs:
                - t_strdup
      Callsites:
        - Src:             'net.c:735,2'
          Dst:             sin_set_ip
        - Src:             'net.c:736,8'
          Dst:             getnameinfo
        - Src:             'net.c:738,6'
          Dst:             net_handle_gai_error
        - Src:             'net.c:741,12'
          Dst:             t_strdup
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    net_gethostbyname
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 677
      functionLinenumberEnd: 725
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - addr
        - ips
        - ips_count
      BBCount:         27
      ICount:          192
      EdgeCount:       32
      CyclomaticComplexity: 7
      functionsReached:
        - freeaddrinfo
        - getaddrinfo
        - i_panic
        - malloc_multiply_check
        - net_addr2ip
        - net_handle_gai_error
        - sin_get_ip
        - t_malloc0
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:689,21'
          Branch Sides:
            - BranchSide:      'net.c:689,36'
              BranchSideFuncs:
                - net_addr2ip
                - getaddrinfo
                - net_handle_gai_error
                - malloc_multiply_check.2713
                - t_malloc0
                - freeaddrinfo
                - sin_get_ip
                - i_panic
                - i_panic
                - malloc_multiply_check.2713
                - t_malloc0
            - BranchSide:      'net.c:696,2'
              BranchSideFuncs:
                - getaddrinfo
                - net_handle_gai_error
                - malloc_multiply_check.2713
                - t_malloc0
                - freeaddrinfo
                - sin_get_ip
                - i_panic
                - i_panic
        - Branch String:   'net.c:689,6'
          Branch Sides:
            - BranchSide:      'net.c:690,4'
              BranchSideFuncs:
                - malloc_multiply_check.2713
                - t_malloc0
            - BranchSide:      'net.c:696,2'
              BranchSideFuncs:
                - getaddrinfo
                - net_handle_gai_error
                - malloc_multiply_check.2713
                - t_malloc0
                - freeaddrinfo
                - sin_get_ip
                - i_panic
                - i_panic
        - Branch String:   'net.c:702,6'
          Branch Sides:
            - BranchSide:      'net.c:703,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:708,11'
              BranchSideFuncs:
                - malloc_multiply_check.2713
                - t_malloc0
                - freeaddrinfo
                - sin_get_ip
                - i_panic
        - Branch String:   'net.c:703,3'
          Branch Sides:
            - BranchSide:      'net.c:703,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:704,10'
              BranchSideFuncs: []
        - Branch String:   'net.c:709,2'
          Branch Sides:
            - BranchSide:      'net.c:710,8'
              BranchSideFuncs:
                - malloc_multiply_check.2713
                - t_malloc0
                - freeaddrinfo
                - sin_get_ip
                - i_panic
            - BranchSide:      'net.c:711,2'
              BranchSideFuncs:
                - malloc_multiply_check.2713
                - t_malloc0
                - freeaddrinfo
                - sin_get_ip
                - i_panic
        - Branch String:   'net.c:711,2'
          Branch Sides:
            - BranchSide:      'net.c:711,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:713,15'
              BranchSideFuncs:
                - malloc_multiply_check.2713
                - t_malloc0
                - freeaddrinfo
                - sin_get_ip
        - Branch String:   'net.c:717,2'
          Branch Sides:
            - BranchSide:      'net.c:718,33'
              BranchSideFuncs:
                - sin_get_ip
                - freeaddrinfo
            - BranchSide:      'net.c:722,15'
              BranchSideFuncs:
                - freeaddrinfo
      Callsites:
        - Src:             'net.c:689,24'
          Dst:             net_addr2ip
        - Src:             'net.c:691,10'
          Dst:             malloc_multiply_check
        - Src:             'net.c:691,10'
          Dst:             t_malloc0
        - Src:             'net.c:701,15'
          Dst:             getaddrinfo
        - Src:             'net.c:702,6'
          Dst:             net_handle_gai_error
        - Src:             'net.c:703,3'
          Dst:             i_panic
        - Src:             'net.c:711,2'
          Dst:             i_panic
        - Src:             'net.c:714,9'
          Dst:             malloc_multiply_check
        - Src:             'net.c:714,9'
          Dst:             t_malloc0
        - Src:             'net.c:720,3'
          Dst:             sin_get_ip
        - Src:             'net.c:722,2'
          Dst:             freeaddrinfo
    - functionName:    net_receive
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 649
      functionLinenumberEnd: 673
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - fd
        - buf
        - len
      BBCount:         27
      ICount:          134
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - i_panic
        - read
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:652,2'
          Branch Sides:
            - BranchSide:      'net.c:652,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:653,2'
              BranchSideFuncs:
                - read
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - i_panic
        - Branch String:   'net.c:653,2'
          Branch Sides:
            - BranchSide:      'net.c:653,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:655,13'
              BranchSideFuncs:
                - read
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
        - Branch String:   'net.c:656,6'
          Branch Sides:
            - BranchSide:      'net.c:658,3'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'net.c:662,6'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
        - Branch String:   'net.c:662,6'
          Branch Sides:
            - BranchSide:      'net.c:663,7'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
            - BranchSide:      'net.c:672,9'
              BranchSideFuncs: []
        - Branch String:   'net.c:663,22'
          Branch Sides:
            - BranchSide:      'net.c:663,25'
              BranchSideFuncs: []
            - BranchSide:      'net.c:664,4'
              BranchSideFuncs: []
        - Branch String:   'net.c:663,7'
          Branch Sides:
            - BranchSide:      'net.c:664,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:666,7'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
        - Branch String:   'net.c:666,27'
          Branch Sides:
            - BranchSide:      'net.c:666,30'
              BranchSideFuncs: []
            - BranchSide:      'net.c:668,4'
              BranchSideFuncs: []
        - Branch String:   'net.c:666,7'
          Branch Sides:
            - BranchSide:      'net.c:668,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:670,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:652,2'
          Dst:             i_panic
        - Src:             'net.c:653,2'
          Dst:             i_panic
        - Src:             'net.c:655,8'
          Dst:             read
        - Src:             'net.c:658,3'
          Dst:             __errno_location
        - Src:             'net.c:663,7'
          Dst:             __errno_location
        - Src:             'net.c:663,25'
          Dst:             __errno_location
        - Src:             'net.c:666,7'
          Dst:             __errno_location
        - Src:             'net.c:666,30'
          Dst:             __errno_location
    - functionName:    net_accept
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 620
      functionLinenumberEnd: 646
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fd
        - addr_r
        - port_r
      BBCount:         30
      ICount:          147
      EdgeCount:       38
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - accept
        - i_panic
        - sin_get_ip
        - sin_get_port
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:625,2'
          Branch Sides:
            - BranchSide:      'net.c:625,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'net.c:627,2'
              BranchSideFuncs:
                - accept
                - sin_get_port
                - sin_get_ip
                - __errno_location
                - __errno_location
        - Branch String:   'net.c:631,6'
          Branch Sides:
            - BranchSide:      'net.c:632,7'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
            - BranchSide:      'net.c:637,13'
              BranchSideFuncs:
                - sin_get_port
                - sin_get_ip
        - Branch String:   'net.c:632,23'
          Branch Sides:
            - BranchSide:      'net.c:632,26'
              BranchSideFuncs: []
            - BranchSide:      'net.c:633,4'
              BranchSideFuncs: []
        - Branch String:   'net.c:632,7'
          Branch Sides:
            - BranchSide:      'net.c:633,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:635,4'
              BranchSideFuncs: []
        - Branch String:   'net.c:637,6'
          Branch Sides:
            - BranchSide:      'net.c:638,7'
              BranchSideFuncs: []
            - BranchSide:      'net.c:642,7'
              BranchSideFuncs:
                - sin_get_port
                - sin_get_ip
        - Branch String:   'net.c:638,7'
          Branch Sides:
            - BranchSide:      'net.c:639,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:640,7'
              BranchSideFuncs: []
        - Branch String:   'net.c:640,7'
          Branch Sides:
            - BranchSide:      'net.c:640,24'
              BranchSideFuncs: []
            - BranchSide:      'net.c:641,2'
              BranchSideFuncs: []
        - Branch String:   'net.c:642,7'
          Branch Sides:
            - BranchSide:      'net.c:642,39'
              BranchSideFuncs:
                - sin_get_ip
                - sin_get_port
            - BranchSide:      'net.c:643,7'
              BranchSideFuncs:
                - sin_get_port
      Callsites:
        - Src:             'net.c:625,2'
          Dst:             i_panic
        - Src:             'net.c:629,8'
          Dst:             accept
        - Src:             'net.c:632,7'
          Dst:             __errno_location
        - Src:             'net.c:632,26'
          Dst:             __errno_location
        - Src:             'net.c:642,23'
          Dst:             sin_get_ip
        - Src:             'net.c:643,33'
          Dst:             sin_get_port
    - functionName:    accept
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    net_listen_unix_unlink_stale
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 594
      functionLinenumberEnd: 617
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - path
        - backlog
      BBCount:         19
      ICount:          99
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - i_close_fd_path
        - i_unlink_if_exists
        - net_connect_unix
        - net_listen_unix
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:598,2'
          Branch Sides:
            - BranchSide:      'net.c:599,7'
              BranchSideFuncs:
                - __errno_location
                - net_connect_unix
                - __errno_location
                - i_unlink_if_exists
                - net_listen_unix
                - __errno_location
                - i_close_fd_path
                - __errno_location
            - BranchSide:      'net.c:616,9'
              BranchSideFuncs: []
        - Branch String:   'net.c:599,27'
          Branch Sides:
            - BranchSide:      'net.c:599,30'
              BranchSideFuncs: []
            - BranchSide:      'net.c:600,4'
              BranchSideFuncs: []
        - Branch String:   'net.c:599,7'
          Branch Sides:
            - BranchSide:      'net.c:600,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:603,25'
              BranchSideFuncs:
                - net_connect_unix
                - __errno_location
                - i_unlink_if_exists
                - net_listen_unix
                - __errno_location
                - __errno_location
                - i_close_fd_path
                - __errno_location
        - Branch String:   'net.c:604,16'
          Branch Sides:
            - BranchSide:      'net.c:604,19'
              BranchSideFuncs:
                - i_close_fd_path
                - __errno_location
            - BranchSide:      'net.c:605,4'
              BranchSideFuncs:
                - i_close_fd_path
                - __errno_location
        - Branch String:   'net.c:604,7'
          Branch Sides:
            - BranchSide:      'net.c:605,4'
              BranchSideFuncs:
                - i_close_fd_path
                - __errno_location
            - BranchSide:      'net.c:611,7'
              BranchSideFuncs:
                - i_unlink_if_exists
                - net_listen_unix
                - __errno_location
                - net_connect_unix
                - __errno_location
                - i_close_fd_path
                - __errno_location
                - __errno_location
        - Branch String:   'net.c:611,7'
          Branch Sides:
            - BranchSide:      'net.c:598,2'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'net.c:612,4'
              BranchSideFuncs:
                - __errno_location
      Callsites:
        - Src:             'net.c:598,15'
          Dst:             net_listen_unix
        - Src:             'net.c:599,7'
          Dst:             __errno_location
        - Src:             'net.c:603,8'
          Dst:             net_connect_unix
        - Src:             'net.c:604,19'
          Dst:             __errno_location
        - Src:             'net.c:605,4'
          Dst:             i_close_fd_path
        - Src:             'net.c:606,4'
          Dst:             __errno_location
        - Src:             'net.c:611,7'
          Dst:             i_unlink_if_exists
        - Src:             'net.c:612,4'
          Dst:             __errno_location
    - functionName:    net_listen_unix
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 540
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - path
        - backlog
      BBCount:         19
      ICount:          107
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - bind
        - i_close_fd_path
        - i_error
        - i_strocpy
        - listen
        - socket
      functionUses:    1
      BranchProfiles:
        - Branch String:   'net.c:549,6'
          Branch Sides:
            - BranchSide:      'net.c:552,3'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'net.c:560,7'
              BranchSideFuncs:
                - socket
                - bind
                - listen
                - __errno_location
                - i_close_fd_path
                - i_error
                - __errno_location
                - i_error
                - i_error
        - Branch String:   'net.c:561,6'
          Branch Sides:
            - BranchSide:      'net.c:562,3'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'net.c:577,11'
              BranchSideFuncs:
                - bind
                - listen
                - __errno_location
                - i_close_fd_path
                - i_error
                - __errno_location
                - i_error
        - Branch String:   'net.c:577,6'
          Branch Sides:
            - BranchSide:      'net.c:578,7'
              BranchSideFuncs:
                - __errno_location
                - i_close_fd_path
                - i_error
            - BranchSide:      'net.c:582,14'
              BranchSideFuncs:
                - listen
                - __errno_location
                - i_close_fd_path
                - i_error
        - Branch String:   'net.c:578,7'
          Branch Sides:
            - BranchSide:      'net.c:579,35'
              BranchSideFuncs:
                - i_error
                - i_close_fd_path
            - BranchSide:      'net.c:580,2'
              BranchSideFuncs:
                - i_close_fd_path
        - Branch String:   'net.c:582,7'
          Branch Sides:
            - BranchSide:      'net.c:583,11'
              BranchSideFuncs: []
            - BranchSide:      'net.c:585,7'
              BranchSideFuncs:
                - __errno_location
                - i_close_fd_path
                - i_error
      Callsites:
        - Src:             'net.c:549,6'
          Dst:             i_strocpy
        - Src:             'net.c:552,3'
          Dst:             __errno_location
        - Src:             'net.c:560,7'
          Dst:             socket
        - Src:             'net.c:562,3'
          Dst:             i_error
        - Src:             'net.c:577,6'
          Dst:             bind
        - Src:             'net.c:578,7'
          Dst:             __errno_location
        - Src:             'net.c:579,4'
          Dst:             i_error
        - Src:             'net.c:582,7'
          Dst:             listen
        - Src:             'net.c:585,7'
          Dst:             __errno_location
        - Src:             'net.c:586,4'
          Dst:             i_error
        - Src:             'net.c:589,2'
          Dst:             i_close_fd_path
    - functionName:    net_connect_unix
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
      BBCount:         13
      ICount:          87
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - connect
        - i_close_fd_path
        - i_error
        - i_strocpy
        - net_set_nonblock
        - socket
      functionUses:    2
      BranchProfiles:
        - Branch String:   'net.c:312,6'
          Branch Sides:
            - BranchSide:      'net.c:315,3'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'net.c:323,7'
              BranchSideFuncs:
                - socket
                - net_set_nonblock
                - connect
                - __errno_location
                - i_close_fd_path
                - i_error
        - Branch String:   'net.c:324,6'
          Branch Sides:
            - BranchSide:      'net.c:325,36'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'net.c:329,19'
              BranchSideFuncs:
                - net_set_nonblock
                - connect
                - __errno_location
                - i_close_fd_path
        - Branch String:   'net.c:333,14'
          Branch Sides:
            - BranchSide:      'net.c:333,17'
              BranchSideFuncs:
                - __errno_location
                - i_close_fd_path
            - BranchSide:      'net.c:348,9'
              BranchSideFuncs: []
        - Branch String:   'net.c:333,6'
          Branch Sides:
            - BranchSide:      'net.c:334,3'
              BranchSideFuncs:
                - i_close_fd_path
            - BranchSide:      'net.c:348,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:312,6'
          Dst:             i_strocpy
        - Src:             'net.c:315,3'
          Dst:             __errno_location
        - Src:             'net.c:323,7'
          Dst:             socket
        - Src:             'net.c:325,3'
          Dst:             i_error
        - Src:             'net.c:329,2'
          Dst:             net_set_nonblock
        - Src:             'net.c:332,8'
          Dst:             connect
        - Src:             'net.c:333,17'
          Dst:             __errno_location
        - Src:             'net.c:334,3'
          Dst:             i_close_fd_path
    - functionName:    listen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    net_listen_full
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 537
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - my_ip
        - port
        - flags
        - backlog
      BBCount:         42
      ICount:          257
      EdgeCount:       56
      CyclomaticComplexity: 16
      functionsReached:
        - __errno_location
        - bind
        - getsockname
        - i_close_fd_path
        - i_error
        - listen
        - net_ip2addr
        - setsockopt
        - sin_get_port
        - sin_set_ip
        - sin_set_port
        - socket
      functionUses:    1
      BranchProfiles:
        - Branch String:   'net.c:478,15'
          Branch Sides:
            - BranchSide:      'net.c:478,18'
              BranchSideFuncs:
                - setsockopt
                - setsockopt
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
                - setsockopt
                - i_error
                - __errno_location
                - __errno_location
                - socket
            - BranchSide:      'net.c:486,6'
              BranchSideFuncs:
                - setsockopt
                - setsockopt
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
                - setsockopt
                - i_error
        - Branch String:   'net.c:478,32'
          Branch Sides:
            - BranchSide:      'net.c:479,7'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - setsockopt
                - setsockopt
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
                - setsockopt
                - i_error
                - socket
            - BranchSide:      'net.c:486,6'
              BranchSideFuncs:
                - setsockopt
                - setsockopt
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
                - setsockopt
                - i_error
        - Branch String:   'net.c:479,23'
          Branch Sides:
            - BranchSide:      'net.c:479,26'
              BranchSideFuncs:
                - socket
                - setsockopt
                - setsockopt
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
                - setsockopt
                - i_error
            - BranchSide:      'net.c:481,10'
              BranchSideFuncs:
                - socket
                - setsockopt
                - setsockopt
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
                - setsockopt
                - i_error
        - Branch String:   'net.c:478,6'
          Branch Sides:
            - BranchSide:      'net.c:481,10'
              BranchSideFuncs:
                - socket
                - setsockopt
                - setsockopt
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
                - setsockopt
                - i_error
            - BranchSide:      'net.c:486,6'
              BranchSideFuncs:
                - setsockopt
                - setsockopt
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
                - setsockopt
                - i_error
        - Branch String:   'net.c:486,6'
          Branch Sides:
            - BranchSide:      'net.c:487,3'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'net.c:492,19'
              BranchSideFuncs:
                - setsockopt
                - setsockopt
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
                - setsockopt
        - Branch String:   'net.c:495,6'
          Branch Sides:
            - BranchSide:      'net.c:497,18'
              BranchSideFuncs:
                - setsockopt
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
            - BranchSide:      'net.c:506,13'
              BranchSideFuncs:
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
        - Branch String:   'net.c:497,7'
          Branch Sides:
            - BranchSide:      'net.c:500,5'
              BranchSideFuncs:
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
            - BranchSide:      'net.c:501,2'
              BranchSideFuncs:
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
                - setsockopt
        - Branch String:   'net.c:506,6'
          Branch Sides:
            - BranchSide:      'net.c:507,7'
              BranchSideFuncs:
                - setsockopt
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
            - BranchSide:      'net.c:512,13'
              BranchSideFuncs:
                - bind
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
                - __errno_location
                - net_ip2addr
                - i_error
        - Branch String:   'net.c:513,6'
          Branch Sides:
            - BranchSide:      'net.c:514,7'
              BranchSideFuncs:
                - __errno_location
                - i_close_fd_path
                - net_ip2addr
                - i_error
            - BranchSide:      'net.c:520,9'
              BranchSideFuncs:
                - getsockname
                - i_close_fd_path
                - sin_get_port
                - listen
                - __errno_location
                - i_error
        - Branch String:   'net.c:514,7'
          Branch Sides:
            - BranchSide:      'net.c:516,5'
              BranchSideFuncs:
                - net_ip2addr
                - i_error
                - i_close_fd_path
            - BranchSide:      'net.c:518,2'
              BranchSideFuncs:
                - i_close_fd_path
        - Branch String:   'net.c:516,5'
          Branch Sides:
            - BranchSide:      'net.c:516,47'
              BranchSideFuncs:
                - i_error
                - i_close_fd_path
            - BranchSide:      'net.c:516,38'
              BranchSideFuncs:
                - net_ip2addr
                - i_error
                - i_close_fd_path
        - Branch String:   'net.c:526,8'
          Branch Sides:
            - BranchSide:      'net.c:527,12'
              BranchSideFuncs: []
            - BranchSide:      'net.c:529,8'
              BranchSideFuncs:
                - __errno_location
                - i_close_fd_path
                - i_error
        - Branch String:   'net.c:529,8'
          Branch Sides:
            - BranchSide:      'net.c:530,5'
              BranchSideFuncs:
                - i_error
                - i_close_fd_path
            - BranchSide:      'net.c:531,3'
              BranchSideFuncs:
                - i_close_fd_path
      Callsites:
        - Src:             'net.c:473,2'
          Dst:             sin_set_ip
        - Src:             'net.c:474,2'
          Dst:             sin_set_port
        - Src:             'net.c:477,7'
          Dst:             socket
        - Src:             'net.c:479,7'
          Dst:             __errno_location
        - Src:             'net.c:479,26'
          Dst:             __errno_location
        - Src:             'net.c:484,8'
          Dst:             socket
        - Src:             'net.c:487,3'
          Dst:             i_error
        - Src:             'net.c:492,8'
          Dst:             setsockopt
        - Src:             'net.c:493,8'
          Dst:             setsockopt
        - Src:             'net.c:497,7'
          Dst:             setsockopt
        - Src:             'net.c:508,9'
          Dst:             setsockopt
        - Src:             'net.c:512,8'
          Dst:             bind
        - Src:             'net.c:514,7'
          Dst:             __errno_location
        - Src:             'net.c:516,26'
          Dst:             net_ip2addr
        - Src:             'net.c:515,4'
          Dst:             i_error
        - Src:             'net.c:521,9'
          Dst:             getsockname
        - Src:             'net.c:523,12'
          Dst:             sin_get_port
        - Src:             'net.c:526,8'
          Dst:             listen
        - Src:             'net.c:529,8'
          Dst:             __errno_location
        - Src:             'net.c:530,5'
          Dst:             i_error
        - Src:             'net.c:535,2'
          Dst:             i_close_fd_path
    - functionName:    net_listen
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 459
      functionLinenumberEnd: 462
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - my_ip
        - port
        - backlog
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - net_listen_full
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'net.c:462,9'
          Dst:             net_listen_full
    - functionName:    net_set_recv_buffer_size
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 427
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - fd
        - size
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - setsockopt
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:430,6'
          Branch Sides:
            - BranchSide:      'net.c:431,3'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'net.c:434,13'
              BranchSideFuncs:
                - setsockopt
      Callsites:
        - Src:             'net.c:431,3'
          Dst:             __errno_location
        - Src:             'net.c:435,9'
          Dst:             setsockopt
    - functionName:    net_set_send_buffer_size
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 415
      functionLinenumberEnd: 424
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - fd
        - size
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - setsockopt
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:418,6'
          Branch Sides:
            - BranchSide:      'net.c:419,3'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'net.c:422,13'
              BranchSideFuncs:
                - setsockopt
      Callsites:
        - Src:             'net.c:419,3'
          Dst:             __errno_location
        - Src:             'net.c:423,9'
          Dst:             setsockopt
    - functionName:    net_set_tcp_quickack
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - bool
      constantsTouched: []
      argNames:
        - fd
        - quickack
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - setsockopt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'net.c:407,9'
          Dst:             setsockopt
    - functionName:    net_set_tcp_nodelay
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - bool
      constantsTouched: []
      argNames:
        - fd
        - nodelay
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - setsockopt
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'net.c:399,9'
          Dst:             setsockopt
    - functionName:    net_set_cork
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - bool
      constantsTouched: []
      argNames:
        - fd
        - cork
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - setsockopt
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'net.c:388,9'
          Dst:             setsockopt
    - functionName:    net_disconnect
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 371
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - fd
      BBCount:         8
      ICount:          37
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - close
        - i_error
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:374,20'
          Branch Sides:
            - BranchSide:      'net.c:374,23'
              BranchSideFuncs:
                - __errno_location
                - i_error
            - BranchSide:      'net.c:374,20'
              BranchSideFuncs: []
        - Branch String:   'net.c:374,6'
          Branch Sides:
            - BranchSide:      'net.c:374,6'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'net.c:375,3'
              BranchSideFuncs:
                - i_error
      Callsites:
        - Src:             'net.c:374,6'
          Dst:             close
        - Src:             'net.c:374,23'
          Dst:             __errno_location
        - Src:             'net.c:375,3'
          Dst:             i_error
    - functionName:    timeval_diff_msecs
      functionSourceFile: '/src/dovecot/src/lib/./time-util.h'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - tv1
        - tv2
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - timeval_diff_usecs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './time-util.h:26,9'
          Dst:             timeval_diff_usecs
    - functionName:    i_rand_minmax
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - min_val
        - max_val
      BBCount:         7
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_rand_limit
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lib.h:137,2'
          Branch Sides:
            - BranchSide:      './lib.h:137,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:137,2'
              BranchSideFuncs:
                - i_rand_limit
      Callsites:
        - Src:             './lib.h:137,2'
          Dst:             i_panic
        - Src:             './lib.h:138,19'
          Dst:             i_rand_limit
    - functionName:    net_connect_unix_with_retries
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - path
        - msecs
      BBCount:         16
      ICount:          78
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - i_gettimeofday
        - i_rand_minmax
        - net_connect_unix
        - timeval_diff_msecs
        - usleep
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:360,16'
          Branch Sides:
            - BranchSide:      'net.c:360,20'
              BranchSideFuncs: []
            - BranchSide:      'net.c:361,4'
              BranchSideFuncs: []
        - Branch String:   'net.c:360,36'
          Branch Sides:
            - BranchSide:      'net.c:360,39'
              BranchSideFuncs:
                - __errno_location
                - i_rand_minmax
                - usleep
                - i_gettimeofday
                - timeval_diff_msecs
                - net_connect_unix
                - __errno_location
            - BranchSide:      'net.c:364,10'
              BranchSideFuncs:
                - i_rand_minmax
                - usleep
                - i_gettimeofday
                - timeval_diff_msecs
                - net_connect_unix
                - __errno_location
                - __errno_location
        - Branch String:   'net.c:360,7'
          Branch Sides:
            - BranchSide:      'net.c:361,4'
              BranchSideFuncs: []
            - BranchSide:      'net.c:364,10'
              BranchSideFuncs:
                - i_rand_minmax
                - usleep
                - i_gettimeofday
                - timeval_diff_msecs
                - net_connect_unix
                - __errno_location
                - __errno_location
        - Branch String:   'net.c:366,2'
          Branch Sides:
            - BranchSide:      'net.c:359,25'
              BranchSideFuncs:
                - net_connect_unix
                - __errno_location
                - i_rand_minmax
                - usleep
                - i_gettimeofday
                - timeval_diff_msecs
                - __errno_location
            - BranchSide:      'net.c:366,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:356,2'
          Dst:             i_gettimeofday
        - Src:             'net.c:359,8'
          Dst:             net_connect_unix
        - Src:             'net.c:360,20'
          Dst:             __errno_location
        - Src:             'net.c:360,39'
          Dst:             __errno_location
        - Src:             'net.c:364,10'
          Dst:             i_rand_minmax
        - Src:             'net.c:364,3'
          Dst:             usleep
        - Src:             'net.c:365,3'
          Dst:             i_gettimeofday
        - Src:             'net.c:366,11'
          Dst:             timeval_diff_msecs
    - functionName:    usleep
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    net_try_bind
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 283
      functionLinenumberEnd: 303
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ip
      BBCount:         8
      ICount:          73
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - bind
        - i_close_fd_path
        - i_error
        - sin_set_ip
        - socket
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:291,6'
          Branch Sides:
            - BranchSide:      'net.c:292,3'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'net.c:296,18'
              BranchSideFuncs:
                - sin_set_ip
                - bind
                - i_close_fd_path
                - i_close_fd_path
        - Branch String:   'net.c:297,6'
          Branch Sides:
            - BranchSide:      'net.c:298,3'
              BranchSideFuncs:
                - i_close_fd_path
            - BranchSide:      'net.c:301,2'
              BranchSideFuncs:
                - i_close_fd_path
      Callsites:
        - Src:             'net.c:290,7'
          Dst:             socket
        - Src:             'net.c:292,3'
          Dst:             i_error
        - Src:             'net.c:296,2'
          Dst:             sin_set_ip
        - Src:             'net.c:297,6'
          Dst:             bind
        - Src:             'net.c:298,3'
          Dst:             i_close_fd_path
        - Src:             'net.c:301,2'
          Dst:             i_close_fd_path
    - functionName:    net_connect_udp
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ip
        - port
        - my_ip
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - net_connect_ip_full
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'net.c:279,9'
          Dst:             net_connect_ip_full
    - functionName:    net_connect_ip_full
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - int
        - bool
      constantsTouched: []
      argNames:
        - ip
        - port
        - my_ip
        - sock_type
        - blocking
      BBCount:         12
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - net_connect_ip_once
      functionUses:    3
      BranchProfiles:
        - Branch String:   'net.c:249,16'
          Branch Sides:
            - BranchSide:      'net.c:249,22'
              BranchSideFuncs: []
            - BranchSide:      'net.c:259,4'
              BranchSideFuncs: []
        - Branch String:   'net.c:249,48'
          Branch Sides:
            - BranchSide:      'net.c:250,8'
              BranchSideFuncs: []
            - BranchSide:      'net.c:259,4'
              BranchSideFuncs: []
        - Branch String:   'net.c:249,7'
          Branch Sides:
            - BranchSide:      'net.c:247,2'
              BranchSideFuncs: []
            - BranchSide:      'net.c:259,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:248,8'
          Dst:             net_connect_ip_once
        - Src:             'net.c:250,8'
          Dst:             __errno_location
    - functionName:    net_connect_ip_blocking
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 272
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ip
        - port
        - my_ip
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - net_connect_ip_full
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'net.c:273,9'
          Dst:             net_connect_ip_full
    - functionName:    net_connect_ip
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 267
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ip
        - port
        - my_ip
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - net_connect_ip_full
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'net.c:267,9'
          Dst:             net_connect_ip_full
    - functionName:    net_ip_hash
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ip
      BBCount:         12
      ICount:          95
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'net.c:110,6'
          Branch Sides:
            - BranchSide:      'net.c:111,7'
              BranchSideFuncs: []
            - BranchSide:      'net.c:115,10'
              BranchSideFuncs: []
        - Branch String:   'net.c:118,2'
          Branch Sides:
            - BranchSide:      'net.c:119,8'
              BranchSideFuncs: []
            - BranchSide:      'net.c:126,9'
              BranchSideFuncs: []
        - Branch String:   'net.c:120,7'
          Branch Sides:
            - BranchSide:      'net.c:121,8'
              BranchSideFuncs: []
            - BranchSide:      'net.c:124,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    net_ip_cmp
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ip1
        - ip2
      BBCount:         10
      ICount:          77
      EdgeCount:       10
      CyclomaticComplexity: 2
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'net.c:91,6'
          Branch Sides:
            - BranchSide:      'net.c:92,10'
              BranchSideFuncs: []
            - BranchSide:      'net.c:94,10'
              BranchSideFuncs:
                - memcmp
                - memcmp
        - Branch String:   'net.c:94,2'
          Branch Sides:
            - BranchSide:      'net.c:96,18'
              BranchSideFuncs:
                - memcmp
            - BranchSide:      'net.c:98,18'
              BranchSideFuncs:
                - memcmp
            - BranchSide:      'net.c:100,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'net.c:96,10'
          Dst:             memcmp
        - Src:             'net.c:98,10'
          Dst:             memcmp
    - functionName:    net_ip_compare
      functionSourceFile: '/src/dovecot/src/lib/net.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ip1
        - ip2
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - net_ip_cmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'net.c:86,9'
          Dst:             net_ip_cmp
    - functionName:    i_stream_read_bytes
      functionSourceFile: '/src/dovecot/src/lib/./istream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - data_r
        - size_r
        - wanted
      BBCount:         7
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_read_data
      functionUses:    1
      BranchProfiles:
        - Branch String:   './istream.h:229,2'
          Branch Sides:
            - BranchSide:      './istream.h:229,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './istream.h:229,2'
              BranchSideFuncs:
                - i_stream_read_data
      Callsites:
        - Src:             './istream.h:229,2'
          Dst:             i_panic
        - Src:             './istream.h:230,9'
          Dst:             i_stream_read_data
    - functionName:    o_stream_create_passthrough
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 851
      functionLinenumberEnd: 855
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - output
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - o_stream_create
        - o_stream_get_fd
        - p_malloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:854,11'
          Dst:             malloc_multiply_check
        - Src:             'ostream.c:854,11'
          Dst:             p_malloc
        - Src:             'ostream.c:855,41'
          Dst:             o_stream_get_fd
        - Src:             'ostream.c:855,9'
          Dst:             o_stream_create
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    o_stream_get_fd
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 25
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_create
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 761
      functionLinenumberEnd: 818
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - _stream
        - parent
        - fd
      BBCount:         51
      ICount:          360
      EdgeCount:       67
      CyclomaticComplexity: 18
      functionsReached:
        - io_stream_init
        - o_stream_ref
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ostream.c:766,6'
          Branch Sides:
            - BranchSide:      'ostream.c:767,31'
              BranchSideFuncs:
                - o_stream_ref
                - io_stream_init
            - BranchSide:      'ostream.c:780,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:771,7'
          Branch Sides:
            - BranchSide:      'ostream.c:772,24'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:775,30'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:780,6'
          Branch Sides:
            - BranchSide:      'ostream.c:781,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:782,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:782,6'
          Branch Sides:
            - BranchSide:      'ostream.c:783,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:784,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:784,6'
          Branch Sides:
            - BranchSide:      'ostream.c:785,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:789,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:789,6'
          Branch Sides:
            - BranchSide:      'ostream.c:790,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:791,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:791,6'
          Branch Sides:
            - BranchSide:      'ostream.c:792,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:793,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:793,6'
          Branch Sides:
            - BranchSide:      'ostream.c:794,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:797,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:797,6'
          Branch Sides:
            - BranchSide:      'ostream.c:798,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:799,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:799,6'
          Branch Sides:
            - BranchSide:      'ostream.c:800,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:802,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:802,6'
          Branch Sides:
            - BranchSide:      'ostream.c:803,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:806,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:806,6'
          Branch Sides:
            - BranchSide:      'ostream.c:807,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:808,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:808,6'
          Branch Sides:
            - BranchSide:      'ostream.c:809,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:810,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:810,6'
          Branch Sides:
            - BranchSide:      'ostream.c:811,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:812,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:812,6'
          Branch Sides:
            - BranchSide:      'ostream.c:813,3'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:814,6'
              BranchSideFuncs:
                - io_stream_init
        - Branch String:   'ostream.c:814,6'
          Branch Sides:
            - BranchSide:      'ostream.c:814,6'
              BranchSideFuncs:
                - io_stream_init
            - BranchSide:      'ostream.c:815,3'
              BranchSideFuncs:
                - io_stream_init
      Callsites:
        - Src:             'ostream.c:769,3'
          Dst:             o_stream_ref
        - Src:             'ostream.c:817,2'
          Dst:             io_stream_init
    - functionName:    o_stream_ref
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_ref
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:97,2'
          Dst:             io_stream_ref
    - functionName:    o_stream_default_close
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 575
      functionLinenumberEnd: 582
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - close_parent
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - o_stream_close
        - o_stream_flush
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:580,6'
          Branch Sides:
            - BranchSide:      'ostream.c:580,6'
              BranchSideFuncs:
                - o_stream_close
            - BranchSide:      'ostream.c:581,18'
              BranchSideFuncs:
                - o_stream_close
      Callsites:
        - Src:             'ostream.c:579,8'
          Dst:             o_stream_flush
        - Src:             'ostream.c:581,3'
          Dst:             o_stream_close
    - functionName:    o_stream_default_destroy
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 585
      functionLinenumberEnd: 590
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_unref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:589,2'
          Dst:             o_stream_unref
    - functionName:    o_stream_default_set_max_buffer_size
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 595
      functionLinenumberEnd: 602
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - max_size
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - o_stream_set_max_buffer_size
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:599,6'
          Branch Sides:
            - BranchSide:      'ostream.c:599,6'
              BranchSideFuncs:
                - o_stream_set_max_buffer_size
            - BranchSide:      'ostream.c:600,32'
              BranchSideFuncs:
                - o_stream_set_max_buffer_size
      Callsites:
        - Src:             'ostream.c:600,3'
          Dst:             o_stream_set_max_buffer_size
    - functionName:    o_stream_default_cork
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 605
      functionLinenumberEnd: 617
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - _stream
        - set
      BBCount:         12
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - o_stream_cork
        - o_stream_flush
        - o_stream_uncork
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:607,6'
          Branch Sides:
            - BranchSide:      'ostream.c:608,7'
              BranchSideFuncs:
                - o_stream_cork
            - BranchSide:      'ostream.c:611,25'
              BranchSideFuncs:
                - o_stream_flush
                - o_stream_uncork
        - Branch String:   'ostream.c:608,7'
          Branch Sides:
            - BranchSide:      'ostream.c:609,18'
              BranchSideFuncs:
                - o_stream_cork
            - BranchSide:      'ostream.c:610,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream.c:609,4'
          Dst:             o_stream_cork
        - Src:             'ostream.c:611,9'
          Dst:             o_stream_flush
        - Src:             'ostream.c:615,4'
          Dst:             o_stream_uncork
    - functionName:    o_stream_default_flush
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 666
      functionLinenumberEnd: 671
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - o_stream_flush_parent
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:667,6'
          Branch Sides:
            - BranchSide:      'ostream.c:668,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:670,31'
              BranchSideFuncs:
                - o_stream_flush_parent
      Callsites:
        - Src:             'ostream.c:670,9'
          Dst:             o_stream_flush_parent
    - functionName:    o_stream_default_set_flush_callback
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 677
      functionLinenumberEnd: 683
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
        - callback
        - context
      BBCount:         8
      ICount:          56
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - o_stream_set_flush_callback
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:678,30'
          Branch Sides:
            - BranchSide:      'ostream.c:678,33'
              BranchSideFuncs:
                - o_stream_set_flush_callback
            - BranchSide:      'ostream.c:678,30'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:678,6'
          Branch Sides:
            - BranchSide:      'ostream.c:678,6'
              BranchSideFuncs:
                - o_stream_set_flush_callback
            - BranchSide:      'ostream.c:679,31'
              BranchSideFuncs:
                - o_stream_set_flush_callback
      Callsites:
        - Src:             'ostream.c:679,3'
          Dst:             o_stream_set_flush_callback
    - functionName:    o_stream_default_set_flush_pending
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 687
      functionLinenumberEnd: 690
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - _stream
        - set
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - o_stream_set_flush_pending
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:688,6'
          Branch Sides:
            - BranchSide:      'ostream.c:688,6'
              BranchSideFuncs:
                - o_stream_set_flush_pending
            - BranchSide:      'ostream.c:689,30'
              BranchSideFuncs:
                - o_stream_set_flush_pending
      Callsites:
        - Src:             'ostream.c:689,3'
          Dst:             o_stream_set_flush_pending
    - functionName:    o_stream_default_get_buffer_used_size
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 694
      functionLinenumberEnd: 699
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - o_stream_get_buffer_used_size
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:695,6'
          Branch Sides:
            - BranchSide:      'ostream.c:696,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:698,40'
              BranchSideFuncs:
                - o_stream_get_buffer_used_size
      Callsites:
        - Src:             'ostream.c:698,10'
          Dst:             o_stream_get_buffer_used_size
    - functionName:    o_stream_default_get_buffer_avail_size
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 703
      functionLinenumberEnd: 710
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - o_stream_get_buffer_used_size
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:709,9'
          Branch Sides:
            - BranchSide:      'ostream.c:709,9'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:710,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream.c:707,16'
          Dst:             o_stream_get_buffer_used_size
    - functionName:    o_stream_default_seek
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 716
      functionLinenumberEnd: 718
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - _stream
        - offset
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_default_sendv
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 724
      functionLinenumberEnd: 733
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - stream
        - iov
        - iov_count
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - o_stream_copy_error_from_parent
        - o_stream_sendv
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:727,6'
          Branch Sides:
            - BranchSide:      'ostream.c:728,35'
              BranchSideFuncs:
                - o_stream_copy_error_from_parent
            - BranchSide:      'ostream.c:731,28'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream.c:727,13'
          Dst:             o_stream_sendv
        - Src:             'ostream.c:728,3'
          Dst:             o_stream_copy_error_from_parent
    - functionName:    o_stream_default_write_at
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 739
      functionLinenumberEnd: 741
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - _stream
        - data
        - size
        - offset
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_default_send_istream
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 747
      functionLinenumberEnd: 748
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - outstream
        - instream
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_copy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:748,9'
          Dst:             io_stream_copy
    - functionName:    o_stream_default_switch_ioloop_to
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 754
      functionLinenumberEnd: 757
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
        - ioloop
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - o_stream_switch_ioloop_to
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:755,6'
          Branch Sides:
            - BranchSide:      'ostream.c:755,6'
              BranchSideFuncs:
                - o_stream_switch_ioloop_to
            - BranchSide:      'ostream.c:756,29'
              BranchSideFuncs:
                - o_stream_switch_ioloop_to
      Callsites:
        - Src:             'ostream.c:756,3'
          Dst:             o_stream_switch_ioloop_to
    - functionName:    o_stream_switch_ioloop_to
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 560
      functionLinenumberEnd: 566
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - ioloop
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_switch_ioloop_to
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:563,2'
          Dst:             io_stream_switch_ioloop_to
    - functionName:    io_stream_copy
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 538
      functionLinenumberEnd: 557
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - outstream
        - instream
      BBCount:         16
      ICount:          87
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - i_stream_have_bytes_left
        - i_stream_read_more
        - i_stream_skip
        - o_stream_sendv
      functionUses:    4
      BranchProfiles:
        - Branch String:   'ostream.c:543,2'
          Branch Sides:
            - BranchSide:      'ostream.c:544,18'
              BranchSideFuncs:
                - o_stream_sendv
                - i_stream_skip
                - i_stream_read_more.2888
                - i_stream_have_bytes_left
            - BranchSide:      'ostream.c:552,6'
              BranchSideFuncs:
                - i_stream_have_bytes_left
        - Branch String:   'ostream.c:545,7'
          Branch Sides:
            - BranchSide:      'ostream.c:546,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:547,12'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_read_more.2888
                - i_stream_have_bytes_left
                - o_stream_sendv
        - Branch String:   'ostream.c:552,6'
          Branch Sides:
            - BranchSide:      'ostream.c:553,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:554,31'
              BranchSideFuncs:
                - i_stream_have_bytes_left
        - Branch String:   'ostream.c:554,6'
          Branch Sides:
            - BranchSide:      'ostream.c:555,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:556,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream.c:543,9'
          Dst:             i_stream_read_more
        - Src:             'ostream.c:545,14'
          Dst:             o_stream_sendv
        - Src:             'ostream.c:549,3'
          Dst:             i_stream_skip
        - Src:             'ostream.c:554,6'
          Dst:             i_stream_have_bytes_left
    - functionName:    i_stream_read_more
      functionSourceFile: '/src/dovecot/src/lib/./istream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - data_r
        - size_r
      BBCount:         7
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_read_bytes
      functionUses:    1
      BranchProfiles:
        - Branch String:   './istream.h:238,2'
          Branch Sides:
            - BranchSide:      './istream.h:238,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './istream.h:238,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './istream.h:237,12'
          Dst:             i_stream_read_bytes
        - Src:             './istream.h:238,2'
          Dst:             i_panic
    - functionName:    o_stream_sendv
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 360
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - stream
        - iov
        - iov_count
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - o_stream_sendv_int
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ostream.c:355,6'
          Branch Sides:
            - BranchSide:      'ostream.c:355,6'
              BranchSideFuncs:
                - o_stream_sendv_int
                - __errno_location
            - BranchSide:      'ostream.c:355,6'
              BranchSideFuncs:
                - o_stream_sendv_int
                - __errno_location
        - Branch String:   'ostream.c:355,6'
          Branch Sides:
            - BranchSide:      'ostream.c:356,11'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'ostream.c:359,28'
              BranchSideFuncs:
                - o_stream_sendv_int
      Callsites:
        - Src:             'ostream.c:356,3'
          Dst:             __errno_location
        - Src:             'ostream.c:359,9'
          Dst:             o_stream_sendv_int
    - functionName:    o_stream_sendv_int
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 348
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - iov
        - iov_count
        - overflow_r
      BBCount:         31
      ICount:          204
      EdgeCount:       36
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ostream.c:328,2'
          Branch Sides:
            - BranchSide:      'ostream.c:329,17'
              BranchSideFuncs:
                - i_panic
                - __errno_location
                - i_panic
                - i_panic
            - BranchSide:      'ostream.c:330,6'
              BranchSideFuncs:
                - i_panic
                - __errno_location
                - i_panic
                - i_panic
        - Branch String:   'ostream.c:330,6'
          Branch Sides:
            - BranchSide:      'ostream.c:331,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:333,2'
              BranchSideFuncs:
                - i_panic
                - __errno_location
                - i_panic
                - i_panic
        - Branch String:   'ostream.c:333,2'
          Branch Sides:
            - BranchSide:      'ostream.c:333,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:334,8'
              BranchSideFuncs:
                - i_panic
                - __errno_location
                - i_panic
        - Branch String:   'ostream.c:335,6'
          Branch Sides:
            - BranchSide:      'ostream.c:336,3'
              BranchSideFuncs:
                - i_panic
                - __errno_location
                - i_panic
            - BranchSide:      'ostream.c:337,6'
              BranchSideFuncs:
                - i_panic
                - __errno_location
                - i_panic
        - Branch String:   'ostream.c:337,6'
          Branch Sides:
            - BranchSide:      'ostream.c:338,7'
              BranchSideFuncs:
                - i_panic
                - __errno_location
                - i_panic
            - BranchSide:      'ostream.c:347,9'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:338,7'
          Branch Sides:
            - BranchSide:      'ostream.c:339,4'
              BranchSideFuncs:
                - __errno_location
                - i_panic
            - BranchSide:      'ostream.c:342,4'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream.c:339,4'
          Branch Sides:
            - BranchSide:      'ostream.c:339,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:340,12'
              BranchSideFuncs:
                - __errno_location
        - Branch String:   'ostream.c:342,4'
          Branch Sides:
            - BranchSide:      'ostream.c:342,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:343,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream.c:333,2'
          Dst:             i_panic
        - Src:             'ostream.c:339,4'
          Dst:             i_panic
        - Src:             'ostream.c:340,4'
          Dst:             __errno_location
        - Src:             'ostream.c:342,4'
          Dst:             i_panic
    - functionName:    o_stream_copy_error_from_parent
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 620
      functionLinenumberEnd: 630
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
      BBCount:         10
      ICount:          80
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - o_stream_close
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ostream.c:624,2'
          Branch Sides:
            - BranchSide:      'ostream.c:624,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:626,23'
              BranchSideFuncs:
                - o_stream_close
        - Branch String:   'ostream.c:628,6'
          Branch Sides:
            - BranchSide:      'ostream.c:628,6'
              BranchSideFuncs:
                - o_stream_close
            - BranchSide:      'ostream.c:629,18'
              BranchSideFuncs:
                - o_stream_close
      Callsites:
        - Src:             'ostream.c:624,2'
          Dst:             i_panic
        - Src:             'ostream.c:629,3'
          Dst:             o_stream_close
    - functionName:    o_stream_close
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - o_stream_close_full
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ostream.c:138,6'
          Branch Sides:
            - BranchSide:      'ostream.c:138,6'
              BranchSideFuncs:
                - o_stream_close_full
            - BranchSide:      'ostream.c:139,23'
              BranchSideFuncs:
                - o_stream_close_full
      Callsites:
        - Src:             'ostream.c:139,3'
          Dst:             o_stream_close_full
    - functionName:    o_stream_close_full
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - close_parents
      BBCount:         21
      ICount:          150
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - i_panic
        - io_stream_close
        - o_stream_flush
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ostream.c:61,6'
          Branch Sides:
            - BranchSide:      'ostream.c:62,3'
              BranchSideFuncs:
                - io_stream_close
                - i_panic
            - BranchSide:      'ostream.c:66,6'
              BranchSideFuncs:
                - io_stream_close
        - Branch String:   'ostream.c:62,3'
          Branch Sides:
            - BranchSide:      'ostream.c:62,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:66,6'
              BranchSideFuncs:
                - io_stream_close
        - Branch String:   'ostream.c:66,6'
          Branch Sides:
            - BranchSide:      'ostream.c:67,3'
              BranchSideFuncs:
                - io_stream_close
            - BranchSide:      'ostream.c:69,7'
              BranchSideFuncs:
                - io_stream_close
        - Branch String:   'ostream.c:69,22'
          Branch Sides:
            - BranchSide:      'ostream.c:69,26'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:79,6'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:69,6'
          Branch Sides:
            - BranchSide:      'ostream.c:74,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:79,6'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:79,6'
          Branch Sides:
            - BranchSide:      'ostream.c:79,6'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:80,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream.c:61,6'
          Dst:             o_stream_flush
        - Src:             'ostream.c:62,3'
          Dst:             i_panic
        - Src:             'ostream.c:75,3'
          Dst:             io_stream_close
    - functionName:    o_stream_flush
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         18
      ICount:          142
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - i_panic
        - io_stream_set_error
        - o_stream_get_max_buffer_size
        - o_stream_ignore_last_errors
      functionUses:    9
      BranchProfiles:
        - Branch String:   'ostream.c:245,6'
          Branch Sides:
            - BranchSide:      'ostream.c:245,6'
              BranchSideFuncs:
                - __errno_location
                - i_panic
                - o_stream_get_max_buffer_size
                - io_stream_set_error
                - __errno_location
                - __errno_location
            - BranchSide:      'ostream.c:245,6'
              BranchSideFuncs:
                - __errno_location
                - i_panic
                - o_stream_get_max_buffer_size
                - io_stream_set_error
                - __errno_location
                - __errno_location
        - Branch String:   'ostream.c:245,6'
          Branch Sides:
            - BranchSide:      'ostream.c:246,11'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'ostream.c:250,6'
              BranchSideFuncs:
                - __errno_location
                - i_panic
                - o_stream_get_max_buffer_size
                - io_stream_set_error
                - __errno_location
        - Branch String:   'ostream.c:250,6'
          Branch Sides:
            - BranchSide:      'ostream.c:251,24'
              BranchSideFuncs:
                - o_stream_get_max_buffer_size
                - io_stream_set_error
                - __errno_location
            - BranchSide:      'ostream.c:258,6'
              BranchSideFuncs:
                - __errno_location
                - i_panic
        - Branch String:   'ostream.c:258,6'
          Branch Sides:
            - BranchSide:      'ostream.c:259,3'
              BranchSideFuncs:
                - __errno_location
                - i_panic
            - BranchSide:      'ostream.c:262,9'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:259,3'
          Branch Sides:
            - BranchSide:      'ostream.c:259,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:260,11'
              BranchSideFuncs:
                - __errno_location
      Callsites:
        - Src:             'ostream.c:243,2'
          Dst:             o_stream_ignore_last_errors
        - Src:             'ostream.c:246,3'
          Dst:             __errno_location
        - Src:             'ostream.c:253,4'
          Dst:             o_stream_get_max_buffer_size
        - Src:             'ostream.c:251,3'
          Dst:             io_stream_set_error
        - Src:             'ostream.c:254,3'
          Dst:             __errno_location
        - Src:             'ostream.c:259,3'
          Dst:             i_panic
        - Src:             'ostream.c:260,3'
          Dst:             __errno_location
    - functionName:    o_stream_ignore_last_errors
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 414
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ostream.c:415,2'
          Branch Sides:
            - BranchSide:      'ostream.c:416,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:419,1'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    o_stream_get_max_buffer_size
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_get_buffer_used_size
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_set_flush_pending
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - set
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'ostream.c:269,6'
          Branch Sides:
            - BranchSide:      'ostream.c:269,6'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:269,6'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:269,6'
          Branch Sides:
            - BranchSide:      'ostream.c:270,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:272,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    o_stream_set_flush_callback
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - callback
        - context
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_flush_parent
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 650
      functionLinenumberEnd: 662
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
      BBCount:         18
      ICount:          100
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - i_panic
        - o_stream_copy_error_from_parent
        - o_stream_finish
        - o_stream_flush
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:653,2'
          Branch Sides:
            - BranchSide:      'ostream.c:653,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:655,7'
              BranchSideFuncs:
                - o_stream_flush
                - o_stream_copy_error_from_parent
                - o_stream_finish
        - Branch String:   'ostream.c:655,25'
          Branch Sides:
            - BranchSide:      'ostream.c:655,29'
              BranchSideFuncs:
                - o_stream_flush
                - o_stream_copy_error_from_parent
                - o_stream_finish
            - BranchSide:      'ostream.c:657,24'
              BranchSideFuncs:
                - o_stream_flush
                - o_stream_copy_error_from_parent
        - Branch String:   'ostream.c:655,57'
          Branch Sides:
            - BranchSide:      'ostream.c:656,7'
              BranchSideFuncs:
                - o_stream_flush
                - o_stream_copy_error_from_parent
                - o_stream_finish
            - BranchSide:      'ostream.c:657,24'
              BranchSideFuncs:
                - o_stream_flush
                - o_stream_copy_error_from_parent
        - Branch String:   'ostream.c:655,6'
          Branch Sides:
            - BranchSide:      'ostream.c:657,24'
              BranchSideFuncs:
                - o_stream_finish
                - o_stream_copy_error_from_parent
            - BranchSide:      'ostream.c:659,25'
              BranchSideFuncs:
                - o_stream_finish
                - o_stream_copy_error_from_parent
        - Branch String:   'ostream.c:660,6'
          Branch Sides:
            - BranchSide:      'ostream.c:660,6'
              BranchSideFuncs:
                - o_stream_copy_error_from_parent
            - BranchSide:      'ostream.c:661,35'
              BranchSideFuncs:
                - o_stream_copy_error_from_parent
      Callsites:
        - Src:             'ostream.c:653,2'
          Dst:             i_panic
        - Src:             'ostream.c:657,9'
          Dst:             o_stream_flush
        - Src:             'ostream.c:659,9'
          Dst:             o_stream_finish
        - Src:             'ostream.c:661,3'
          Dst:             o_stream_copy_error_from_parent
    - functionName:    o_stream_finish
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_flush
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:400,9'
          Dst:             o_stream_flush
    - functionName:    o_stream_cork
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         9
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ostream.c:215,6'
          Branch Sides:
            - BranchSide:      'ostream.c:215,6'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:215,6'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:215,6'
          Branch Sides:
            - BranchSide:      'ostream.c:216,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:218,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    o_stream_uncork
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         9
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ostream.c:225,6'
          Branch Sides:
            - BranchSide:      'ostream.c:225,6'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:225,6'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:225,6'
          Branch Sides:
            - BranchSide:      'ostream.c:226,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:228,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    o_stream_set_max_buffer_size
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - max_size
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_set_max_buffer_size
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:203,2'
          Dst:             io_stream_set_max_buffer_size
    - functionName:    o_stream_unref
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
      BBCount:         16
      ICount:          95
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - i_panic
        - io_stream_free
        - io_stream_unref
        - o_stream_get_name
      functionUses:    7
      BranchProfiles:
        - Branch String:   'ostream.c:104,6'
          Branch Sides:
            - BranchSide:      'ostream.c:105,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:107,12'
              BranchSideFuncs:
                - io_stream_unref
                - io_stream_free
                - o_stream_get_name
                - i_panic
        - Branch String:   'ostream.c:109,51'
          Branch Sides:
            - BranchSide:      'ostream.c:110,7'
              BranchSideFuncs:
                - io_stream_unref
                - io_stream_free
                - o_stream_get_name
                - i_panic
            - BranchSide:      'ostream.c:116,24'
              BranchSideFuncs:
                - io_stream_unref
                - io_stream_free
        - Branch String:   'ostream.c:110,52'
          Branch Sides:
            - BranchSide:      'ostream.c:111,6'
              BranchSideFuncs:
                - io_stream_unref
                - io_stream_free
            - BranchSide:      'ostream.c:116,24'
              BranchSideFuncs:
                - io_stream_unref
                - io_stream_free
        - Branch String:   'ostream.c:109,6'
          Branch Sides:
            - BranchSide:      'ostream.c:113,22'
              BranchSideFuncs:
                - o_stream_get_name
                - i_panic
            - BranchSide:      'ostream.c:116,24'
              BranchSideFuncs:
                - io_stream_unref
                - io_stream_free
        - Branch String:   'ostream.c:116,6'
          Branch Sides:
            - BranchSide:      'ostream.c:117,19'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:118,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream.c:113,4'
          Dst:             o_stream_get_name
        - Src:             'ostream.c:112,3'
          Dst:             i_panic
        - Src:             'ostream.c:116,7'
          Dst:             io_stream_unref
        - Src:             'ostream.c:117,3'
          Dst:             io_stream_free
    - functionName:    o_stream_get_name
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 14
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         7
      ICount:          47
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ostream.c:15,2'
          Branch Sides:
            - BranchSide:      'ostream.c:16,12'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:20,9'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:17,7'
          Branch Sides:
            - BranchSide:      'ostream.c:15,2'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:18,4'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    o_stream_create_error_str
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 839
      functionLinenumberEnd: 847
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream_errno
        - fmt
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_set_verror
        - o_stream_create_error
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:844,11'
          Dst:             o_stream_create_error
        - Src:             'ostream.c:845,2'
          Dst:             io_stream_set_verror
    - functionName:    o_stream_create_error
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 822
      functionLinenumberEnd: 834
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - stream_errno
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - o_stream_create
        - o_stream_set_name
        - o_stream_set_no_error_handling
        - p_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:826,11'
          Dst:             malloc_multiply_check
        - Src:             'ostream.c:826,11'
          Dst:             p_malloc
        - Src:             'ostream.c:831,11'
          Dst:             o_stream_create
        - Src:             'ostream.c:832,2'
          Dst:             o_stream_set_no_error_handling
        - Src:             'ostream.c:833,2'
          Dst:             o_stream_set_name
    - functionName:    o_stream_set_no_error_handling
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 431
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - set
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_set_name
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 8
      functionLinenumberEnd: 11
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - name
      BBCount:         5
      ICount:          44
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_strdup
        - p_free_internal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:9,2'
          Dst:             p_free_internal
        - Src:             'ostream.c:10,39'
          Dst:             i_strdup
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    o_stream_flush_parent_if_needed
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 647
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
      BBCount:         11
      ICount:          59
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - o_stream_copy_error_from_parent
        - o_stream_flush
        - o_stream_get_buffer_used_size
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ostream.c:634,6'
          Branch Sides:
            - BranchSide:      'ostream.c:639,22'
              BranchSideFuncs:
                - o_stream_flush
                - o_stream_get_buffer_used_size
                - o_stream_copy_error_from_parent
            - BranchSide:      'ostream.c:646,2'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:639,7'
          Branch Sides:
            - BranchSide:      'ostream.c:640,36'
              BranchSideFuncs:
                - o_stream_copy_error_from_parent
            - BranchSide:      'ostream.c:643,37'
              BranchSideFuncs:
                - o_stream_get_buffer_used_size
        - Branch String:   'ostream.c:643,7'
          Branch Sides:
            - BranchSide:      'ostream.c:644,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:645,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream.c:634,6'
          Dst:             o_stream_get_buffer_used_size
        - Src:             'ostream.c:639,7'
          Dst:             o_stream_flush
        - Src:             'ostream.c:640,4'
          Dst:             o_stream_copy_error_from_parent
        - Src:             'ostream.c:643,7'
          Dst:             o_stream_get_buffer_used_size
    - functionName:    o_stream_switch_ioloop
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 569
      functionLinenumberEnd: 571
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_switch_ioloop_to
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:570,2'
          Dst:             o_stream_switch_ioloop_to
    - functionName:    o_stream_get_last_write_time
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 532
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - tv_r
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_pwrite
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 529
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - data
        - size
        - offset
      BBCount:         23
      ICount:          160
      EdgeCount:       27
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ostream.c:513,6'
          Branch Sides:
            - BranchSide:      'ostream.c:513,6'
              BranchSideFuncs:
                - __errno_location
                - i_panic
                - i_panic
                - __errno_location
            - BranchSide:      'ostream.c:513,6'
              BranchSideFuncs:
                - __errno_location
                - i_panic
                - i_panic
                - __errno_location
        - Branch String:   'ostream.c:513,6'
          Branch Sides:
            - BranchSide:      'ostream.c:514,11'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'ostream.c:518,2'
              BranchSideFuncs:
                - __errno_location
                - i_panic
                - i_panic
        - Branch String:   'ostream.c:518,2'
          Branch Sides:
            - BranchSide:      'ostream.c:518,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:519,8'
              BranchSideFuncs:
                - __errno_location
                - i_panic
        - Branch String:   'ostream.c:521,6'
          Branch Sides:
            - BranchSide:      'ostream.c:522,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:523,11'
              BranchSideFuncs:
                - __errno_location
                - i_panic
        - Branch String:   'ostream.c:524,3'
          Branch Sides:
            - BranchSide:      'ostream.c:524,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:525,11'
              BranchSideFuncs:
                - __errno_location
      Callsites:
        - Src:             'ostream.c:514,3'
          Dst:             __errno_location
        - Src:             'ostream.c:518,2'
          Dst:             i_panic
        - Src:             'ostream.c:524,3'
          Dst:             i_panic
        - Src:             'ostream.c:525,3'
          Dst:             __errno_location
    - functionName:    o_stream_nsend_istream
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 484
      functionLinenumberEnd: 506
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - outstream
        - instream
      BBCount:         14
      ICount:          99
      EdgeCount:       26
      CyclomaticComplexity: 14
      functionsReached:
        - i_panic
        - i_stream_get_error
        - i_stream_get_name
        - i_unreached
        - io_stream_set_error
        - o_stream_send_istream
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ostream.c:485,2'
          Branch Sides:
            - BranchSide:      'ostream.c:485,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:487,32'
              BranchSideFuncs:
                - o_stream_send_istream
                - i_stream_get_name
                - i_stream_get_error
                - io_stream_set_error
                - i_unreached
        - Branch String:   'ostream.c:487,2'
          Branch Sides:
            - BranchSide:      'ostream.c:487,2'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:489,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:491,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'ostream.c:493,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:496,29'
              BranchSideFuncs:
                - i_stream_get_name
                - i_stream_get_error
                - io_stream_set_error
            - BranchSide:      'ostream.c:503,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream.c:485,2'
          Dst:             i_panic
        - Src:             'ostream.c:487,10'
          Dst:             o_stream_send_istream
        - Src:             'ostream.c:491,3'
          Dst:             i_unreached
        - Src:             'ostream.c:499,4'
          Dst:             i_stream_get_name
        - Src:             'ostream.c:500,4'
          Dst:             i_stream_get_error
        - Src:             'ostream.c:497,3'
          Dst:             io_stream_set_error
    - functionName:    o_stream_send_istream
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 437
      functionLinenumberEnd: 481
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - outstream
        - instream
      BBCount:         60
      ICount:          361
      EdgeCount:       64
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - i_panic
        - i_stream_have_bytes_left
        - o_stream_set_flush_pending
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ostream.c:443,6'
          Branch Sides:
            - BranchSide:      'ostream.c:443,6'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_set_flush_pending
                - i_panic
                - i_panic
                - i_panic
                - i_stream_have_bytes_left
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
            - BranchSide:      'ostream.c:443,6'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_set_flush_pending
                - i_panic
                - i_panic
                - i_panic
                - i_stream_have_bytes_left
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
        - Branch String:   'ostream.c:443,6'
          Branch Sides:
            - BranchSide:      'ostream.c:444,11'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'ostream.c:447,6'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_set_flush_pending
                - i_panic
                - i_panic
                - i_panic
                - i_stream_have_bytes_left
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
        - Branch String:   'ostream.c:447,6'
          Branch Sides:
            - BranchSide:      'ostream.c:447,6'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_set_flush_pending
                - i_panic
                - i_panic
                - i_panic
                - i_stream_have_bytes_left
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
            - BranchSide:      'ostream.c:447,6'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_set_flush_pending
                - i_panic
                - i_panic
                - i_panic
                - i_stream_have_bytes_left
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
        - Branch String:   'ostream.c:447,6'
          Branch Sides:
            - BranchSide:      'ostream.c:448,11'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'ostream.c:452,2'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_set_flush_pending
                - i_panic
                - i_panic
                - i_panic
                - i_stream_have_bytes_left
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'ostream.c:452,2'
          Branch Sides:
            - BranchSide:      'ostream.c:452,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:453,8'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_set_flush_pending
                - i_panic
                - i_panic
                - i_panic
                - i_stream_have_bytes_left
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'ostream.c:454,2'
          Branch Sides:
            - BranchSide:      'ostream.c:456,3'
              BranchSideFuncs:
                - i_stream_have_bytes_left
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'ostream.c:461,3'
              BranchSideFuncs:
                - i_panic
                - i_panic
            - BranchSide:      'ostream.c:464,3'
              BranchSideFuncs:
                - o_stream_set_flush_pending
                - i_panic
                - i_panic
            - BranchSide:      'ostream.c:468,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:471,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:475,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream.c:456,3'
          Branch Sides:
            - BranchSide:      'ostream.c:456,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:457,3'
              BranchSideFuncs:
                - i_stream_have_bytes_left
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'ostream.c:457,3'
          Branch Sides:
            - BranchSide:      'ostream.c:457,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:458,3'
              BranchSideFuncs:
                - i_stream_have_bytes_left
                - i_panic
                - i_panic
        - Branch String:   'ostream.c:458,3'
          Branch Sides:
            - BranchSide:      'ostream.c:458,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:459,3'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream.c:461,3'
          Branch Sides:
            - BranchSide:      'ostream.c:461,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:462,3'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream.c:464,3'
          Branch Sides:
            - BranchSide:      'ostream.c:464,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:465,30'
              BranchSideFuncs:
                - o_stream_set_flush_pending
                - i_panic
        - Branch String:   'ostream.c:468,3'
          Branch Sides:
            - BranchSide:      'ostream.c:468,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:469,10'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:471,3'
          Branch Sides:
            - BranchSide:      'ostream.c:471,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:472,10'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:475,2'
          Branch Sides:
            - BranchSide:      'ostream.c:475,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:478,6'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:478,6'
          Branch Sides:
            - BranchSide:      'ostream.c:479,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:480,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream.c:444,3'
          Dst:             __errno_location
        - Src:             'ostream.c:448,3'
          Dst:             __errno_location
        - Src:             'ostream.c:452,2'
          Dst:             i_panic
        - Src:             'ostream.c:456,3'
          Dst:             i_panic
        - Src:             'ostream.c:457,3'
          Dst:             i_panic
        - Src:             'ostream.c:458,3'
          Dst:             i_stream_have_bytes_left
        - Src:             'ostream.c:458,3'
          Dst:             i_panic
        - Src:             'ostream.c:461,3'
          Dst:             i_panic
        - Src:             'ostream.c:464,3'
          Dst:             i_panic
        - Src:             'ostream.c:465,3'
          Dst:             o_stream_set_flush_pending
        - Src:             'ostream.c:468,3'
          Dst:             i_panic
        - Src:             'ostream.c:471,3'
          Dst:             i_panic
        - Src:             'ostream.c:475,2'
          Dst:             i_panic
    - functionName:    o_stream_abort
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 422
      functionLinenumberEnd: 428
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - io_stream_set_error
        - o_stream_ignore_last_errors
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ostream.c:424,6'
          Branch Sides:
            - BranchSide:      'ostream.c:425,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:426,23'
              BranchSideFuncs:
                - io_stream_set_error
      Callsites:
        - Src:             'ostream.c:423,2'
          Dst:             o_stream_ignore_last_errors
        - Src:             'ostream.c:426,2'
          Dst:             io_stream_set_error
    - functionName:    o_stream_set_finish_via_child
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 409
      functionLinenumberEnd: 411
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - set
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_set_finish_also_parent
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 406
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - set
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_nsend_str
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 395
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - str
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_nsend
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:394,30'
          Dst:             strlen
        - Src:             'ostream.c:394,2'
          Dst:             o_stream_nsend
    - functionName:    o_stream_nsend
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - data
        - size
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_nsendv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:375,2'
          Dst:             o_stream_nsendv
    - functionName:    o_stream_nsendv
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 390
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - stream
        - iov
        - iov_count
      BBCount:         14
      ICount:          98
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - o_stream_sendv_int
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:383,6'
          Branch Sides:
            - BranchSide:      'ostream.c:383,6'
              BranchSideFuncs:
                - o_stream_sendv_int
            - BranchSide:      'ostream.c:383,6'
              BranchSideFuncs:
                - o_stream_sendv_int
        - Branch String:   'ostream.c:383,6'
          Branch Sides:
            - BranchSide:      'ostream.c:383,6'
              BranchSideFuncs:
                - o_stream_sendv_int
            - BranchSide:      'ostream.c:383,6'
              BranchSideFuncs:
                - o_stream_sendv_int
        - Branch String:   'ostream.c:383,6'
          Branch Sides:
            - BranchSide:      'ostream.c:385,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:386,27'
              BranchSideFuncs:
                - o_stream_sendv_int
        - Branch String:   'ostream.c:387,6'
          Branch Sides:
            - BranchSide:      'ostream.c:388,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:389,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream.c:386,8'
          Dst:             o_stream_sendv_int
    - functionName:    o_stream_send_str
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - str
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_send
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:364,36'
          Dst:             strlen
        - Src:             'ostream.c:364,9'
          Dst:             o_stream_send
    - functionName:    o_stream_send
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - data
        - size
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_sendv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:314,10'
          Dst:             o_stream_sendv
    - functionName:    o_stream_seek
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 304
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - offset
      BBCount:         15
      ICount:          112
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ostream.c:293,6'
          Branch Sides:
            - BranchSide:      'ostream.c:293,6'
              BranchSideFuncs:
                - __errno_location
                - i_panic
                - __errno_location
            - BranchSide:      'ostream.c:293,6'
              BranchSideFuncs:
                - __errno_location
                - i_panic
                - __errno_location
        - Branch String:   'ostream.c:293,6'
          Branch Sides:
            - BranchSide:      'ostream.c:294,11'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'ostream.c:298,6'
              BranchSideFuncs:
                - __errno_location
                - i_panic
        - Branch String:   'ostream.c:298,6'
          Branch Sides:
            - BranchSide:      'ostream.c:299,3'
              BranchSideFuncs:
                - __errno_location
                - i_panic
            - BranchSide:      'ostream.c:303,2'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:299,3'
          Branch Sides:
            - BranchSide:      'ostream.c:299,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream.c:300,11'
              BranchSideFuncs:
                - __errno_location
      Callsites:
        - Src:             'ostream.c:294,3'
          Dst:             __errno_location
        - Src:             'ostream.c:299,3'
          Dst:             i_panic
        - Src:             'ostream.c:300,3'
          Dst:             __errno_location
    - functionName:    o_stream_get_buffer_avail_size
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 283
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_is_corked
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_get_flush_callback
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - context_r
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_unset_flush_callback
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_default_buffering_flush
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
      BBCount:         17
      ICount:          112
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - o_stream_flush
        - o_stream_ref
        - o_stream_set_flush_pending
        - o_stream_unref
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream.c:148,6'
          Branch Sides:
            - BranchSide:      'ostream.c:149,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:152,15'
              BranchSideFuncs:
                - o_stream_ref
                - o_stream_flush
                - o_stream_unref
                - o_stream_set_flush_pending
        - Branch String:   'ostream.c:153,6'
          Branch Sides:
            - BranchSide:      'ostream.c:154,10'
              BranchSideFuncs:
                - o_stream_unref
                - o_stream_set_flush_pending
            - BranchSide:      'ostream.c:156,25'
              BranchSideFuncs:
                - o_stream_flush
                - o_stream_unref
                - o_stream_set_flush_pending
        - Branch String:   'ostream.c:157,6'
          Branch Sides:
            - BranchSide:      'ostream.c:158,30'
              BranchSideFuncs:
                - o_stream_set_flush_pending
                - o_stream_unref
            - BranchSide:      'ostream.c:159,2'
              BranchSideFuncs:
                - o_stream_unref
        - Branch String:   'ostream.c:160,6'
          Branch Sides:
            - BranchSide:      'ostream.c:161,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:162,9'
              BranchSideFuncs: []
        - Branch String:   'ostream.c:162,17'
          Branch Sides:
            - BranchSide:      'ostream.c:162,20'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:162,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream.c:148,13'
          Dst:             o_stream_flush
        - Src:             'ostream.c:152,2'
          Dst:             o_stream_ref
        - Src:             'ostream.c:156,10'
          Dst:             o_stream_flush
        - Src:             'ostream.c:158,3'
          Dst:             o_stream_set_flush_pending
        - Src:             'ostream.c:159,2'
          Dst:             o_stream_unref
    - functionName:    o_stream_init_buffering_flush
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
        - parent
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_default_buffering_flush
        - o_stream_set_flush_callback
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:172,2'
          Dst:             o_stream_set_flush_callback
        - Src:             'ostream.c:172,2'
          Dst:             o_stream_default_buffering_flush
    - functionName:    o_stream_remove_destroy_callback
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - callback
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_remove_destroy_callback
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:132,2'
          Dst:             io_stream_remove_destroy_callback
    - functionName:    o_stream_add_destroy_callback
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - callback
        - context
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_add_destroy_callback
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:125,2'
          Dst:             io_stream_add_destroy_callback
    - functionName:    o_stream_destroy
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _stream
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - o_stream_close_full
        - o_stream_unref
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ostream.c:87,6'
          Branch Sides:
            - BranchSide:      'ostream.c:88,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:90,3'
              BranchSideFuncs:
                - o_stream_close_full
                - o_stream_unref
      Callsites:
        - Src:             'ostream.c:91,2'
          Dst:             o_stream_close_full
        - Src:             'ostream.c:92,2'
          Dst:             o_stream_unref
    - functionName:    o_stream_get_disconnect_reason
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_get_disconnect_reason
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream.c:48,9'
          Dst:             io_stream_get_disconnect_reason
    - functionName:    o_stream_get_error
      functionSourceFile: '/src/dovecot/src/lib/ostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         15
      ICount:          85
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - strerror
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ostream.c:34,6'
          Branch Sides:
            - BranchSide:      'ostream.c:35,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:37,11'
              BranchSideFuncs:
                - strerror
        - Branch String:   'ostream.c:37,2'
          Branch Sides:
            - BranchSide:      'ostream.c:38,7'
              BranchSideFuncs:
                - strerror
            - BranchSide:      'ostream.c:43,18'
              BranchSideFuncs:
                - strerror
        - Branch String:   'ostream.c:38,7'
          Branch Sides:
            - BranchSide:      'ostream.c:39,4'
              BranchSideFuncs:
                - strerror
            - BranchSide:      'ostream.c:40,7'
              BranchSideFuncs:
                - strerror
        - Branch String:   'ostream.c:40,7'
          Branch Sides:
            - BranchSide:      'ostream.c:41,11'
              BranchSideFuncs: []
            - BranchSide:      'ostream.c:42,2'
              BranchSideFuncs:
                - strerror
      Callsites:
        - Src:             'ostream.c:43,9'
          Dst:             strerror
    - functionName:    i_stream_read_bytes
      functionSourceFile: '/src/dovecot/src/lib/./istream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - data_r
        - size_r
        - wanted
      BBCount:         7
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_read_data
      functionUses:    1
      BranchProfiles:
        - Branch String:   './istream.h:229,2'
          Branch Sides:
            - BranchSide:      './istream.h:229,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './istream.h:229,2'
              BranchSideFuncs:
                - i_stream_read_data
      Callsites:
        - Src:             './istream.h:229,2'
          Dst:             i_panic
        - Src:             './istream.h:230,9'
          Dst:             i_stream_read_data
    - functionName:    io_stream_copy_backwards
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 870
      functionLinenumberEnd: 949
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - outstream
        - instream
        - in_size
      BBCount:         45
      ICount:          360
      EdgeCount:       54
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - i_memcpy
        - i_panic
        - i_stream_read_bytes
        - i_stream_seek
        - i_stream_skip
        - i_unreached
        - o_stream_grow_buffer
        - pwrite_full
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:878,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:878,2'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
                - o_stream_grow_buffer
                - i_panic
            - BranchSide:      'ostream-file.c:878,2'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
                - o_stream_grow_buffer
                - i_panic
        - Branch String:   'ostream-file.c:878,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:878,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:881,16'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
                - o_stream_grow_buffer
        - Branch String:   'ostream-file.c:882,23'
          Branch Sides:
            - BranchSide:      'ostream-file.c:882,26'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
                - o_stream_grow_buffer
            - BranchSide:      'ostream-file.c:883,7'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
                - o_stream_grow_buffer
        - Branch String:   'ostream-file.c:882,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:883,7'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
                - o_stream_grow_buffer
            - BranchSide:      'ostream-file.c:892,20'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
        - Branch String:   'ostream-file.c:883,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:884,25'
              BranchSideFuncs:
                - o_stream_grow_buffer
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
            - BranchSide:      'ostream-file.c:889,17'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
        - Branch String:   'ostream-file.c:896,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:897,7'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - i_stream_seek
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
            - BranchSide:      'ostream-file.c:944,16'
              BranchSideFuncs:
                - i_stream_seek
        - Branch String:   'ostream-file.c:897,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:898,16'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - i_stream_seek
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
            - BranchSide:      'ostream-file.c:900,16'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - i_stream_seek
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
        - Branch String:   'ostream-file.c:905,4'
          Branch Sides:
            - BranchSide:      'ostream-file.c:905,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:907,18'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_read_bytes.3041
                - i_panic
                - pwrite_full
                - i_stream_skip
                - i_stream_seek
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
        - Branch String:   'ostream-file.c:911,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:913,5'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'ostream-file.c:914,8'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_read_bytes.3041
                - i_unreached
                - i_panic
                - pwrite_full
                - i_stream_skip
                - i_stream_seek
                - __errno_location
                - i_memcpy.3050
                - i_panic
        - Branch String:   'ostream-file.c:914,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:915,12'
              BranchSideFuncs:
                - pwrite_full
                - i_stream_skip
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - i_unreached
                - i_panic
                - __errno_location
                - i_memcpy.3050
                - i_panic
            - BranchSide:      'ostream-file.c:928,17'
              BranchSideFuncs:
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - i_stream_skip
                - i_stream_seek
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
        - Branch String:   'ostream-file.c:916,9'
          Branch Sides:
            - BranchSide:      'ostream-file.c:919,6'
              BranchSideFuncs:
                - i_memcpy.3050
                - pwrite_full
                - i_stream_skip
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - i_unreached
                - i_panic
                - __errno_location
                - i_panic
            - BranchSide:      'ostream-file.c:924,5'
              BranchSideFuncs:
                - pwrite_full
                - i_stream_skip
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
                - __errno_location
        - Branch String:   'ostream-file.c:919,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:919,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:921,6'
              BranchSideFuncs:
                - i_memcpy.3050
                - pwrite_full
                - i_stream_skip
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - i_panic
                - i_unreached
                - i_panic
                - __errno_location
        - Branch String:   'ostream-file.c:936,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:938,38'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'ostream-file.c:941,17'
              BranchSideFuncs:
                - i_stream_skip
                - i_stream_seek
                - i_stream_seek
                - i_stream_read_bytes.3041
                - pwrite_full
                - __errno_location
                - i_memcpy.3050
                - i_panic
                - i_unreached
                - i_panic
      Callsites:
        - Src:             'ostream-file.c:878,2'
          Dst:             i_panic
        - Src:             'ostream-file.c:884,4'
          Dst:             o_stream_grow_buffer
        - Src:             'ostream-file.c:905,4'
          Dst:             i_panic
        - Src:             'ostream-file.c:907,4'
          Dst:             i_stream_seek
        - Src:             'ostream-file.c:911,8'
          Dst:             i_stream_read_bytes
        - Src:             'ostream-file.c:913,5'
          Dst:             i_unreached
        - Src:             'ostream-file.c:919,6'
          Dst:             i_panic
        - Src:             'ostream-file.c:921,6'
          Dst:             i_memcpy
        - Src:             'ostream-file.c:935,9'
          Dst:             pwrite_full
        - Src:             'ostream-file.c:938,38'
          Dst:             __errno_location
        - Src:             'ostream-file.c:941,3'
          Dst:             i_stream_skip
        - Src:             'ostream-file.c:944,2'
          Dst:             i_stream_seek
    - functionName:    o_stream_grow_buffer
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 529
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - fstream
        - bytes
      BBCount:         26
      ICount:          207
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - i_realloc
        - nearest_power
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ostream-file.c:502,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:504,10'
              BranchSideFuncs:
                - i_realloc
            - BranchSide:      'ostream-file.c:505,13'
              BranchSideFuncs:
                - i_realloc
        - Branch String:   'ostream-file.c:507,14'
          Branch Sides:
            - BranchSide:      'ostream-file.c:507,12'
              BranchSideFuncs:
                - i_realloc
            - BranchSide:      'ostream-file.c:507,12'
              BranchSideFuncs:
                - i_realloc
        - Branch String:   'ostream-file.c:509,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:510,11'
              BranchSideFuncs:
                - i_realloc
            - BranchSide:      'ostream-file.c:511,2'
              BranchSideFuncs:
                - i_realloc
        - Branch String:   'ostream-file.c:513,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:514,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:516,30'
              BranchSideFuncs:
                - i_realloc
        - Branch String:   'ostream-file.c:519,37'
          Branch Sides:
            - BranchSide:      'ostream-file.c:519,41'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:527,2'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:519,41'
          Branch Sides:
            - BranchSide:      'ostream-file.c:519,41'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:521,14'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:519,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:521,14'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:527,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:501,9'
          Dst:             nearest_power
        - Src:             'ostream-file.c:516,20'
          Dst:             i_realloc
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    4
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    io_stream_copy_same_stream
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 954
      functionLinenumberEnd: 986
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - outstream
        - instream
      BBCount:         23
      ICount:          142
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - i_panic
        - i_stream_get_absolute_offset
        - i_stream_get_size
        - io_stream_copy
        - io_stream_copy_backwards
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:960,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:961,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:962,6'
              BranchSideFuncs:
                - i_stream_get_absolute_offset
                - io_stream_copy
                - io_stream_copy_backwards
                - i_panic
                - i_panic
                - io_stream_copy
        - Branch String:   'ostream-file.c:962,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:967,26'
              BranchSideFuncs:
                - io_stream_copy
            - BranchSide:      'ostream-file.c:969,2'
              BranchSideFuncs:
                - i_stream_get_absolute_offset
                - io_stream_copy
                - io_stream_copy_backwards
                - i_panic
                - i_panic
        - Branch String:   'ostream-file.c:969,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:969,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:971,47'
              BranchSideFuncs:
                - i_stream_get_absolute_offset
                - io_stream_copy
                - io_stream_copy_backwards
                - i_panic
        - Branch String:   'ostream-file.c:973,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:976,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:978,6'
              BranchSideFuncs:
                - io_stream_copy
                - io_stream_copy_backwards
                - i_panic
        - Branch String:   'ostream-file.c:978,14'
          Branch Sides:
            - BranchSide:      'ostream-file.c:978,17'
              BranchSideFuncs:
                - io_stream_copy
                - io_stream_copy_backwards
                - i_panic
            - BranchSide:      'ostream-file.c:984,26'
              BranchSideFuncs:
                - io_stream_copy
        - Branch String:   'ostream-file.c:978,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:980,3'
              BranchSideFuncs:
                - io_stream_copy_backwards
                - i_panic
            - BranchSide:      'ostream-file.c:984,26'
              BranchSideFuncs:
                - io_stream_copy
        - Branch String:   'ostream-file.c:980,3'
          Branch Sides:
            - BranchSide:      'ostream-file.c:980,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:981,35'
              BranchSideFuncs:
                - io_stream_copy_backwards
      Callsites:
        - Src:             'ostream-file.c:960,13'
          Dst:             i_stream_get_size
        - Src:             'ostream-file.c:967,10'
          Dst:             io_stream_copy
        - Src:             'ostream-file.c:969,2'
          Dst:             i_panic
        - Src:             'ostream-file.c:971,18'
          Dst:             i_stream_get_absolute_offset
        - Src:             'ostream-file.c:980,3'
          Dst:             i_panic
        - Src:             'ostream-file.c:981,10'
          Dst:             io_stream_copy_backwards
        - Src:             'ostream-file.c:984,10'
          Dst:             io_stream_copy
    - functionName:    io_stream_sendfile
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 773
      functionLinenumberEnd: 865
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - outstream
        - instream
        - in_fd
        - res_r
      BBCount:         50
      ICount:          339
      EdgeCount:       67
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - buffer_flush
        - i_panic
        - i_stream_get_absolute_offset
        - i_stream_get_size
        - i_stream_seek
        - io_stream_set_error
        - o_stream_lseek
        - o_stream_socket_cork
        - safe_sendfile
        - stream_closed
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:780,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:781,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:784,6'
              BranchSideFuncs:
                - o_stream_socket_cork
                - buffer_flush
                - o_stream_lseek
                - i_stream_get_absolute_offset
                - i_stream_seek
                - i_panic
                - safe_sendfile
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - i_stream_seek
        - Branch String:   'ostream-file.c:784,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:786,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:789,23'
              BranchSideFuncs:
                - o_stream_socket_cork
                - buffer_flush
                - o_stream_lseek
                - i_stream_get_absolute_offset
                - i_stream_seek
                - i_panic
                - safe_sendfile
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - i_stream_seek
        - Branch String:   'ostream-file.c:792,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:793,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:795,13'
              BranchSideFuncs:
                - o_stream_lseek
                - i_stream_get_absolute_offset
                - i_stream_seek
                - i_panic
                - safe_sendfile
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - i_stream_seek
        - Branch String:   'ostream-file.c:800,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:801,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:805,13'
              BranchSideFuncs:
                - i_stream_get_absolute_offset
                - i_stream_seek
                - i_panic
                - safe_sendfile
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - i_stream_seek
        - Branch String:   'ostream-file.c:807,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:808,12'
              BranchSideFuncs:
                - safe_sendfile
                - i_stream_seek
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - i_stream_seek
            - BranchSide:      'ostream-file.c:851,16'
              BranchSideFuncs:
                - i_stream_seek
                - i_panic
        - Branch String:   'ostream-file.c:812,9'
          Branch Sides:
            - BranchSide:      'ostream-file.c:811,9'
              BranchSideFuncs:
                - safe_sendfile
                - i_stream_seek
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - i_stream_seek
            - BranchSide:      'ostream-file.c:811,9'
              BranchSideFuncs:
                - safe_sendfile
                - i_stream_seek
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - i_stream_seek
        - Branch String:   'ostream-file.c:813,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:814,8'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - i_stream_seek
                - i_panic
                - __errno_location
                - safe_sendfile
                - i_stream_seek
            - BranchSide:      'ostream-file.c:845,15'
              BranchSideFuncs:
                - i_stream_seek
                - i_panic
                - safe_sendfile
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - i_stream_seek
        - Branch String:   'ostream-file.c:814,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:816,19'
              BranchSideFuncs:
                - i_stream_seek
            - BranchSide:      'ostream-file.c:821,8'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - i_stream_seek
                - i_panic
                - __errno_location
                - safe_sendfile
                - i_stream_seek
        - Branch String:   'ostream-file.c:821,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:822,9'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - i_stream_seek
                - i_panic
                - safe_sendfile
                - __errno_location
                - __errno_location
                - i_stream_seek
            - BranchSide:      'ostream-file.c:827,9'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - i_stream_seek
                - i_panic
        - Branch String:   'ostream-file.c:822,9'
          Branch Sides:
            - BranchSide:      'ostream-file.c:824,6'
              BranchSideFuncs:
                - i_stream_seek
                - i_panic
                - safe_sendfile
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - i_stream_seek
            - BranchSide:      'ostream-file.c:826,4'
              BranchSideFuncs:
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - i_stream_seek
                - i_panic
        - Branch String:   'ostream-file.c:827,24'
          Branch Sides:
            - BranchSide:      'ostream-file.c:827,27'
              BranchSideFuncs:
                - i_stream_seek
                - i_panic
            - BranchSide:      'ostream-file.c:828,10'
              BranchSideFuncs:
                - i_stream_seek
                - i_panic
        - Branch String:   'ostream-file.c:827,9'
          Branch Sides:
            - BranchSide:      'ostream-file.c:0,0'
              BranchSideFuncs:
                - i_stream_seek
                - i_panic
            - BranchSide:      'ostream-file.c:828,10'
              BranchSideFuncs:
                - i_stream_seek
                - i_panic
        - Branch String:   'ostream-file.c:832,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:833,28'
              BranchSideFuncs:
                - i_stream_seek
                - i_panic
            - BranchSide:      'ostream-file.c:835,26'
              BranchSideFuncs:
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - i_stream_seek
                - i_panic
        - Branch String:   'ostream-file.c:852,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:853,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:857,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream-file.c:857,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:857,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:858,6'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:858,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:859,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:860,6'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:860,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:861,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:863,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:780,13'
          Dst:             i_stream_get_size
        - Src:             'ostream-file.c:789,2'
          Dst:             o_stream_socket_cork
        - Src:             'ostream-file.c:792,13'
          Dst:             buffer_flush
        - Src:             'ostream-file.c:800,6'
          Dst:             o_stream_lseek
        - Src:             'ostream-file.c:806,21'
          Dst:             i_stream_get_absolute_offset
        - Src:             'ostream-file.c:811,9'
          Dst:             safe_sendfile
        - Src:             'ostream-file.c:816,5'
          Dst:             i_stream_seek
        - Src:             'ostream-file.c:822,9'
          Dst:             __errno_location
        - Src:             'ostream-file.c:827,9'
          Dst:             __errno_location
        - Src:             'ostream-file.c:827,27'
          Dst:             __errno_location
        - Src:             'ostream-file.c:832,8'
          Dst:             __errno_location
        - Src:             'ostream-file.c:835,5'
          Dst:             io_stream_set_error
        - Src:             'ostream-file.c:837,39'
          Dst:             __errno_location
        - Src:             'ostream-file.c:840,5'
          Dst:             stream_closed
        - Src:             'ostream-file.c:851,2'
          Dst:             i_stream_seek
        - Src:             'ostream-file.c:857,2'
          Dst:             i_panic
    - functionName:    o_stream_socket_cork
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fstream
      BBCount:         14
      ICount:          76
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - net_set_cork
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ostream-file.c:120,30'
          Branch Sides:
            - BranchSide:      'ostream-file.c:120,34'
              BranchSideFuncs:
                - net_set_cork
            - BranchSide:      'ostream-file.c:120,30'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:120,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:120,6'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:121,8'
              BranchSideFuncs:
                - net_set_cork
        - Branch String:   'ostream-file.c:121,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:122,21'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:127,2'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:122,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:123,5'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:125,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:122,8'
          Dst:             net_set_cork
    - functionName:    buffer_flush
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fstream
      BBCount:         12
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - o_stream_file_writev_full
        - o_stream_fill_iovec
        - update_buffer
      functionUses:    4
      BranchProfiles:
        - Branch String:   'ostream-file.c:355,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:356,35'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - update_buffer
            - BranchSide:      'ostream-file.c:363,9'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:357,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:358,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:360,17'
              BranchSideFuncs:
                - update_buffer
        - Branch String:   'ostream-file.c:363,9'
          Branch Sides:
            - BranchSide:      'ostream-file.c:363,9'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:363,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:354,12'
          Dst:             o_stream_fill_iovec
        - Src:             'ostream-file.c:356,9'
          Dst:             o_stream_file_writev_full
        - Src:             'ostream-file.c:360,3'
          Dst:             update_buffer
    - functionName:    o_stream_lseek
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fstream
      BBCount:         10
      ICount:          92
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - io_stream_set_error
        - lseek
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ostream-file.c:134,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:135,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:137,14'
              BranchSideFuncs:
                - lseek
                - io_stream_set_error
                - io_stream_set_error
                - __errno_location
        - Branch String:   'ostream-file.c:138,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:139,24'
              BranchSideFuncs:
                - io_stream_set_error
                - __errno_location
            - BranchSide:      'ostream-file.c:145,6'
              BranchSideFuncs:
                - io_stream_set_error
        - Branch String:   'ostream-file.c:145,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:146,24'
              BranchSideFuncs:
                - io_stream_set_error
            - BranchSide:      'ostream-file.c:151,25'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:137,8'
          Dst:             lseek
        - Src:             'ostream-file.c:139,3'
          Dst:             io_stream_set_error
        - Src:             'ostream-file.c:141,43'
          Dst:             __errno_location
        - Src:             'ostream-file.c:146,3'
          Dst:             io_stream_set_error
    - functionName:    stream_closed
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fstream
      BBCount:         19
      ICount:          117
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - close
        - i_error
        - io_remove
        - iostream_fd_unref
        - o_stream_get_name
      functionUses:    5
      BranchProfiles:
        - Branch String:   'ostream-file.c:38,43'
          Branch Sides:
            - BranchSide:      'ostream-file.c:38,7'
              BranchSideFuncs:
                - iostream_fd_unref
                - close
                - o_stream_get_name
                - i_error
                - __errno_location
            - BranchSide:      'ostream-file.c:39,22'
              BranchSideFuncs:
                - iostream_fd_unref
                - close
                - o_stream_get_name
                - i_error
                - __errno_location
        - Branch String:   'ostream-file.c:40,28'
          Branch Sides:
            - BranchSide:      'ostream-file.c:40,31'
              BranchSideFuncs:
                - close
                - o_stream_get_name
                - i_error
                - __errno_location
            - BranchSide:      'ostream-file.c:40,28'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:40,49'
          Branch Sides:
            - BranchSide:      'ostream-file.c:40,53'
              BranchSideFuncs:
                - close
                - o_stream_get_name
                - i_error
                - __errno_location
            - BranchSide:      'ostream-file.c:40,49'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:40,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:40,6'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:44,7'
              BranchSideFuncs:
                - close
                - o_stream_get_name
                - i_error
                - __errno_location
        - Branch String:   'ostream-file.c:44,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:44,7'
              BranchSideFuncs:
                - __errno_location
                - o_stream_get_name
                - i_error
            - BranchSide:      'ostream-file.c:44,7'
              BranchSideFuncs:
                - o_stream_get_name
                - i_error
        - Branch String:   'ostream-file.c:44,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:46,24'
              BranchSideFuncs:
                - o_stream_get_name
                - i_error
            - BranchSide:      'ostream-file.c:48,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:36,2'
          Dst:             io_remove
        - Src:             'ostream-file.c:39,3'
          Dst:             iostream_fd_unref
        - Src:             'ostream-file.c:44,7'
          Dst:             close
        - Src:             'ostream-file.c:44,7'
          Dst:             __errno_location
        - Src:             'ostream-file.c:46,5'
          Dst:             o_stream_get_name
        - Src:             'ostream-file.c:45,4'
          Dst:             i_error
    - functionName:    lseek
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_fill_iovec
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fstream
        - iov
      BBCount:         11
      ICount:          128
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:328,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:328,6'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:331,6'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:328,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:329,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:331,6'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:331,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:332,21'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:336,21'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:338,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:339,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:341,22'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    o_stream_file_writev_full
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - fstream
        - iov
        - iov_count
      BBCount:         81
      ICount:          502
      EdgeCount:       102
      CyclomaticComplexity: 23
      functionsReached:
        - __errno_location
        - i_panic
        - io_stream_set_error
        - net_set_tcp_nodelay
        - o_stream_file_writev_full
        - o_stream_socket_cork
        - stream_closed
      functionUses:    6
      BranchProfiles:
        - Branch String:   'ostream-file.c:239,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:240,17'
              BranchSideFuncs:
                - o_stream_socket_cork
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - stream_closed
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - o_stream_file_writev_full
                - i_panic
                - net_set_tcp_nodelay
            - BranchSide:      'ostream-file.c:242,23'
              BranchSideFuncs:
                - o_stream_socket_cork
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - stream_closed
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - o_stream_file_writev_full
                - i_panic
                - net_set_tcp_nodelay
        - Branch String:   'ostream-file.c:243,32'
          Branch Sides:
            - BranchSide:      'ostream-file.c:243,36'
              BranchSideFuncs:
                - net_set_tcp_nodelay
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - stream_closed
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - o_stream_file_writev_full
                - i_panic
            - BranchSide:      'ostream-file.c:256,8'
              BranchSideFuncs:
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - stream_closed
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - o_stream_file_writev_full
                - i_panic
        - Branch String:   'ostream-file.c:243,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:246,27'
              BranchSideFuncs:
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - stream_closed
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - o_stream_file_writev_full
                - i_panic
            - BranchSide:      'ostream-file.c:256,8'
              BranchSideFuncs:
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - stream_closed
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - o_stream_file_writev_full
                - i_panic
        - Branch String:   'ostream-file.c:246,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:251,4'
              BranchSideFuncs:
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - stream_closed
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - o_stream_file_writev_full
                - i_panic
            - BranchSide:      'ostream-file.c:253,3'
              BranchSideFuncs:
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - stream_closed
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - o_stream_file_writev_full
                - i_panic
        - Branch String:   'ostream-file.c:259,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:260,3'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - o_stream_file_writev_full
                - i_panic
            - BranchSide:      'ostream-file.c:275,6'
              BranchSideFuncs:
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - stream_closed
        - Branch String:   'ostream-file.c:260,3'
          Branch Sides:
            - BranchSide:      'ostream-file.c:260,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:261,7'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - __errno_location
                - o_stream_file_writev_full
        - Branch String:   'ostream-file.c:261,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:262,8'
              BranchSideFuncs:
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
                - o_stream_file_writev_full
            - BranchSide:      'ostream-file.c:266,14'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - stream_closed
        - Branch String:   'ostream-file.c:262,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:264,38'
              BranchSideFuncs:
                - o_stream_file_writev_full
            - BranchSide:      'ostream-file.c:266,3'
              BranchSideFuncs:
                - io_stream_set_error
                - __errno_location
                - stream_closed
        - Branch String:   'ostream-file.c:266,30'
          Branch Sides:
            - BranchSide:      'ostream-file.c:266,33'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:268,4'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:266,14'
          Branch Sides:
            - BranchSide:      'ostream-file.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:268,4'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:275,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:275,6'
              BranchSideFuncs:
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - stream_closed
            - BranchSide:      'ostream-file.c:275,6'
              BranchSideFuncs:
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - stream_closed
        - Branch String:   'ostream-file.c:275,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:277,3'
              BranchSideFuncs:
                - stream_closed
            - BranchSide:      'ostream-file.c:281,28'
              BranchSideFuncs:
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
        - Branch String:   'ostream-file.c:282,14'
          Branch Sides:
            - BranchSide:      'ostream-file.c:282,17'
              BranchSideFuncs:
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
            - BranchSide:      'ostream-file.c:319,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream-file.c:282,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:286,10'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - i_panic
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
            - BranchSide:      'ostream-file.c:319,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream-file.c:287,24'
          Branch Sides:
            - BranchSide:      'ostream-file.c:287,27'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - i_panic
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
            - BranchSide:      'ostream-file.c:287,3'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - i_panic
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
        - Branch String:   'ostream-file.c:287,3'
          Branch Sides:
            - BranchSide:      'ostream-file.c:288,12'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - i_panic
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
            - BranchSide:      'ostream-file.c:292,3'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - i_panic
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
                - i_panic
        - Branch String:   'ostream-file.c:292,3'
          Branch Sides:
            - BranchSide:      'ostream-file.c:292,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:293,7'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - i_panic
                - i_panic
                - o_stream_file_writev_full
                - i_panic
                - o_stream_file_writev_full
        - Branch String:   'ostream-file.c:293,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:294,37'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - i_panic
                - i_panic
            - BranchSide:      'ostream-file.c:300,5'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - i_panic
                - i_panic
                - o_stream_file_writev_full
                - i_panic
        - Branch String:   'ostream-file.c:304,5'
          Branch Sides:
            - BranchSide:      'ostream-file.c:304,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:306,9'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_file_writev_full
        - Branch String:   'ostream-file.c:306,9'
          Branch Sides:
            - BranchSide:      'ostream-file.c:307,13'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - i_panic
                - i_panic
            - BranchSide:      'ostream-file.c:311,4'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'ostream-file.c:313,3'
          Branch Sides:
            - BranchSide:      'ostream-file.c:313,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:314,7'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream-file.c:314,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:315,10'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:317,11'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream-file.c:319,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:319,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:319,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream-file.c:319,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:319,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:319,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream-file.c:319,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:319,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:321,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:242,2'
          Dst:             o_stream_socket_cork
        - Src:             'ostream-file.c:246,7'
          Dst:             net_set_tcp_nodelay
        - Src:             'ostream-file.c:260,3'
          Dst:             i_panic
        - Src:             'ostream-file.c:262,8'
          Dst:             __errno_location
        - Src:             'ostream-file.c:264,12'
          Dst:             o_stream_file_writev_full
        - Src:             'ostream-file.c:266,14'
          Dst:             __errno_location
        - Src:             'ostream-file.c:266,33'
          Dst:             __errno_location
        - Src:             'ostream-file.c:270,3'
          Dst:             io_stream_set_error
        - Src:             'ostream-file.c:271,43'
          Dst:             __errno_location
        - Src:             'ostream-file.c:272,3'
          Dst:             stream_closed
        - Src:             'ostream-file.c:278,3'
          Dst:             stream_closed
        - Src:             'ostream-file.c:292,3'
          Dst:             i_panic
        - Src:             'ostream-file.c:294,11'
          Dst:             o_stream_file_writev_full
        - Src:             'ostream-file.c:302,11'
          Dst:             o_stream_file_writev_full
        - Src:             'ostream-file.c:304,5'
          Dst:             i_panic
        - Src:             'ostream-file.c:308,13'
          Dst:             o_stream_file_writev_full
        - Src:             'ostream-file.c:313,3'
          Dst:             i_panic
        - Src:             'ostream-file.c:319,2'
          Dst:             i_panic
    - functionName:    update_buffer
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - fstream
        - size
      BBCount:         31
      ICount:          205
      EdgeCount:       38
      CyclomaticComplexity: 9
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:89,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:89,6'
              BranchSideFuncs:
                - i_panic
                - i_panic
            - BranchSide:      'ostream-file.c:89,34'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'ostream-file.c:89,31'
          Branch Sides:
            - BranchSide:      'ostream-file.c:89,34'
              BranchSideFuncs:
                - i_panic
                - i_panic
            - BranchSide:      'ostream-file.c:90,3'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:89,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:90,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:92,6'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'ostream-file.c:92,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:94,10'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:99,10'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream-file.c:95,3'
          Branch Sides:
            - BranchSide:      'ostream-file.c:95,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:96,20'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:100,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:101,12'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:105,21'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:102,4'
          Branch Sides:
            - BranchSide:      'ostream-file.c:102,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:103,20'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:111,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:112,19'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:114,6'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:114,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:114,6'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:115,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:95,3'
          Dst:             i_panic
        - Src:             'ostream-file.c:102,4'
          Dst:             i_panic
    - functionName:    o_stream_file_update_buffer
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 685
      functionLinenumberEnd: 707
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - fstream
        - data
        - size
        - pos
      BBCount:         21
      ICount:          165
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - i_memcpy
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:688,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:690,3'
              BranchSideFuncs:
                - i_memcpy.3050
                - i_memcpy.3050
                - i_panic
            - BranchSide:      'ostream-file.c:694,11'
              BranchSideFuncs:
                - i_memcpy.3050
                - i_memcpy.3050
        - Branch String:   'ostream-file.c:690,3'
          Branch Sides:
            - BranchSide:      'ostream-file.c:690,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:691,11'
              BranchSideFuncs:
                - i_memcpy.3050
                - i_memcpy.3050
        - Branch String:   'ostream-file.c:696,14'
          Branch Sides:
            - BranchSide:      'ostream-file.c:696,12'
              BranchSideFuncs:
                - i_memcpy.3050
                - i_memcpy.3050
            - BranchSide:      'ostream-file.c:696,12'
              BranchSideFuncs:
                - i_memcpy.3050
                - i_memcpy.3050
        - Branch String:   'ostream-file.c:701,15'
          Branch Sides:
            - BranchSide:      'ostream-file.c:701,18'
              BranchSideFuncs:
                - i_memcpy.3050
            - BranchSide:      'ostream-file.c:701,15'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:701,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:701,6'
              BranchSideFuncs:
                - i_memcpy.3050
            - BranchSide:      'ostream-file.c:703,15'
              BranchSideFuncs:
                - i_memcpy.3050
        - Branch String:   'ostream-file.c:703,15'
          Branch Sides:
            - BranchSide:      'ostream-file.c:703,13'
              BranchSideFuncs:
                - i_memcpy.3050
            - BranchSide:      'ostream-file.c:703,13'
              BranchSideFuncs:
                - i_memcpy.3050
      Callsites:
        - Src:             'ostream-file.c:690,3'
          Dst:             i_panic
        - Src:             'ostream-file.c:697,2'
          Dst:             i_memcpy
        - Src:             'ostream-file.c:704,3'
          Dst:             i_memcpy
    - functionName:    file_buffer_get_used_size
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fstream
      BBCount:         9
      ICount:          75
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:73,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:74,10'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:75,11'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:74,10'
          Branch Sides:
            - BranchSide:      'ostream-file.c:74,26'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:74,3'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:75,11'
          Branch Sides:
            - BranchSide:      'ostream-file.c:77,10'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:80,10'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    o_stream_tcp_flush_via_nodelay
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fstream
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - net_set_tcp_nodelay
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:368,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:374,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:376,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:368,6'
          Dst:             net_set_tcp_nodelay
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    stream_send_io
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 532
      functionLinenumberEnd: 571
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fstream
      BBCount:         29
      ICount:          201
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - io_add_to
        - io_remove
        - io_stream_get_ioloop
        - o_stream_cork
        - o_stream_file_flush
        - o_stream_ref
        - o_stream_uncork
        - o_stream_unref
        - stream_send_io
      functionUses:    4
      BranchProfiles:
        - Branch String:   'ostream-file.c:545,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:546,17'
              BranchSideFuncs:
                - o_stream_cork
                - o_stream_file_flush
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
                - io_remove
                - o_stream_uncork
            - BranchSide:      'ostream-file.c:547,6'
              BranchSideFuncs:
                - o_stream_file_flush
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
                - io_remove
                - o_stream_uncork
        - Branch String:   'ostream-file.c:547,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:548,9'
              BranchSideFuncs:
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
                - io_remove
                - o_stream_uncork
            - BranchSide:      'ostream-file.c:550,30'
              BranchSideFuncs:
                - o_stream_file_flush
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
                - io_remove
                - o_stream_uncork
        - Branch String:   'ostream-file.c:551,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:552,19'
              BranchSideFuncs:
                - o_stream_uncork
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
                - io_remove
            - BranchSide:      'ostream-file.c:554,6'
              BranchSideFuncs:
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
                - io_remove
        - Branch String:   'ostream-file.c:554,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:555,3'
              BranchSideFuncs:
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
                - io_remove
            - BranchSide:      'ostream-file.c:557,7'
              BranchSideFuncs:
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
                - io_remove
        - Branch String:   'ostream-file.c:557,30'
          Branch Sides:
            - BranchSide:      'ostream-file.c:557,33'
              BranchSideFuncs:
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
            - BranchSide:      'ostream-file.c:559,14'
              BranchSideFuncs:
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
        - Branch String:   'ostream-file.c:557,33'
          Branch Sides:
            - BranchSide:      'ostream-file.c:557,33'
              BranchSideFuncs:
                - io_remove
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
            - BranchSide:      'ostream-file.c:559,14'
              BranchSideFuncs:
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
        - Branch String:   'ostream-file.c:557,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:558,14'
              BranchSideFuncs:
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
            - BranchSide:      'ostream-file.c:559,14'
              BranchSideFuncs:
                - o_stream_unref
                - io_stream_get_ioloop
                - io_add_to
        - Branch String:   'ostream-file.c:563,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:564,18'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - o_stream_unref
            - BranchSide:      'ostream-file.c:568,2'
              BranchSideFuncs:
                - o_stream_unref
      Callsites:
        - Src:             'ostream-file.c:544,2'
          Dst:             o_stream_ref
        - Src:             'ostream-file.c:546,3'
          Dst:             o_stream_cork
        - Src:             'ostream-file.c:550,9'
          Dst:             o_stream_file_flush
        - Src:             'ostream-file.c:552,3'
          Dst:             o_stream_uncork
        - Src:             'ostream-file.c:558,3'
          Dst:             io_remove
        - Src:             'ostream-file.c:564,18'
          Dst:             io_stream_get_ioloop
        - Src:             'ostream-file.c:564,18'
          Dst:             io_add_to
        - Src:             'ostream-file.c:564,18'
          Dst:             stream_send_io
        - Src:             'ostream-file.c:570,2'
          Dst:             o_stream_unref
    - functionName:    o_stream_file_flush
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 430
      functionLinenumberEnd: 434
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_flush
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream-file.c:434,9'
          Dst:             buffer_flush
    - functionName:    o_stream_create_fd_blocking
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1189
      functionLinenumberEnd: 1198
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - fd
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - o_stream_create_file_common
        - p_malloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream-file.c:1193,12'
          Dst:             malloc_multiply_check
        - Src:             'ostream-file.c:1193,12'
          Dst:             p_malloc
        - Src:             'ostream-file.c:1194,12'
          Dst:             o_stream_create_file_common
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    o_stream_create_file_common
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1029
      functionLinenumberEnd: 1058
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - fstream
        - fd
        - max_buffer_size
        - autoclose_fd
      BBCount:         6
      ICount:          124
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - o_stream_create
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ostream-file.c:1055,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1055,6'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:1056,38'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:1053,12'
          Dst:             o_stream_create
    - functionName:    o_stream_file_close
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - close_parent
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - stream_closed
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream-file.c:60,2'
          Dst:             stream_closed
    - functionName:    o_stream_file_destroy
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         5
      ICount:          33
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream-file.c:68,2'
          Dst:             p_free_internal
    - functionName:    o_stream_file_cork
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 381
      functionLinenumberEnd: 427
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - set
      BBCount:         54
      ICount:          313
      EdgeCount:       72
      CyclomaticComplexity: 20
      functionsReached:
        - buffer_flush
        - i_panic
        - io_add_to
        - io_remove
        - io_stream_get_ioloop
        - net_set_cork
        - net_set_tcp_quickack
        - o_stream_tcp_flush_via_nodelay
        - stream_send_io
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:387,28'
          Branch Sides:
            - BranchSide:      'ostream-file.c:387,32'
              BranchSideFuncs:
                - buffer_flush
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
                - io_stream_get_ioloop
                - io_add_to
                - io_remove
            - BranchSide:      'ostream-file.c:387,28'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:387,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:387,6'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:388,7'
              BranchSideFuncs:
                - buffer_flush
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
                - io_stream_get_ioloop
                - io_add_to
                - io_remove
        - Branch String:   'ostream-file.c:388,11'
          Branch Sides:
            - BranchSide:      'ostream-file.c:388,14'
              BranchSideFuncs:
                - buffer_flush
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
                - io_stream_get_ioloop
                - io_add_to
                - io_remove
            - BranchSide:      'ostream-file.c:390,13'
              BranchSideFuncs:
                - buffer_flush
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
                - io_stream_get_ioloop
                - io_add_to
        - Branch String:   'ostream-file.c:388,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:389,15'
              BranchSideFuncs:
                - io_remove
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
            - BranchSide:      'ostream-file.c:390,13'
              BranchSideFuncs:
                - buffer_flush
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
                - io_stream_get_ioloop
                - io_add_to
        - Branch String:   'ostream-file.c:394,28'
          Branch Sides:
            - BranchSide:      'ostream-file.c:395,9'
              BranchSideFuncs:
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
                - io_stream_get_ioloop
                - io_add_to
            - BranchSide:      'ostream-file.c:402,3'
              BranchSideFuncs:
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
        - Branch String:   'ostream-file.c:395,18'
          Branch Sides:
            - BranchSide:      'ostream-file.c:395,21'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
            - BranchSide:      'ostream-file.c:396,9'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
        - Branch String:   'ostream-file.c:395,45'
          Branch Sides:
            - BranchSide:      'ostream-file.c:396,9'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
            - BranchSide:      'ostream-file.c:402,3'
              BranchSideFuncs:
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
        - Branch String:   'ostream-file.c:394,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:397,19'
              BranchSideFuncs:
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
            - BranchSide:      'ostream-file.c:402,3'
              BranchSideFuncs:
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
        - Branch String:   'ostream-file.c:403,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:405,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:408,7'
              BranchSideFuncs:
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - net_set_cork
                - i_panic
        - Branch String:   'ostream-file.c:408,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:409,4'
              BranchSideFuncs:
                - net_set_cork
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
                - i_panic
            - BranchSide:      'ostream-file.c:414,8'
              BranchSideFuncs:
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
        - Branch String:   'ostream-file.c:409,4'
          Branch Sides:
            - BranchSide:      'ostream-file.c:409,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:410,21'
              BranchSideFuncs:
                - net_set_cork
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
        - Branch String:   'ostream-file.c:410,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:411,5'
              BranchSideFuncs:
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
            - BranchSide:      'ostream-file.c:412,4'
              BranchSideFuncs:
                - o_stream_tcp_flush_via_nodelay
                - net_set_tcp_quickack
        - Branch String:   'ostream-file.c:414,12'
          Branch Sides:
            - BranchSide:      'ostream-file.c:414,16'
              BranchSideFuncs:
                - net_set_tcp_quickack
            - BranchSide:      'ostream-file.c:419,8'
              BranchSideFuncs:
                - net_set_tcp_quickack
        - Branch String:   'ostream-file.c:414,43'
          Branch Sides:
            - BranchSide:      'ostream-file.c:415,8'
              BranchSideFuncs:
                - net_set_tcp_quickack
            - BranchSide:      'ostream-file.c:419,8'
              BranchSideFuncs:
                - net_set_tcp_quickack
        - Branch String:   'ostream-file.c:414,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:417,35'
              BranchSideFuncs:
                - net_set_tcp_quickack
            - BranchSide:      'ostream-file.c:419,8'
              BranchSideFuncs:
                - net_set_tcp_quickack
        - Branch String:   'ostream-file.c:419,12'
          Branch Sides:
            - BranchSide:      'ostream-file.c:419,16'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:425,20'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:419,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:422,29'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:425,20'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:422,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:423,5'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:424,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:389,4'
          Dst:             io_remove
        - Src:             'ostream-file.c:392,10'
          Dst:             buffer_flush
        - Src:             'ostream-file.c:397,19'
          Dst:             io_stream_get_ioloop
        - Src:             'ostream-file.c:397,19'
          Dst:             io_add_to
        - Src:             'ostream-file.c:397,19'
          Dst:             stream_send_io
        - Src:             'ostream-file.c:409,4'
          Dst:             i_panic
        - Src:             'ostream-file.c:410,8'
          Dst:             net_set_cork
        - Src:             'ostream-file.c:417,4'
          Dst:             o_stream_tcp_flush_via_nodelay
        - Src:             'ostream-file.c:422,8'
          Dst:             net_set_tcp_quickack
    - functionName:    o_stream_file_flush_pending
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 439
      functionLinenumberEnd: 450
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - set
      BBCount:         10
      ICount:          82
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - io_add_to
        - io_stream_get_ioloop
        - stream_send_io
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:445,10'
          Branch Sides:
            - BranchSide:      'ostream-file.c:445,14'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
            - BranchSide:      'ostream-file.c:445,10'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:445,29'
          Branch Sides:
            - BranchSide:      'ostream-file.c:445,29'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:445,32'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
        - Branch String:   'ostream-file.c:445,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:445,6'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
            - BranchSide:      'ostream-file.c:446,17'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
      Callsites:
        - Src:             'ostream-file.c:446,17'
          Dst:             io_stream_get_ioloop
        - Src:             'ostream-file.c:446,17'
          Dst:             io_add_to
        - Src:             'ostream-file.c:446,17'
          Dst:             stream_send_io
    - functionName:    o_stream_file_get_buffer_used_size
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 468
      functionLinenumberEnd: 472
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_unused_space
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream-file.c:472,32'
          Dst:             get_unused_space
    - functionName:    o_stream_file_seek
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - offset
      BBCount:         10
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - buffer_flush
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:480,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:481,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:484,7'
              BranchSideFuncs:
                - buffer_flush
        - Branch String:   'ostream-file.c:484,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:485,3'
              BranchSideFuncs:
                - buffer_flush
            - BranchSide:      'ostream-file.c:489,19'
              BranchSideFuncs:
                - buffer_flush
        - Branch String:   'ostream-file.c:489,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:490,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:492,27'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:489,6'
          Dst:             buffer_flush
    - functionName:    o_stream_file_sendv
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 618
      functionLinenumberEnd: 680
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - stream
        - iov
        - iov_count
      BBCount:         68
      ICount:          453
      EdgeCount:       87
      CyclomaticComplexity: 21
      functionsReached:
        - get_unused_space
        - i_panic
        - o_stream_add
        - o_stream_file_flush
        - o_stream_file_writev_full
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:625,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:626,11'
              BranchSideFuncs:
                - get_unused_space
                - i_panic
                - i_panic
                - o_stream_add
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
                - o_stream_file_flush
            - BranchSide:      'ostream-file.c:627,15'
              BranchSideFuncs:
                - get_unused_space
                - i_panic
                - i_panic
                - o_stream_add
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
                - o_stream_file_flush
        - Branch String:   'ostream-file.c:629,39'
          Branch Sides:
            - BranchSide:      'ostream-file.c:629,43'
              BranchSideFuncs:
                - o_stream_file_flush
                - i_panic
                - i_panic
                - o_stream_add
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
            - BranchSide:      'ostream-file.c:634,17'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
        - Branch String:   'ostream-file.c:629,43'
          Branch Sides:
            - BranchSide:      'ostream-file.c:629,43'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
                - o_stream_file_flush
            - BranchSide:      'ostream-file.c:630,27'
              BranchSideFuncs:
                - o_stream_file_flush
                - i_panic
                - i_panic
                - o_stream_add
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
        - Branch String:   'ostream-file.c:629,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:630,27'
              BranchSideFuncs:
                - o_stream_file_flush
                - i_panic
                - i_panic
                - o_stream_add
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
            - BranchSide:      'ostream-file.c:634,17'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
        - Branch String:   'ostream-file.c:630,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:631,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:632,2'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
        - Branch String:   'ostream-file.c:634,17'
          Branch Sides:
            - BranchSide:      'ostream-file.c:634,15'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
            - BranchSide:      'ostream-file.c:634,15'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
        - Branch String:   'ostream-file.c:636,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:636,6'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
                - i_panic
                - o_stream_add
                - i_panic
            - BranchSide:      'ostream-file.c:670,9'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
        - Branch String:   'ostream-file.c:636,31'
          Branch Sides:
            - BranchSide:      'ostream-file.c:637,8'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
            - BranchSide:      'ostream-file.c:670,9'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
        - Branch String:   'ostream-file.c:637,23'
          Branch Sides:
            - BranchSide:      'ostream-file.c:637,26'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
            - BranchSide:      'ostream-file.c:639,35'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
                - i_panic
                - o_stream_add
                - i_panic
        - Branch String:   'ostream-file.c:636,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:639,35'
              BranchSideFuncs:
                - o_stream_file_writev_full
                - o_stream_add
                - i_panic
                - i_panic
                - o_stream_add
                - i_panic
            - BranchSide:      'ostream-file.c:670,9'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
        - Branch String:   'ostream-file.c:640,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:641,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:643,10'
              BranchSideFuncs:
                - o_stream_add
                - i_panic
                - i_panic
                - o_stream_add
                - i_panic
        - Branch String:   'ostream-file.c:644,19'
          Branch Sides:
            - BranchSide:      'ostream-file.c:644,22'
              BranchSideFuncs:
                - o_stream_add
                - i_panic
                - i_panic
                - o_stream_add
                - i_panic
            - BranchSide:      'ostream-file.c:644,3'
              BranchSideFuncs:
                - o_stream_add
                - i_panic
                - i_panic
                - o_stream_add
                - i_panic
        - Branch String:   'ostream-file.c:644,36'
          Branch Sides:
            - BranchSide:      'ostream-file.c:644,39'
              BranchSideFuncs:
                - o_stream_add
                - i_panic
                - i_panic
                - o_stream_add
                - i_panic
            - BranchSide:      'ostream-file.c:644,3'
              BranchSideFuncs:
                - o_stream_add
                - i_panic
                - i_panic
                - o_stream_add
                - i_panic
        - Branch String:   'ostream-file.c:644,3'
          Branch Sides:
            - BranchSide:      'ostream-file.c:645,12'
              BranchSideFuncs:
                - o_stream_add
                - i_panic
                - i_panic
                - o_stream_add
                - i_panic
            - BranchSide:      'ostream-file.c:650,7'
              BranchSideFuncs:
                - o_stream_add
                - i_panic
                - i_panic
                - o_stream_add
                - i_panic
        - Branch String:   'ostream-file.c:650,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:651,4'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
                - i_panic
            - BranchSide:      'ostream-file.c:653,25'
              BranchSideFuncs:
                - o_stream_add
                - i_panic
                - i_panic
                - o_stream_add
        - Branch String:   'ostream-file.c:651,4'
          Branch Sides:
            - BranchSide:      'ostream-file.c:651,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:667,2'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
        - Branch String:   'ostream-file.c:658,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:660,31'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:664,7'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
        - Branch String:   'ostream-file.c:670,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:671,24'
              BranchSideFuncs:
                - o_stream_add
                - i_panic
                - i_panic
            - BranchSide:      'ostream-file.c:676,28'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'ostream-file.c:673,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:674,4'
              BranchSideFuncs:
                - i_panic
                - i_panic
            - BranchSide:      'ostream-file.c:675,2'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - o_stream_add
        - Branch String:   'ostream-file.c:677,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:677,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:678,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream-file.c:678,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:678,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:678,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ostream-file.c:678,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:678,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:679,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:629,13'
          Dst:             get_unused_space
        - Src:             'ostream-file.c:630,7'
          Dst:             o_stream_file_flush
        - Src:             'ostream-file.c:639,9'
          Dst:             o_stream_file_writev_full
        - Src:             'ostream-file.c:651,4'
          Dst:             i_panic
        - Src:             'ostream-file.c:653,12'
          Dst:             o_stream_add
        - Src:             'ostream-file.c:671,11'
          Dst:             o_stream_add
        - Src:             'ostream-file.c:677,2'
          Dst:             i_panic
        - Src:             'ostream-file.c:678,2'
          Dst:             i_panic
    - functionName:    o_stream_file_write_at
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 713
      functionLinenumberEnd: 767
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - data
        - size
        - offset
      BBCount:         27
      ICount:          218
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - file_buffer_get_used_size
        - o_stream_file_flush
        - o_stream_file_update_buffer
        - pwrite_full
        - stream_closed
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:720,15'
          Branch Sides:
            - BranchSide:      'ostream-file.c:721,6'
              BranchSideFuncs:
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
                - o_stream_file_update_buffer
            - BranchSide:      'ostream-file.c:758,26'
              BranchSideFuncs:
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
        - Branch String:   'ostream-file.c:721,45'
          Branch Sides:
            - BranchSide:      'ostream-file.c:722,6'
              BranchSideFuncs:
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
                - o_stream_file_update_buffer
            - BranchSide:      'ostream-file.c:758,26'
              BranchSideFuncs:
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
        - Branch String:   'ostream-file.c:720,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:723,7'
              BranchSideFuncs:
                - o_stream_file_update_buffer
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
            - BranchSide:      'ostream-file.c:758,26'
              BranchSideFuncs:
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
        - Branch String:   'ostream-file.c:723,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:725,9'
              BranchSideFuncs:
                - o_stream_file_update_buffer
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
            - BranchSide:      'ostream-file.c:727,11'
              BranchSideFuncs:
                - o_stream_file_update_buffer
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
        - Branch String:   'ostream-file.c:733,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:735,8'
              BranchSideFuncs:
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
            - BranchSide:      'ostream-file.c:747,14'
              BranchSideFuncs:
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
        - Branch String:   'ostream-file.c:735,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:739,4'
              BranchSideFuncs:
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
            - BranchSide:      'ostream-file.c:741,27'
              BranchSideFuncs:
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
        - Branch String:   'ostream-file.c:747,14'
          Branch Sides:
            - BranchSide:      'ostream-file.c:749,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:752,11'
              BranchSideFuncs:
                - o_stream_file_flush
                - pwrite_full
                - __errno_location
                - stream_closed
        - Branch String:   'ostream-file.c:758,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:759,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:761,18'
              BranchSideFuncs:
                - pwrite_full
                - __errno_location
                - stream_closed
        - Branch String:   'ostream-file.c:761,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:762,34'
              BranchSideFuncs:
                - __errno_location
                - stream_closed
            - BranchSide:      'ostream-file.c:766,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:719,9'
          Dst:             file_buffer_get_used_size
        - Src:             'ostream-file.c:731,10'
          Dst:             o_stream_file_update_buffer
        - Src:             'ostream-file.c:758,6'
          Dst:             o_stream_file_flush
        - Src:             'ostream-file.c:761,6'
          Dst:             pwrite_full
        - Src:             'ostream-file.c:762,34'
          Dst:             __errno_location
        - Src:             'ostream-file.c:763,3'
          Dst:             stream_closed
    - functionName:    o_stream_file_send_istream
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 991
      functionLinenumberEnd: 1014
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - outstream
        - instream
      BBCount:         23
      ICount:          156
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - i_stream_get_fd
        - io_stream_copy
        - io_stream_copy_same_stream
        - io_stream_sendfile
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:998,10'
          Branch Sides:
            - BranchSide:      'ostream-file.c:998,56'
              BranchSideFuncs:
                - i_stream_get_fd
                - i_stream_get_fd
                - io_stream_copy
                - io_stream_copy_same_stream
                - io_stream_sendfile
            - BranchSide:      'ostream-file.c:998,8'
              BranchSideFuncs:
                - i_stream_get_fd
                - io_stream_copy
                - io_stream_copy_same_stream
                - io_stream_sendfile
        - Branch String:   'ostream-file.c:999,31'
          Branch Sides:
            - BranchSide:      'ostream-file.c:999,34'
              BranchSideFuncs:
                - i_stream_get_fd
                - io_stream_copy
                - io_stream_copy_same_stream
            - BranchSide:      'ostream-file.c:1009,32'
              BranchSideFuncs:
                - i_stream_get_fd
                - io_stream_copy
                - io_stream_copy_same_stream
        - Branch String:   'ostream-file.c:999,46'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1000,6'
              BranchSideFuncs:
                - i_stream_get_fd
                - io_stream_copy
                - io_stream_copy_same_stream
                - io_stream_sendfile
            - BranchSide:      'ostream-file.c:1009,32'
              BranchSideFuncs:
                - i_stream_get_fd
                - io_stream_copy
                - io_stream_copy_same_stream
        - Branch String:   'ostream-file.c:1000,30'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1000,33'
              BranchSideFuncs:
                - i_stream_get_fd
                - io_stream_copy
                - io_stream_copy_same_stream
                - io_stream_sendfile
            - BranchSide:      'ostream-file.c:1009,32'
              BranchSideFuncs:
                - i_stream_get_fd
                - io_stream_copy
                - io_stream_copy_same_stream
        - Branch String:   'ostream-file.c:999,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1001,26'
              BranchSideFuncs:
                - io_stream_sendfile
                - i_stream_get_fd
                - io_stream_copy
                - io_stream_copy_same_stream
            - BranchSide:      'ostream-file.c:1009,32'
              BranchSideFuncs:
                - i_stream_get_fd
                - io_stream_copy
                - io_stream_copy_same_stream
        - Branch String:   'ostream-file.c:1001,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1002,11'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:1006,3'
              BranchSideFuncs:
                - i_stream_get_fd
                - io_stream_copy
                - io_stream_copy_same_stream
        - Branch String:   'ostream-file.c:1009,60'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1009,14'
              BranchSideFuncs:
                - io_stream_copy
                - io_stream_copy_same_stream
            - BranchSide:      'ostream-file.c:1010,3'
              BranchSideFuncs:
                - io_stream_copy
                - io_stream_copy_same_stream
        - Branch String:   'ostream-file.c:1011,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1012,26'
              BranchSideFuncs:
                - io_stream_copy_same_stream
            - BranchSide:      'ostream-file.c:1013,36'
              BranchSideFuncs:
                - io_stream_copy_same_stream
      Callsites:
        - Src:             'ostream-file.c:998,40'
          Dst:             i_stream_get_fd
        - Src:             'ostream-file.c:1001,7'
          Dst:             io_stream_sendfile
        - Src:             'ostream-file.c:1009,16'
          Dst:             i_stream_get_fd
        - Src:             'ostream-file.c:1012,10'
          Dst:             io_stream_copy
        - Src:             'ostream-file.c:1013,9'
          Dst:             io_stream_copy_same_stream
    - functionName:    o_stream_file_switch_ioloop_to
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1018
      functionLinenumberEnd: 1024
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - ioloop
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - io_loop_move_io_to
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:1022,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1022,6'
              BranchSideFuncs:
                - io_loop_move_io_to
            - BranchSide:      'ostream-file.c:1023,36'
              BranchSideFuncs:
                - io_loop_move_io_to
      Callsites:
        - Src:             'ostream-file.c:1023,17'
          Dst:             io_loop_move_io_to
    - functionName:    o_stream_file_writev
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - fstream
        - iov
        - iov_count
        - error_r
      BBCount:         57
      ICount:          353
      EdgeCount:       72
      CyclomaticComplexity: 17
      functionsReached:
        - i_panic
        - o_stream_get_error
        - o_stream_lseek
        - pwrite
        - t_strdup
        - t_strdup_printf
        - write
        - writev
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:165,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:166,3'
              BranchSideFuncs:
                - write
                - t_strdup_printf
                - i_panic
                - pwrite
                - i_panic
            - BranchSide:      'ostream-file.c:180,22'
              BranchSideFuncs:
                - o_stream_lseek
                - t_strdup_printf
                - i_panic
                - writev
                - writev
                - o_stream_get_error
                - t_strdup
        - Branch String:   'ostream-file.c:166,3'
          Branch Sides:
            - BranchSide:      'ostream-file.c:166,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:168,8'
              BranchSideFuncs:
                - write
                - t_strdup_printf
                - i_panic
                - pwrite
        - Branch String:   'ostream-file.c:168,22'
          Branch Sides:
            - BranchSide:      'ostream-file.c:169,7'
              BranchSideFuncs:
                - pwrite
                - t_strdup_printf
                - i_panic
                - write
            - BranchSide:      'ostream-file.c:170,12'
              BranchSideFuncs:
                - write
                - t_strdup_printf
                - i_panic
        - Branch String:   'ostream-file.c:168,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:170,12'
              BranchSideFuncs:
                - write
                - t_strdup_printf
                - i_panic
            - BranchSide:      'ostream-file.c:175,12'
              BranchSideFuncs:
                - pwrite
                - t_strdup_printf
                - i_panic
        - Branch String:   'ostream-file.c:172,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:173,29'
              BranchSideFuncs:
                - t_strdup_printf
                - i_panic
            - BranchSide:      'ostream-file.c:174,3'
              BranchSideFuncs:
                - t_strdup_printf
                - i_panic
        - Branch String:   'ostream-file.c:180,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:181,44'
              BranchSideFuncs:
                - o_stream_get_error
                - t_strdup
            - BranchSide:      'ostream-file.c:185,11'
              BranchSideFuncs:
                - t_strdup_printf
                - i_panic
                - writev
                - writev
        - Branch String:   'ostream-file.c:187,3'
          Branch Sides:
            - BranchSide:      'ostream-file.c:188,9'
              BranchSideFuncs:
                - writev
                - t_strdup_printf
                - i_panic
                - writev
            - BranchSide:      'ostream-file.c:204,7'
              BranchSideFuncs:
                - t_strdup_printf
                - i_panic
                - writev
        - Branch String:   'ostream-file.c:189,4'
          Branch Sides:
            - BranchSide:      'ostream-file.c:190,13'
              BranchSideFuncs:
                - writev
                - t_strdup_printf
                - i_panic
                - writev
            - BranchSide:      'ostream-file.c:192,17'
              BranchSideFuncs:
                - writev
                - t_strdup_printf
                - i_panic
                - writev
        - Branch String:   'ostream-file.c:194,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:195,5'
              BranchSideFuncs:
                - t_strdup_printf
                - i_panic
                - writev
            - BranchSide:      'ostream-file.c:198,28'
              BranchSideFuncs:
                - t_strdup_printf
                - i_panic
                - writev
                - writev
        - Branch String:   'ostream-file.c:204,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:205,9'
              BranchSideFuncs:
                - writev
                - t_strdup_printf
                - i_panic
            - BranchSide:      'ostream-file.c:214,7'
              BranchSideFuncs:
                - t_strdup_printf
                - i_panic
        - Branch String:   'ostream-file.c:206,4'
          Branch Sides:
            - BranchSide:      'ostream-file.c:207,13'
              BranchSideFuncs:
                - writev
                - t_strdup_printf
                - i_panic
            - BranchSide:      'ostream-file.c:209,17'
              BranchSideFuncs:
                - writev
                - t_strdup_printf
                - i_panic
        - Branch String:   'ostream-file.c:211,8'
          Branch Sides:
            - BranchSide:      'ostream-file.c:212,29'
              BranchSideFuncs:
                - t_strdup_printf
                - i_panic
            - BranchSide:      'ostream-file.c:213,3'
              BranchSideFuncs:
                - t_strdup_printf
                - i_panic
        - Branch String:   'ostream-file.c:214,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:215,11'
              BranchSideFuncs:
                - t_strdup_printf
                - i_panic
            - BranchSide:      'ostream-file.c:216,13'
              BranchSideFuncs:
                - t_strdup_printf
                - i_panic
        - Branch String:   'ostream-file.c:221,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:222,3'
              BranchSideFuncs:
                - t_strdup_printf
                - i_panic
            - BranchSide:      'ostream-file.c:225,9'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:222,3'
          Branch Sides:
            - BranchSide:      'ostream-file.c:222,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ostream-file.c:223,49'
              BranchSideFuncs:
                - t_strdup_printf
      Callsites:
        - Src:             'ostream-file.c:166,3'
          Dst:             i_panic
        - Src:             'ostream-file.c:171,10'
          Dst:             write
        - Src:             'ostream-file.c:176,10'
          Dst:             pwrite
        - Src:             'ostream-file.c:180,7'
          Dst:             o_stream_lseek
        - Src:             'ostream-file.c:181,24'
          Dst:             o_stream_get_error
        - Src:             'ostream-file.c:181,15'
          Dst:             t_strdup
        - Src:             'ostream-file.c:192,10'
          Dst:             writev
        - Src:             'ostream-file.c:209,10'
          Dst:             writev
        - Src:             'ostream-file.c:222,3'
          Dst:             i_panic
        - Src:             'ostream-file.c:223,14'
          Dst:             t_strdup_printf
    - functionName:    pwrite
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writev
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_unused_space
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 464
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fstream
      BBCount:         9
      ICount:          75
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ostream-file.c:454,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:456,10'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:457,13'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:457,13'
          Branch Sides:
            - BranchSide:      'ostream-file.c:459,11'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:462,10'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:462,10'
          Branch Sides:
            - BranchSide:      'ostream-file.c:462,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:462,30'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    o_stream_add
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 575
      functionLinenumberEnd: 612
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - fstream
        - data
        - size
      BBCount:         38
      ICount:          276
      EdgeCount:       51
      CyclomaticComplexity: 15
      functionsReached:
        - get_unused_space
        - i_memcpy
        - io_add_to
        - io_stream_get_ioloop
        - o_stream_grow_buffer
        - stream_send_io
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ostream-file.c:581,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:582,24'
              BranchSideFuncs:
                - o_stream_grow_buffer
                - io_stream_get_ioloop
                - io_add_to
                - i_memcpy.3050
            - BranchSide:      'ostream-file.c:584,7'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - i_memcpy.3050
        - Branch String:   'ostream-file.c:585,20'
          Branch Sides:
            - BranchSide:      'ostream-file.c:585,23'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - i_memcpy.3050
            - BranchSide:      'ostream-file.c:585,2'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - i_memcpy.3050
        - Branch String:   'ostream-file.c:585,35'
          Branch Sides:
            - BranchSide:      'ostream-file.c:585,39'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - i_memcpy.3050
            - BranchSide:      'ostream-file.c:585,2'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - i_memcpy.3050
        - Branch String:   'ostream-file.c:585,2'
          Branch Sides:
            - BranchSide:      'ostream-file.c:586,12'
              BranchSideFuncs:
                - i_memcpy.3050
                - io_stream_get_ioloop
                - io_add_to
            - BranchSide:      'ostream-file.c:605,6'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
        - Branch String:   'ostream-file.c:586,12'
          Branch Sides:
            - BranchSide:      'ostream-file.c:587,4'
              BranchSideFuncs:
                - i_memcpy.3050
                - io_stream_get_ioloop
                - io_add_to
            - BranchSide:      'ostream-file.c:588,4'
              BranchSideFuncs:
                - i_memcpy.3050
                - io_stream_get_ioloop
                - io_add_to
        - Branch String:   'ostream-file.c:590,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:591,13'
              BranchSideFuncs:
                - i_memcpy.3050
                - io_stream_get_ioloop
                - io_add_to
            - BranchSide:      'ostream-file.c:592,3'
              BranchSideFuncs:
                - i_memcpy.3050
                - io_stream_get_ioloop
                - io_add_to
        - Branch String:   'ostream-file.c:597,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:598,4'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - i_memcpy.3050
            - BranchSide:      'ostream-file.c:600,7'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - i_memcpy.3050
        - Branch String:   'ostream-file.c:600,38'
          Branch Sides:
            - BranchSide:      'ostream-file.c:601,7'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - i_memcpy.3050
            - BranchSide:      'ostream-file.c:603,2'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - i_memcpy.3050
        - Branch String:   'ostream-file.c:600,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:602,4'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - i_memcpy.3050
            - BranchSide:      'ostream-file.c:603,2'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
                - i_memcpy.3050
        - Branch String:   'ostream-file.c:605,16'
          Branch Sides:
            - BranchSide:      'ostream-file.c:605,19'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
            - BranchSide:      'ostream-file.c:605,16'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:605,39'
          Branch Sides:
            - BranchSide:      'ostream-file.c:605,39'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
            - BranchSide:      'ostream-file.c:606,7'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
        - Branch String:   'ostream-file.c:606,31'
          Branch Sides:
            - BranchSide:      'ostream-file.c:606,31'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:606,35'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
        - Branch String:   'ostream-file.c:605,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:605,6'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:607,17'
              BranchSideFuncs:
                - io_stream_get_ioloop
                - io_add_to
      Callsites:
        - Src:             'ostream-file.c:580,11'
          Dst:             get_unused_space
        - Src:             'ostream-file.c:582,3'
          Dst:             o_stream_grow_buffer
        - Src:             'ostream-file.c:592,3'
          Dst:             i_memcpy
        - Src:             'ostream-file.c:607,17'
          Dst:             io_stream_get_ioloop
        - Src:             'ostream-file.c:607,17'
          Dst:             io_add_to
        - Src:             'ostream-file.c:607,17'
          Dst:             stream_send_io
    - functionName:    o_stream_create_file
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1176
      functionLinenumberEnd: 1186
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - int
        - int
      constantsTouched: []
      argNames:
        - path
        - offset
        - mode
        - flags
      BBCount:         9
      ICount:          72
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - o_stream_create_error
        - o_stream_create_fd_file_autoclose
        - open
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ostream-file.c:1179,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1180,14'
              BranchSideFuncs:
                - open
                - o_stream_create_fd_file_autoclose
                - __errno_location
                - o_stream_create_error
            - BranchSide:      'ostream-file.c:1182,14'
              BranchSideFuncs:
                - open
                - o_stream_create_fd_file_autoclose
                - __errno_location
                - o_stream_create_error
        - Branch String:   'ostream-file.c:1183,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1184,32'
              BranchSideFuncs:
                - __errno_location
                - o_stream_create_error
            - BranchSide:      'ostream-file.c:1185,48'
              BranchSideFuncs:
                - o_stream_create_fd_file_autoclose
      Callsites:
        - Src:             'ostream-file.c:1183,12'
          Dst:             open
        - Src:             'ostream-file.c:1184,32'
          Dst:             __errno_location
        - Src:             'ostream-file.c:1184,10'
          Dst:             o_stream_create_error
        - Src:             'ostream-file.c:1185,9'
          Dst:             o_stream_create_fd_file_autoclose
    - functionName:    o_stream_create_fd_file_autoclose
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1166
      functionLinenumberEnd: 1171
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - fd
        - offset
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_create_fd_file
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream-file.c:1169,11'
          Dst:             o_stream_create_fd_file
    - functionName:    o_stream_create_fd_file
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1148
      functionLinenumberEnd: 1162
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - fd
        - offset
        - autoclose_fd
      BBCount:         6
      ICount:          81
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - fstream_init_file
        - lseek
        - malloc_multiply_check
        - o_stream_create_file_common
        - p_malloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ostream-file.c:1152,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1152,6'
              BranchSideFuncs:
                - lseek
                - malloc_multiply_check.3071
                - p_malloc.3072
                - o_stream_create_file_common
                - fstream_init_file
            - BranchSide:      'ostream-file.c:1153,18'
              BranchSideFuncs:
                - lseek
                - malloc_multiply_check.3071
                - p_malloc.3072
                - o_stream_create_file_common
                - fstream_init_file
      Callsites:
        - Src:             'ostream-file.c:1153,12'
          Dst:             lseek
        - Src:             'ostream-file.c:1155,12'
          Dst:             malloc_multiply_check
        - Src:             'ostream-file.c:1155,12'
          Dst:             p_malloc
        - Src:             'ostream-file.c:1156,12'
          Dst:             o_stream_create_file_common
        - Src:             'ostream-file.c:1157,2'
          Dst:             fstream_init_file
    - functionName:    fstream_init_file
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1062
      functionLinenumberEnd: 1081
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fstream
      BBCount:         14
      ICount:          103
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - fstat
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ostream-file.c:1066,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1067,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:1069,17'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:1069,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1072,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:1075,6'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:1072,4'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1071,3'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:1071,3'
              BranchSideFuncs: []
        - Branch String:   'ostream-file.c:1075,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1075,6'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:1076,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:1066,6'
          Dst:             fstat
    - functionName:    o_stream_create_fd_ref_autoclose
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1142
      functionLinenumberEnd: 1143
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ref
        - max_buffer_size
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_create_fd_common
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream-file.c:1143,9'
          Dst:             o_stream_create_fd_common
    - functionName:    o_stream_create_fd_common
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1086
      functionLinenumberEnd: 1122
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - fd
        - ref
        - max_buffer_size
        - autoclose_fd
      BBCount:         15
      ICount:          154
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - fstream_init_file
        - iostream_fd_ref
        - lseek
        - malloc_multiply_check
        - net_getsockname
        - o_stream_create_file_common
        - p_malloc
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ostream-file.c:1092,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1093,21'
              BranchSideFuncs:
                - iostream_fd_ref
                - o_stream_create_file_common
                - lseek
                - net_getsockname
                - fstream_init_file
            - BranchSide:      'ostream-file.c:1097,4'
              BranchSideFuncs:
                - o_stream_create_file_common
                - lseek
                - net_getsockname
                - fstream_init_file
        - Branch String:   'ostream-file.c:1100,6'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1101,21'
              BranchSideFuncs:
                - fstream_init_file
            - BranchSide:      'ostream-file.c:1108,23'
              BranchSideFuncs:
                - net_getsockname
        - Branch String:   'ostream-file.c:1108,7'
          Branch Sides:
            - BranchSide:      'ostream-file.c:1110,4'
              BranchSideFuncs: []
            - BranchSide:      'ostream-file.c:1114,23'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ostream-file.c:1091,12'
          Dst:             malloc_multiply_check
        - Src:             'ostream-file.c:1091,12'
          Dst:             p_malloc
        - Src:             'ostream-file.c:1094,3'
          Dst:             iostream_fd_ref
        - Src:             'ostream-file.c:1096,12'
          Dst:             o_stream_create_file_common
        - Src:             'ostream-file.c:1099,11'
          Dst:             lseek
        - Src:             'ostream-file.c:1104,3'
          Dst:             fstream_init_file
        - Src:             'ostream-file.c:1108,7'
          Dst:             net_getsockname
    - functionName:    o_stream_create_fd_autoclose
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1133
      functionLinenumberEnd: 1137
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - fd
        - max_buffer_size
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_create_fd_common
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream-file.c:1134,28'
          Dst:             o_stream_create_fd_common
    - functionName:    o_stream_create_fd
      functionSourceFile: '/src/dovecot/src/lib/ostream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1127
      functionLinenumberEnd: 1128
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - fd
        - max_buffer_size
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_create_fd_common
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ostream-file.c:1128,9'
          Dst:             o_stream_create_fd_common
    - functionName:    str_len
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    str_truncate
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - len
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_set_used_size
        - str_len
      functionUses:    1
      BranchProfiles:
        - Branch String:   './str.h:90,6'
          Branch Sides:
            - BranchSide:      './str.h:90,6'
              BranchSideFuncs:
                - buffer_set_used_size
            - BranchSide:      './str.h:91,24'
              BranchSideFuncs:
                - buffer_set_used_size
      Callsites:
        - Src:             './str.h:90,6'
          Dst:             str_len
        - Src:             './str.h:91,3'
          Dst:             buffer_set_used_size
    - functionName:    str_append_c
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - str
        - chr
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_c
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:44,2'
          Dst:             buffer_append_c
    - functionName:    str_append
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cstr
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:35,27'
          Dst:             strlen
        - Src:             './str.h:35,2'
          Dst:             buffer_append
    - functionName:    t_binary_abspath
      functionSourceFile: '/src/dovecot/src/lib/path-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 362
      functionLinenumberEnd: 398
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - binpath
        - error_r
      BBCount:         18
      ICount:          130
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - access
        - getenv
        - str_append
        - str_append_c
        - str_c
        - str_truncate
        - strchr
        - t_abspath
        - t_str_new
        - t_strdup_printf
        - t_strsplit
      functionUses:    0
      BranchProfiles:
        - Branch String:   'path-util.c:366,6'
          Branch Sides:
            - BranchSide:      'path-util.c:368,3'
              BranchSideFuncs: []
            - BranchSide:      'path-util.c:369,21'
              BranchSideFuncs:
                - strchr
                - getenv
                - t_str_new
                - t_strsplit
                - str_append.3131
                - str_append_c.3130
                - str_append.3131
                - str_c
                - access
                - str_truncate.3129
                - str_c
                - t_abspath
                - t_strdup_printf
        - Branch String:   'path-util.c:369,13'
          Branch Sides:
            - BranchSide:      'path-util.c:372,18'
              BranchSideFuncs:
                - t_abspath
                - t_strdup_printf
            - BranchSide:      'path-util.c:378,25'
              BranchSideFuncs:
                - getenv
                - t_str_new
                - t_strsplit
                - str_append.3131
                - str_append_c.3130
                - str_append.3131
                - str_c
                - access
                - str_truncate.3129
                - str_c
        - Branch String:   'path-util.c:372,7'
          Branch Sides:
            - BranchSide:      'path-util.c:374,11'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'path-util.c:377,3'
              BranchSideFuncs: []
        - Branch String:   'path-util.c:378,13'
          Branch Sides:
            - BranchSide:      'path-util.c:380,10'
              BranchSideFuncs:
                - t_str_new
                - t_strsplit
                - str_append.3131
                - str_append_c.3130
                - str_append.3131
                - str_c
                - access
                - str_truncate.3129
                - str_c
            - BranchSide:      'path-util.c:395,4'
              BranchSideFuncs: []
        - Branch String:   'path-util.c:382,3'
          Branch Sides:
            - BranchSide:      'path-util.c:383,15'
              BranchSideFuncs:
                - str_append.3131
                - str_append_c.3130
                - str_append.3131
                - str_c
                - access
                - str_truncate.3129
                - str_c
            - BranchSide:      'path-util.c:392,4'
              BranchSideFuncs: []
        - Branch String:   'path-util.c:386,8'
          Branch Sides:
            - BranchSide:      'path-util.c:387,22'
              BranchSideFuncs:
                - str_c
            - BranchSide:      'path-util.c:390,17'
              BranchSideFuncs:
                - str_truncate.3129
                - str_append.3131
                - str_append_c.3130
                - str_append.3131
                - str_c
                - access
                - str_c
      Callsites:
        - Src:             'path-util.c:369,13'
          Dst:             strchr
        - Src:             'path-util.c:372,7'
          Dst:             t_abspath
        - Src:             'path-util.c:373,15'
          Dst:             t_strdup_printf
        - Src:             'path-util.c:378,25'
          Dst:             getenv
        - Src:             'path-util.c:380,10'
          Dst:             t_str_new
        - Src:             'path-util.c:381,11'
          Dst:             t_strsplit
        - Src:             'path-util.c:383,4'
          Dst:             str_append
        - Src:             'path-util.c:384,4'
          Dst:             str_append_c
        - Src:             'path-util.c:385,4'
          Dst:             str_append
        - Src:             'path-util.c:386,15'
          Dst:             str_c
        - Src:             'path-util.c:386,8'
          Dst:             access
        - Src:             'path-util.c:387,16'
          Dst:             str_c
        - Src:             'path-util.c:390,4'
          Dst:             str_truncate
    - functionName:    t_abspath
      functionSourceFile: '/src/dovecot/src/lib/path-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
        - abspath_r
        - error_r
      BBCount:         20
      ICount:          111
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - t_get_working_dir
        - t_strconcat
      functionUses:    1
      BranchProfiles:
        - Branch String:   'path-util.c:292,2'
          Branch Sides:
            - BranchSide:      'path-util.c:292,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:293,2'
              BranchSideFuncs:
                - t_get_working_dir
                - t_strconcat
                - t_strconcat
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:293,2'
          Branch Sides:
            - BranchSide:      'path-util.c:293,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:294,2'
              BranchSideFuncs:
                - t_get_working_dir
                - t_strconcat
                - t_strconcat
                - i_panic
        - Branch String:   'path-util.c:294,2'
          Branch Sides:
            - BranchSide:      'path-util.c:294,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:296,7'
              BranchSideFuncs:
                - t_get_working_dir
                - t_strconcat
                - t_strconcat
        - Branch String:   'path-util.c:296,6'
          Branch Sides:
            - BranchSide:      'path-util.c:297,16'
              BranchSideFuncs: []
            - BranchSide:      'path-util.c:302,6'
              BranchSideFuncs:
                - t_get_working_dir
                - t_strconcat
                - t_strconcat
        - Branch String:   'path-util.c:302,6'
          Branch Sides:
            - BranchSide:      'path-util.c:304,12'
              BranchSideFuncs:
                - t_strconcat
            - BranchSide:      'path-util.c:307,27'
              BranchSideFuncs:
                - t_strconcat
      Callsites:
        - Src:             'path-util.c:292,2'
          Dst:             i_panic
        - Src:             'path-util.c:293,2'
          Dst:             i_panic
        - Src:             'path-util.c:294,2'
          Dst:             i_panic
        - Src:             'path-util.c:302,6'
          Dst:             t_get_working_dir
        - Src:             'path-util.c:303,14'
          Dst:             t_strconcat
        - Src:             'path-util.c:307,15'
          Dst:             t_strconcat
    - functionName:    access
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    t_get_working_dir
      functionSourceFile: '/src/dovecot/src/lib/path-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 334
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dir_r
        - error_r
      BBCount:         14
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - strlen
        - t_buffer_alloc
        - t_getcwd_noalloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'path-util.c:326,2'
          Branch Sides:
            - BranchSide:      'path-util.c:326,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:327,2'
              BranchSideFuncs:
                - t_getcwd_noalloc
                - strlen
                - t_buffer_alloc
                - i_panic
        - Branch String:   'path-util.c:327,2'
          Branch Sides:
            - BranchSide:      'path-util.c:327,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:328,35'
              BranchSideFuncs:
                - t_getcwd_noalloc
                - strlen
                - t_buffer_alloc
        - Branch String:   'path-util.c:328,6'
          Branch Sides:
            - BranchSide:      'path-util.c:329,3'
              BranchSideFuncs: []
            - BranchSide:      'path-util.c:331,24'
              BranchSideFuncs:
                - strlen
                - t_buffer_alloc
      Callsites:
        - Src:             'path-util.c:326,2'
          Dst:             i_panic
        - Src:             'path-util.c:327,2'
          Dst:             i_panic
        - Src:             'path-util.c:328,6'
          Dst:             t_getcwd_noalloc
        - Src:             'path-util.c:331,17'
          Dst:             strlen
        - Src:             'path-util.c:331,2'
          Dst:             t_buffer_alloc
    - functionName:    t_getcwd_noalloc
      functionSourceFile: '/src/dovecot/src/lib/path-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 16
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dir_r
        - asize_r
        - error_r
      BBCount:         12
      ICount:          78
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - getcwd
        - nearest_power
        - t_buffer_get
        - t_strdup_printf
      functionUses:    2
      BranchProfiles:
        - Branch String:   'path-util.c:22,2'
          Branch Sides:
            - BranchSide:      'path-util.c:23,7'
              BranchSideFuncs:
                - __errno_location
                - nearest_power
                - t_buffer_get
                - getcwd
                - t_strdup_printf
            - BranchSide:      'path-util.c:30,6'
              BranchSideFuncs: []
        - Branch String:   'path-util.c:23,7'
          Branch Sides:
            - BranchSide:      'path-util.c:24,15'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'path-util.c:27,25'
              BranchSideFuncs:
                - nearest_power
                - t_buffer_get
                - getcwd
                - __errno_location
                - t_strdup_printf
        - Branch String:   'path-util.c:30,6'
          Branch Sides:
            - BranchSide:      'path-util.c:31,14'
              BranchSideFuncs: []
            - BranchSide:      'path-util.c:32,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'path-util.c:21,8'
          Dst:             t_buffer_get
        - Src:             'path-util.c:22,9'
          Dst:             getcwd
        - Src:             'path-util.c:23,7'
          Dst:             __errno_location
        - Src:             'path-util.c:24,15'
          Dst:             t_strdup_printf
        - Src:             'path-util.c:27,11'
          Dst:             nearest_power
        - Src:             'path-util.c:28,9'
          Dst:             t_buffer_get
    - functionName:    getcwd
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    t_readlink
      functionSourceFile: '/src/dovecot/src/lib/path-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
        - dest_r
        - error_r
      BBCount:         13
      ICount:          95
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - nearest_power
        - readlink
        - t_buffer_alloc
        - t_buffer_get
        - t_strdup_printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'path-util.c:338,2'
          Branch Sides:
            - BranchSide:      'path-util.c:338,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:343,9'
              BranchSideFuncs:
                - t_buffer_get
                - readlink
                - t_buffer_alloc
                - t_strdup_printf
                - nearest_power
                - t_buffer_get
        - Branch String:   'path-util.c:346,2'
          Branch Sides:
            - BranchSide:      'path-util.c:347,24'
              BranchSideFuncs:
                - nearest_power
                - t_buffer_get
                - readlink
                - t_buffer_alloc
                - t_strdup_printf
            - BranchSide:      'path-util.c:350,6'
              BranchSideFuncs:
                - t_buffer_alloc
                - t_strdup_printf
        - Branch String:   'path-util.c:350,6'
          Branch Sides:
            - BranchSide:      'path-util.c:351,14'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'path-util.c:355,2'
              BranchSideFuncs:
                - t_buffer_alloc
      Callsites:
        - Src:             'path-util.c:338,2'
          Dst:             i_panic
        - Src:             'path-util.c:345,9'
          Dst:             t_buffer_get
        - Src:             'path-util.c:346,16'
          Dst:             readlink
        - Src:             'path-util.c:347,10'
          Dst:             nearest_power
        - Src:             'path-util.c:348,10'
          Dst:             t_buffer_get
        - Src:             'path-util.c:351,14'
          Dst:             t_strdup_printf
        - Src:             'path-util.c:356,2'
          Dst:             t_buffer_alloc
    - functionName:    readlink
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    t_abspath_to
      functionSourceFile: '/src/dovecot/src/lib/path-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 320
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
        - root
      BBCount:         14
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - t_strconcat
      functionUses:    0
      BranchProfiles:
        - Branch String:   'path-util.c:313,2'
          Branch Sides:
            - BranchSide:      'path-util.c:313,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:314,2'
              BranchSideFuncs:
                - t_strconcat
                - i_panic
        - Branch String:   'path-util.c:314,2'
          Branch Sides:
            - BranchSide:      'path-util.c:314,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:316,7'
              BranchSideFuncs:
                - t_strconcat
        - Branch String:   'path-util.c:316,6'
          Branch Sides:
            - BranchSide:      'path-util.c:317,10'
              BranchSideFuncs: []
            - BranchSide:      'path-util.c:319,21'
              BranchSideFuncs:
                - t_strconcat
      Callsites:
        - Src:             'path-util.c:313,2'
          Dst:             i_panic
        - Src:             'path-util.c:314,2'
          Dst:             i_panic
        - Src:             'path-util.c:319,9'
          Dst:             t_strconcat
    - functionName:    t_realpath_to
      functionSourceFile: '/src/dovecot/src/lib/path-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
        - root
        - npath_r
        - error_r
      BBCount:         18
      ICount:          99
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - t_realpath
        - t_strconcat
      functionUses:    0
      BranchProfiles:
        - Branch String:   'path-util.c:280,2'
          Branch Sides:
            - BranchSide:      'path-util.c:280,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:281,2'
              BranchSideFuncs:
                - t_strconcat
                - t_realpath
                - t_realpath
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:281,2'
          Branch Sides:
            - BranchSide:      'path-util.c:281,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:282,2'
              BranchSideFuncs:
                - t_strconcat
                - t_realpath
                - t_realpath
                - i_panic
        - Branch String:   'path-util.c:282,2'
          Branch Sides:
            - BranchSide:      'path-util.c:282,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:284,7'
              BranchSideFuncs:
                - t_strconcat
                - t_realpath
                - t_realpath
        - Branch String:   'path-util.c:284,6'
          Branch Sides:
            - BranchSide:      'path-util.c:285,21'
              BranchSideFuncs:
                - t_realpath
            - BranchSide:      'path-util.c:287,32'
              BranchSideFuncs:
                - t_strconcat
                - t_realpath
      Callsites:
        - Src:             'path-util.c:280,2'
          Dst:             i_panic
        - Src:             'path-util.c:281,2'
          Dst:             i_panic
        - Src:             'path-util.c:282,2'
          Dst:             i_panic
        - Src:             'path-util.c:285,10'
          Dst:             t_realpath
        - Src:             'path-util.c:287,20'
          Dst:             t_strconcat
        - Src:             'path-util.c:287,9'
          Dst:             t_realpath
    - functionName:    t_realpath
      functionSourceFile: '/src/dovecot/src/lib/path-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
        - npath_r
        - error_r
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - path_normalize
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'path-util.c:274,9'
          Dst:             path_normalize
    - functionName:    path_normalize
      functionSourceFile: '/src/dovecot/src/lib/path-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - bool
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
        - resolve_links
        - npath_r
        - error_r
      BBCount:         210
      ICount:          1241
      EdgeCount:       248
      CyclomaticComplexity: 40
      functionsReached:
        - __errno_location
        - i_memcpy
        - i_panic
        - lstat
        - nearest_power
        - readlink
        - strlen
        - t_buffer_alloc
        - t_buffer_get
        - t_buffer_reget
        - t_getcwd_noalloc
        - t_strdup_printf
      functionUses:    2
      BranchProfiles:
        - Branch String:   'path-util.c:45,2'
          Branch Sides:
            - BranchSide:      'path-util.c:45,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:46,2'
              BranchSideFuncs:
                - t_buffer_get
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - t_getcwd_noalloc
                - strlen
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:46,2'
          Branch Sides:
            - BranchSide:      'path-util.c:46,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:47,2'
              BranchSideFuncs:
                - t_buffer_get
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - t_getcwd_noalloc
                - strlen
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:47,2'
          Branch Sides:
            - BranchSide:      'path-util.c:47,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:49,6'
              BranchSideFuncs:
                - t_buffer_get
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - t_getcwd_noalloc
                - strlen
                - i_panic
        - Branch String:   'path-util.c:49,6'
          Branch Sides:
            - BranchSide:      'path-util.c:51,40'
              BranchSideFuncs:
                - t_getcwd_noalloc
                - strlen
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:57,9'
              BranchSideFuncs:
                - t_buffer_get
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:51,7'
          Branch Sides:
            - BranchSide:      'path-util.c:52,4'
              BranchSideFuncs: []
            - BranchSide:      'path-util.c:53,15'
              BranchSideFuncs:
                - strlen
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:54,3'
          Branch Sides:
            - BranchSide:      'path-util.c:54,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:55,2'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:64,2'
          Branch Sides:
            - BranchSide:      'path-util.c:70,3'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:241,2'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:70,3'
          Branch Sides:
            - BranchSide:      'path-util.c:71,5'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:74,17'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:74,36'
          Branch Sides:
            - BranchSide:      'path-util.c:74,40'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:74,3'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:74,3'
          Branch Sides:
            - BranchSide:      'path-util.c:74,61'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:76,7'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:76,7'
          Branch Sides:
            - BranchSide:      'path-util.c:77,4'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:78,12'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:79,19'
          Branch Sides:
            - BranchSide:      'path-util.c:79,22'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:81,14'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:79,7'
          Branch Sides:
            - BranchSide:      'path-util.c:81,3'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
            - BranchSide:      'path-util.c:81,14'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:81,26'
          Branch Sides:
            - BranchSide:      'path-util.c:81,29'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:92,4'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
        - Branch String:   'path-util.c:81,41'
          Branch Sides:
            - BranchSide:      'path-util.c:81,44'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:92,4'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
        - Branch String:   'path-util.c:81,14'
          Branch Sides:
            - BranchSide:      'path-util.c:84,4'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
            - BranchSide:      'path-util.c:92,4'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
        - Branch String:   'path-util.c:84,4'
          Branch Sides:
            - BranchSide:      'path-util.c:84,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:85,9'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
        - Branch String:   'path-util.c:85,8'
          Branch Sides:
            - BranchSide:      'path-util.c:86,11'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
            - BranchSide:      'path-util.c:90,3'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
        - Branch String:   'path-util.c:86,9'
          Branch Sides:
            - BranchSide:      'path-util.c:87,15'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
            - BranchSide:      'path-util.c:88,5'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
        - Branch String:   'path-util.c:88,5'
          Branch Sides:
            - BranchSide:      'path-util.c:88,44'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
            - BranchSide:      'path-util.c:89,4'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
        - Branch String:   'path-util.c:92,4'
          Branch Sides:
            - BranchSide:      'path-util.c:92,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:93,18'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
        - Branch String:   'path-util.c:93,8'
          Branch Sides:
            - BranchSide:      'path-util.c:94,30'
              BranchSideFuncs:
                - nearest_power
                - t_buffer_reget
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:101,4'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:101,4'
          Branch Sides:
            - BranchSide:      'path-util.c:101,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:102,10'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:102,8'
          Branch Sides:
            - BranchSide:      'path-util.c:103,5'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:108,4'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:103,5'
          Branch Sides:
            - BranchSide:      'path-util.c:103,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:104,16'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:108,4'
          Branch Sides:
            - BranchSide:      'path-util.c:108,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:109,4'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
        - Branch String:   'path-util.c:109,4'
          Branch Sides:
            - BranchSide:      'path-util.c:109,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:110,12'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
        - Branch String:   'path-util.c:114,7'
          Branch Sides:
            - BranchSide:      'path-util.c:116,5'
              BranchSideFuncs:
                - lstat
                - t_buffer_alloc
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
            - BranchSide:      'path-util.c:238,7'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:117,8'
          Branch Sides:
            - BranchSide:      'path-util.c:118,16'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'path-util.c:122,8'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
        - Branch String:   'path-util.c:122,8'
          Branch Sides:
            - BranchSide:      'path-util.c:125,12'
              BranchSideFuncs:
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
            - BranchSide:      'path-util.c:230,16'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - __errno_location
                - t_strdup_printf
        - Branch String:   'path-util.c:126,21'
          Branch Sides:
            - BranchSide:      'path-util.c:126,12'
              BranchSideFuncs:
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
            - BranchSide:      'path-util.c:126,43'
              BranchSideFuncs:
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
        - Branch String:   'path-util.c:130,9'
          Branch Sides:
            - BranchSide:      'path-util.c:131,6'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'path-util.c:142,14'
              BranchSideFuncs:
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
        - Branch String:   'path-util.c:143,5'
          Branch Sides:
            - BranchSide:      'path-util.c:143,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:144,19'
              BranchSideFuncs:
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
        - Branch String:   'path-util.c:144,9'
          Branch Sides:
            - BranchSide:      'path-util.c:145,31'
              BranchSideFuncs:
                - nearest_power
                - t_buffer_reget
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:152,9'
              BranchSideFuncs:
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:152,9'
          Branch Sides:
            - BranchSide:      'path-util.c:154,6'
              BranchSideFuncs:
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:160,5'
              BranchSideFuncs:
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:154,6'
          Branch Sides:
            - BranchSide:      'path-util.c:154,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:155,6'
              BranchSideFuncs:
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:155,6'
          Branch Sides:
            - BranchSide:      'path-util.c:155,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:156,14'
              BranchSideFuncs:
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:163,6'
          Branch Sides:
            - BranchSide:      'path-util.c:163,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:164,6'
              BranchSideFuncs:
                - readlink
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
        - Branch String:   'path-util.c:164,6'
          Branch Sides:
            - BranchSide:      'path-util.c:164,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:167,24'
              BranchSideFuncs:
                - readlink
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
        - Branch String:   'path-util.c:167,10'
          Branch Sides:
            - BranchSide:      'path-util.c:168,18'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'path-util.c:171,18'
              BranchSideFuncs:
                - readlink
                - t_strdup_printf
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:171,10'
          Branch Sides:
            - BranchSide:      'path-util.c:173,7'
              BranchSideFuncs:
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:180,19'
              BranchSideFuncs:
                - readlink
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
        - Branch String:   'path-util.c:180,10'
          Branch Sides:
            - BranchSide:      'path-util.c:181,7'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'path-util.c:189,15'
              BranchSideFuncs:
                - readlink
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
        - Branch String:   'path-util.c:190,6'
          Branch Sides:
            - BranchSide:      'path-util.c:190,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:191,20'
              BranchSideFuncs:
                - readlink
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
        - Branch String:   'path-util.c:191,66'
          Branch Sides:
            - BranchSide:      'path-util.c:192,10'
              BranchSideFuncs:
                - nearest_power
                - t_buffer_reget
                - readlink
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:193,32'
              BranchSideFuncs:
                - nearest_power
                - t_buffer_reget
                - readlink
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:191,10'
          Branch Sides:
            - BranchSide:      'path-util.c:160,5'
              BranchSideFuncs:
                - nearest_power
                - t_buffer_reget
                - readlink
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:193,32'
              BranchSideFuncs:
                - nearest_power
                - t_buffer_reget
                - readlink
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:202,5'
          Branch Sides:
            - BranchSide:      'path-util.c:202,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:203,9'
              BranchSideFuncs:
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:203,9'
          Branch Sides:
            - BranchSide:      'path-util.c:204,6'
              BranchSideFuncs:
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:209,6'
              BranchSideFuncs:
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:204,6'
          Branch Sides:
            - BranchSide:      'path-util.c:204,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:205,6'
              BranchSideFuncs:
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:205,6'
          Branch Sides:
            - BranchSide:      'path-util.c:205,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:206,6'
              BranchSideFuncs:
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:206,6'
          Branch Sides:
            - BranchSide:      'path-util.c:206,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:207,6'
              BranchSideFuncs:
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:209,6'
          Branch Sides:
            - BranchSide:      'path-util.c:209,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:210,6'
              BranchSideFuncs:
                - i_memcpy.3124
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:217,9'
          Branch Sides:
            - BranchSide:      'path-util.c:219,18'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:222,6'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:222,6'
          Branch Sides:
            - BranchSide:      'path-util.c:222,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:223,11'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:224,11'
          Branch Sides:
            - BranchSide:      'path-util.c:225,17'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:226,7'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:226,7'
          Branch Sides:
            - BranchSide:      'path-util.c:226,46'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
            - BranchSide:      'path-util.c:227,6'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
                - i_panic
                - lstat
                - __errno_location
                - t_strdup_printf
                - strlen
                - readlink
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_memcpy.3124
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - __errno_location
                - t_strdup_printf
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - nearest_power
                - t_buffer_reget
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:241,2'
          Branch Sides:
            - BranchSide:      'path-util.c:241,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:242,2'
              BranchSideFuncs:
                - t_buffer_alloc
                - i_panic
        - Branch String:   'path-util.c:242,2'
          Branch Sides:
            - BranchSide:      'path-util.c:242,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:245,7'
              BranchSideFuncs:
                - t_buffer_alloc
        - Branch String:   'path-util.c:245,30'
          Branch Sides:
            - BranchSide:      'path-util.c:245,35'
              BranchSideFuncs:
                - t_buffer_alloc
            - BranchSide:      'path-util.c:247,3'
              BranchSideFuncs:
                - t_buffer_alloc
        - Branch String:   'path-util.c:245,6'
          Branch Sides:
            - BranchSide:      'path-util.c:246,12'
              BranchSideFuncs:
                - t_buffer_alloc
            - BranchSide:      'path-util.c:247,3'
              BranchSideFuncs:
                - t_buffer_alloc
      Callsites:
        - Src:             'path-util.c:45,2'
          Dst:             i_panic
        - Src:             'path-util.c:46,2'
          Dst:             i_panic
        - Src:             'path-util.c:47,2'
          Dst:             i_panic
        - Src:             'path-util.c:51,7'
          Dst:             t_getcwd_noalloc
        - Src:             'path-util.c:53,23'
          Dst:             strlen
        - Src:             'path-util.c:54,3'
          Dst:             i_panic
        - Src:             'path-util.c:58,11'
          Dst:             t_buffer_get
        - Src:             'path-util.c:84,4'
          Dst:             i_panic
        - Src:             'path-util.c:92,4'
          Dst:             i_panic
        - Src:             'path-util.c:95,13'
          Dst:             nearest_power
        - Src:             'path-util.c:96,13'
          Dst:             t_buffer_reget
        - Src:             'path-util.c:101,4'
          Dst:             i_panic
        - Src:             'path-util.c:103,5'
          Dst:             i_panic
        - Src:             'path-util.c:108,4'
          Dst:             i_panic
        - Src:             'path-util.c:109,4'
          Dst:             i_panic
        - Src:             'path-util.c:117,8'
          Dst:             lstat
        - Src:             'path-util.c:118,16'
          Dst:             t_strdup_printf
        - Src:             'path-util.c:125,32'
          Dst:             strlen
        - Src:             'path-util.c:131,6'
          Dst:             __errno_location
        - Src:             'path-util.c:143,5'
          Dst:             i_panic
        - Src:             'path-util.c:146,14'
          Dst:             nearest_power
        - Src:             'path-util.c:148,14'
          Dst:             t_buffer_reget
        - Src:             'path-util.c:154,6'
          Dst:             i_panic
        - Src:             'path-util.c:155,6'
          Dst:             i_panic
        - Src:             'path-util.c:163,6'
          Dst:             i_panic
        - Src:             'path-util.c:164,6'
          Dst:             i_panic
        - Src:             'path-util.c:167,15'
          Dst:             readlink
        - Src:             'path-util.c:168,18'
          Dst:             t_strdup_printf
        - Src:             'path-util.c:181,7'
          Dst:             __errno_location
        - Src:             'path-util.c:190,6'
          Dst:             i_panic
        - Src:             'path-util.c:194,15'
          Dst:             nearest_power
        - Src:             'path-util.c:196,15'
          Dst:             t_buffer_reget
        - Src:             'path-util.c:202,5'
          Dst:             i_panic
        - Src:             'path-util.c:204,6'
          Dst:             i_panic
        - Src:             'path-util.c:205,6'
          Dst:             i_panic
        - Src:             'path-util.c:206,6'
          Dst:             i_panic
        - Src:             'path-util.c:207,6'
          Dst:             i_memcpy
        - Src:             'path-util.c:209,6'
          Dst:             i_panic
        - Src:             'path-util.c:210,6'
          Dst:             i_memcpy
        - Src:             'path-util.c:222,6'
          Dst:             i_panic
        - Src:             'path-util.c:232,5'
          Dst:             __errno_location
        - Src:             'path-util.c:233,16'
          Dst:             t_strdup_printf
        - Src:             'path-util.c:241,2'
          Dst:             i_panic
        - Src:             'path-util.c:242,2'
          Dst:             i_panic
        - Src:             'path-util.c:249,2'
          Dst:             t_buffer_alloc
    - functionName:    lstat
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    t_normpath_to
      functionSourceFile: '/src/dovecot/src/lib/path-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
        - root
        - npath_r
        - error_r
      BBCount:         18
      ICount:          99
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - t_normpath
        - t_strconcat
      functionUses:    0
      BranchProfiles:
        - Branch String:   'path-util.c:262,2'
          Branch Sides:
            - BranchSide:      'path-util.c:262,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:263,2'
              BranchSideFuncs:
                - t_strconcat
                - t_normpath
                - t_normpath
                - i_panic
                - i_panic
        - Branch String:   'path-util.c:263,2'
          Branch Sides:
            - BranchSide:      'path-util.c:263,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:264,2'
              BranchSideFuncs:
                - t_strconcat
                - t_normpath
                - t_normpath
                - i_panic
        - Branch String:   'path-util.c:264,2'
          Branch Sides:
            - BranchSide:      'path-util.c:264,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'path-util.c:266,7'
              BranchSideFuncs:
                - t_strconcat
                - t_normpath
                - t_normpath
        - Branch String:   'path-util.c:266,6'
          Branch Sides:
            - BranchSide:      'path-util.c:267,21'
              BranchSideFuncs:
                - t_normpath
            - BranchSide:      'path-util.c:269,32'
              BranchSideFuncs:
                - t_strconcat
                - t_normpath
      Callsites:
        - Src:             'path-util.c:262,2'
          Dst:             i_panic
        - Src:             'path-util.c:263,2'
          Dst:             i_panic
        - Src:             'path-util.c:264,2'
          Dst:             i_panic
        - Src:             'path-util.c:267,10'
          Dst:             t_normpath
        - Src:             'path-util.c:269,20'
          Dst:             t_strconcat
        - Src:             'path-util.c:269,9'
          Dst:             t_normpath
    - functionName:    t_normpath
      functionSourceFile: '/src/dovecot/src/lib/path-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - path
        - npath_r
        - error_r
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - path_normalize
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'path-util.c:256,9'
          Dst:             path_normalize
    - functionName:    fix_format_real
      functionSourceFile: '/src/dovecot/src/lib/printf-format-fix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 12
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fmt
        - p
        - len_r
      BBCount:         14
      ICount:          143
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - i_panic
        - strerror
        - strlen
        - t_buffer_get
      functionUses:    1
      BranchProfiles:
        - Branch String:   'printf-format-fix.c:17,2'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:17,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'printf-format-fix.c:18,2'
              BranchSideFuncs:
                - __errno_location
                - strerror
                - strlen
                - strlen
                - t_buffer_get
                - i_panic
        - Branch String:   'printf-format-fix.c:18,2'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:18,2'
              BranchSideFuncs:
                - __errno_location
                - strerror
                - strlen
                - strlen
                - t_buffer_get
                - i_panic
            - BranchSide:      'printf-format-fix.c:18,2'
              BranchSideFuncs:
                - __errno_location
                - strerror
                - strlen
                - strlen
                - t_buffer_get
                - i_panic
        - Branch String:   'printf-format-fix.c:18,2'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:18,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'printf-format-fix.c:18,2'
              BranchSideFuncs:
                - __errno_location
                - strerror
                - strlen
                - strlen
                - t_buffer_get
      Callsites:
        - Src:             'printf-format-fix.c:17,2'
          Dst:             i_panic
        - Src:             'printf-format-fix.c:18,2'
          Dst:             i_panic
        - Src:             'printf-format-fix.c:20,20'
          Dst:             __errno_location
        - Src:             'printf-format-fix.c:20,11'
          Dst:             strerror
        - Src:             'printf-format-fix.c:26,9'
          Dst:             strlen
        - Src:             'printf-format-fix.c:27,9'
          Dst:             strlen
        - Src:             'printf-format-fix.c:30,8'
          Dst:             t_buffer_get
    - functionName:    verify_length
      functionSourceFile: '/src/dovecot/src/lib/printf-format-fix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - p
      BBCount:         19
      ICount:          100
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'printf-format-fix.c:41,6'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:44,4'
              BranchSideFuncs: []
            - BranchSide:      'printf-format-fix.c:45,15'
              BranchSideFuncs: []
        - Branch String:   'printf-format-fix.c:54,8'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:55,5'
              BranchSideFuncs: []
            - BranchSide:      'printf-format-fix.c:56,3'
              BranchSideFuncs: []
        - Branch String:   'printf-format-fix.c:56,23'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:56,28'
              BranchSideFuncs: []
            - BranchSide:      'printf-format-fix.c:56,3'
              BranchSideFuncs: []
        - Branch String:   'printf-format-fix.c:56,3'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:53,5'
              BranchSideFuncs: []
            - BranchSide:      'printf-format-fix.c:57,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    printf_format_fix_unsafe
      functionSourceFile: '/src/dovecot/src/lib/printf-format-fix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - printf_format_fix_noalloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'printf-format-fix.c:195,9'
          Dst:             printf_format_fix_noalloc
    - functionName:    printf_format_fix_noalloc
      functionSourceFile: '/src/dovecot/src/lib/printf-format-fix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
        - len_r
      BBCount:         54
      ICount:          329
      EdgeCount:       59
      CyclomaticComplexity: 7
      functionsReached:
        - fix_format_real
        - i_panic
        - strchr
        - strlen
        - verify_length
      functionUses:    3
      BranchProfiles:
        - Branch String:   'printf-format-fix.c:84,2'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:85,34'
              BranchSideFuncs:
                - verify_length
                - i_panic
                - strchr
                - strchr
                - strlen
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
            - BranchSide:      'printf-format-fix.c:165,6'
              BranchSideFuncs:
                - strlen
        - Branch String:   'printf-format-fix.c:88,7'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:91,5'
              BranchSideFuncs:
                - strchr
                - strlen
                - verify_length
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
            - BranchSide:      'printf-format-fix.c:98,8'
              BranchSideFuncs:
                - verify_length
                - i_panic
                - strchr
                - strchr
                - strlen
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
        - Branch String:   'printf-format-fix.c:99,21'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:99,3'
              BranchSideFuncs:
                - strchr
                - verify_length
                - i_panic
                - strchr
                - strchr
                - strlen
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:100,25'
              BranchSideFuncs:
                - strchr
                - verify_length
                - i_panic
                - strchr
                - strchr
                - strlen
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
                - i_panic
        - Branch String:   'printf-format-fix.c:99,3'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:101,28'
              BranchSideFuncs:
                - verify_length
                - i_panic
                - strchr
                - strchr
                - strlen
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
                - strchr
                - i_panic
            - BranchSide:      'printf-format-fix.c:112,8'
              BranchSideFuncs:
                - verify_length
                - i_panic
                - strchr
                - strchr
                - strlen
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
        - Branch String:   'printf-format-fix.c:103,8'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:105,7'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'printf-format-fix.c:107,22'
              BranchSideFuncs:
                - verify_length
                - i_panic
                - strchr
                - strchr
                - strlen
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
        - Branch String:   'printf-format-fix.c:112,7'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:114,5'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
            - BranchSide:      'printf-format-fix.c:118,8'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
        - Branch String:   'printf-format-fix.c:118,7'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:119,5'
              BranchSideFuncs:
                - verify_length
                - i_panic
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:127,12'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'printf-format-fix.c:120,8'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:122,6'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:124,3'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'printf-format-fix.c:127,3'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:129,9'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:133,9'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:140,5'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:140,5'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:140,5'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:140,5'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:145,8'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'printf-format-fix.c:129,8'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:130,6'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:131,4'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'printf-format-fix.c:133,8'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:134,6'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:135,4'
              BranchSideFuncs:
                - strchr
                - strchr
                - strlen
                - verify_length
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'printf-format-fix.c:145,18'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:145,28'
              BranchSideFuncs:
                - i_panic
                - fix_format_real
                - strchr
                - strlen
                - verify_length
                - i_panic
                - strchr
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:146,13'
              BranchSideFuncs:
                - i_panic
                - fix_format_real
                - strchr
                - strlen
                - verify_length
                - i_panic
                - strchr
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'printf-format-fix.c:145,7'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:146,13'
              BranchSideFuncs:
                - i_panic
                - fix_format_real
                - strchr
                - strlen
                - verify_length
                - i_panic
                - strchr
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'printf-format-fix.c:162,4'
              BranchSideFuncs:
                - strchr
                - strlen
                - verify_length
                - i_panic
                - strchr
                - i_panic
                - fix_format_real
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
        - Branch String:   'printf-format-fix.c:146,4'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:148,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'printf-format-fix.c:150,9'
              BranchSideFuncs:
                - fix_format_real
                - strchr
                - strlen
                - verify_length
                - i_panic
                - strchr
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
                - i_panic
            - BranchSide:      'printf-format-fix.c:156,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'printf-format-fix.c:159,7'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'printf-format-fix.c:150,9'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:151,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'printf-format-fix.c:152,27'
              BranchSideFuncs:
                - fix_format_real
                - strchr
                - strlen
                - verify_length
                - i_panic
                - strchr
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - verify_length
                - i_panic
                - i_panic
                - strchr
        - Branch String:   'printf-format-fix.c:165,6'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:165,6'
              BranchSideFuncs:
                - strlen
            - BranchSide:      'printf-format-fix.c:166,12'
              BranchSideFuncs:
                - strlen
      Callsites:
        - Src:             'printf-format-fix.c:84,15'
          Dst:             strchr
        - Src:             'printf-format-fix.c:100,18'
          Dst:             strchr
        - Src:             'printf-format-fix.c:104,5'
          Dst:             i_panic
        - Src:             'printf-format-fix.c:112,8'
          Dst:             verify_length
        - Src:             'printf-format-fix.c:113,4'
          Dst:             i_panic
        - Src:             'printf-format-fix.c:120,9'
          Dst:             verify_length
        - Src:             'printf-format-fix.c:121,5'
          Dst:             i_panic
        - Src:             'printf-format-fix.c:145,21'
          Dst:             strchr
        - Src:             'printf-format-fix.c:148,5'
          Dst:             i_panic
        - Src:             'printf-format-fix.c:151,6'
          Dst:             i_panic
        - Src:             'printf-format-fix.c:152,11'
          Dst:             fix_format_real
        - Src:             'printf-format-fix.c:155,5'
          Dst:             i_panic
        - Src:             'printf-format-fix.c:158,5'
          Dst:             i_panic
        - Src:             'printf-format-fix.c:166,25'
          Dst:             strlen
    - functionName:    printf_format_fix
      functionSourceFile: '/src/dovecot/src/lib/printf-format-fix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - printf_format_fix_noalloc
        - t_buffer_alloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'printf-format-fix.c:186,6'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:186,6'
              BranchSideFuncs:
                - t_buffer_alloc
            - BranchSide:      'printf-format-fix.c:187,18'
              BranchSideFuncs:
                - t_buffer_alloc
      Callsites:
        - Src:             'printf-format-fix.c:185,8'
          Dst:             printf_format_fix_noalloc
        - Src:             'printf-format-fix.c:187,3'
          Dst:             t_buffer_alloc
    - functionName:    printf_format_fix_get_len
      functionSourceFile: '/src/dovecot/src/lib/printf-format-fix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
        - len_r
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - printf_format_fix_noalloc
        - t_buffer_alloc
      functionUses:    2
      BranchProfiles:
        - Branch String:   'printf-format-fix.c:175,6'
          Branch Sides:
            - BranchSide:      'printf-format-fix.c:175,6'
              BranchSideFuncs:
                - t_buffer_alloc
            - BranchSide:      'printf-format-fix.c:176,19'
              BranchSideFuncs:
                - t_buffer_alloc
      Callsites:
        - Src:             'printf-format-fix.c:174,8'
          Dst:             printf_format_fix_noalloc
        - Src:             'printf-format-fix.c:176,3'
          Dst:             t_buffer_alloc
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    process_title_deinit
      functionSourceFile: '/src/dovecot/src/lib/process-title.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          30
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - env_get_environ_p
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'process-title.c:178,22'
          Branch Sides:
            - BranchSide:      'process-title.c:178,10'
              BranchSideFuncs:
                - env_get_environ_p
                - free
                - free
                - p_free_internal.3228
            - BranchSide:      'process-title.c:193,2'
              BranchSideFuncs:
                - env_get_environ_p
                - free
                - free
                - p_free_internal.3228
      Callsites:
        - Src:             'process-title.c:178,22'
          Dst:             env_get_environ_p
        - Src:             'process-title.c:193,2'
          Dst:             p_free_internal
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    process_title_get_counter
      functionSourceFile: '/src/dovecot/src/lib/process-title.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    process_title_get
      functionSourceFile: '/src/dovecot/src/lib/process-title.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    proctitle_hack_set
      functionSourceFile: '/src/dovecot/src/lib/process-title.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - title
      BBCount:         12
      ICount:          85
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - i_memcpy
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'process-title.c:111,6'
          Branch Sides:
            - BranchSide:      'process-title.c:112,9'
              BranchSideFuncs:
                - i_memcpy.3221
            - BranchSide:      'process-title.c:114,2'
              BranchSideFuncs:
                - i_memcpy.3221
        - Branch String:   'process-title.c:118,6'
          Branch Sides:
            - BranchSide:      'process-title.c:119,10'
              BranchSideFuncs: []
            - BranchSide:      'process-title.c:122,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'process-title.c:108,15'
          Dst:             strlen
        - Src:             'process-title.c:114,2'
          Dst:             i_memcpy
    - functionName:    process_title_set
      functionSourceFile: '/src/dovecot/src/lib/process-title.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - title
      BBCount:         15
      ICount:          70
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_strdup
        - p_free_internal
        - proctitle_hack_set
        - t_pop
        - t_push
        - t_strconcat
      functionUses:    2
      BranchProfiles:
        - Branch String:   'process-title.c:148,2'
          Branch Sides:
            - BranchSide:      'process-title.c:148,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'process-title.c:150,23'
              BranchSideFuncs:
                - p_free_internal.3228
                - i_strdup
                - t_push
                - t_strconcat
                - proctitle_hack_set
                - t_pop
                - i_panic
        - Branch String:   'process-title.c:161,4'
          Branch Sides:
            - BranchSide:      'process-title.c:161,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'process-title.c:161,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'process-title.c:148,2'
          Dst:             i_panic
        - Src:             'process-title.c:151,2'
          Dst:             p_free_internal
        - Src:             'process-title.c:152,26'
          Dst:             i_strdup
        - Src:             'process-title.c:159,2'
          Dst:             t_push
        - Src:             'process-title.c:160,22'
          Dst:             t_strconcat
        - Src:             'process-title.c:160,3'
          Dst:             proctitle_hack_set
        - Src:             'process-title.c:161,4'
          Dst:             t_pop
        - Src:             'process-title.c:161,4'
          Dst:             i_panic
    - functionName:    proctitle_hack_init
      functionSourceFile: '/src/dovecot/src/lib/process-title.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - argv
        - env
      BBCount:         27
      ICount:          209
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - i_panic
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'process-title.c:43,2'
          Branch Sides:
            - BranchSide:      'process-title.c:43,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'process-title.c:48,9'
              BranchSideFuncs:
                - strlen
                - strlen
                - strlen
        - Branch String:   'process-title.c:49,2'
          Branch Sides:
            - BranchSide:      'process-title.c:50,7'
              BranchSideFuncs:
                - strlen
                - strlen
            - BranchSide:      'process-title.c:53,6'
              BranchSideFuncs:
                - strlen
        - Branch String:   'process-title.c:50,7'
          Branch Sides:
            - BranchSide:      'process-title.c:51,11'
              BranchSideFuncs:
                - strlen
                - strlen
            - BranchSide:      'process-title.c:52,2'
              BranchSideFuncs:
                - strlen
                - strlen
        - Branch String:   'process-title.c:53,6'
          Branch Sides:
            - BranchSide:      'process-title.c:54,13'
              BranchSideFuncs: []
            - BranchSide:      'process-title.c:56,15'
              BranchSideFuncs:
                - strlen
        - Branch String:   'process-title.c:57,3'
          Branch Sides:
            - BranchSide:      'process-title.c:0,0'
              BranchSideFuncs:
                - strlen
            - BranchSide:      'process-title.c:58,8'
              BranchSideFuncs:
                - strlen
        - Branch String:   'process-title.c:58,8'
          Branch Sides:
            - BranchSide:      'process-title.c:59,12'
              BranchSideFuncs:
                - strlen
            - BranchSide:      'process-title.c:60,3'
              BranchSideFuncs:
                - strlen
        - Branch String:   'process-title.c:66,6'
          Branch Sides:
            - BranchSide:      'process-title.c:67,10'
              BranchSideFuncs: []
            - BranchSide:      'process-title.c:70,27'
              BranchSideFuncs: []
      Callsites:
        - Src:             'process-title.c:43,2'
          Dst:             i_panic
        - Src:             'process-title.c:48,19'
          Dst:             strlen
        - Src:             'process-title.c:51,21'
          Dst:             strlen
        - Src:             'process-title.c:59,21'
          Dst:             strlen
    - functionName:    argv_dup
      functionSourceFile: '/src/dovecot/src/lib/process-title.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - old_argv
        - memblock_r
      BBCount:         17
      ICount:          166
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - i_fatal_status
        - i_memcpy
        - i_panic
        - strlen
      functionUses:    2
      BranchProfiles:
        - Branch String:   'process-title.c:82,2'
          Branch Sides:
            - BranchSide:      'process-title.c:83,26'
              BranchSideFuncs:
                - strlen
                - malloc
                - i_panic
                - strlen
                - i_memcpy.3221
                - i_fatal_status
            - BranchSide:      'process-title.c:84,36'
              BranchSideFuncs:
                - malloc
                - i_panic
                - strlen
                - i_memcpy.3221
                - i_fatal_status
        - Branch String:   'process-title.c:87,6'
          Branch Sides:
            - BranchSide:      'process-title.c:88,3'
              BranchSideFuncs:
                - i_fatal_status
            - BranchSide:      'process-title.c:89,16'
              BranchSideFuncs:
                - i_panic
                - strlen
                - i_memcpy.3221
        - Branch String:   'process-title.c:95,2'
          Branch Sides:
            - BranchSide:      'process-title.c:96,17'
              BranchSideFuncs:
                - strlen
                - i_memcpy.3221
                - i_panic
            - BranchSide:      'process-title.c:101,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'process-title.c:101,2'
          Branch Sides:
            - BranchSide:      'process-title.c:101,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'process-title.c:101,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'process-title.c:83,19'
          Dst:             strlen
        - Src:             'process-title.c:88,3'
          Dst:             i_fatal_status
        - Src:             'process-title.c:97,9'
          Dst:             strlen
        - Src:             'process-title.c:98,3'
          Dst:             i_memcpy
        - Src:             'process-title.c:101,2'
          Dst:             i_panic
    - functionName:    process_title_init
      functionSourceFile: '/src/dovecot/src/lib/process-title.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - argc
        - argv
      BBCount:         3
      ICount:          47
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - argv_dup
        - env_get_environ_p
        - proctitle_hack_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'process-title.c:132,22'
          Dst:             env_get_environ_p
        - Src:             'process-title.c:136,10'
          Dst:             argv_dup
        - Src:             'process-title.c:137,15'
          Dst:             argv_dup
        - Src:             'process-title.c:138,2'
          Dst:             proctitle_hack_init
    - functionName:    heap_item_bubble_down
      functionSourceFile: '/src/dovecot/src/lib/priorityq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - pq
        - idx
      BBCount:         15
      ICount:          121
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - array_get_modifiable_i
        - heap_items_swap
      functionUses:    1
      BranchProfiles:
        - Branch String:   'priorityq.c:92,2'
          Branch Sides:
            - BranchSide:      'priorityq.c:92,2'
              BranchSideFuncs:
                - heap_items_swap
            - BranchSide:      'priorityq.c:93,15'
              BranchSideFuncs:
                - heap_items_swap
        - Branch String:   'priorityq.c:94,26'
          Branch Sides:
            - BranchSide:      'priorityq.c:95,7'
              BranchSideFuncs:
                - heap_items_swap
            - BranchSide:      'priorityq.c:96,20'
              BranchSideFuncs:
                - heap_items_swap
        - Branch String:   'priorityq.c:94,7'
          Branch Sides:
            - BranchSide:      'priorityq.c:96,20'
              BranchSideFuncs:
                - heap_items_swap
            - BranchSide:      'priorityq.c:98,20'
              BranchSideFuncs:
                - heap_items_swap
        - Branch String:   'priorityq.c:100,7'
          Branch Sides:
            - BranchSide:      'priorityq.c:101,4'
              BranchSideFuncs: []
            - BranchSide:      'priorityq.c:104,19'
              BranchSideFuncs:
                - heap_items_swap
      Callsites:
        - Src:             'priorityq.c:91,10'
          Dst:             array_get_modifiable_i
        - Src:             'priorityq.c:104,3'
          Dst:             heap_items_swap
    - functionName:    array_get_modifiable_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 303
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - count_r
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
        - buffer_get_modifiable_data
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:304,13'
          Dst:             array_count_i
        - Src:             './array.h:305,9'
          Dst:             buffer_get_modifiable_data
    - functionName:    heap_items_swap
      functionSourceFile: '/src/dovecot/src/lib/priorityq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - items
        - idx1
        - idx2
      BBCount:         11
      ICount:          111
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   'priorityq.c:53,2'
          Branch Sides:
            - BranchSide:      'priorityq.c:53,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'priorityq.c:54,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'priorityq.c:54,2'
          Branch Sides:
            - BranchSide:      'priorityq.c:54,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'priorityq.c:54,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'priorityq.c:53,2'
          Dst:             i_panic
        - Src:             'priorityq.c:54,2'
          Dst:             i_panic
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_delete_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
        - count
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:244,2'
          Dst:             buffer_delete
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    priorityq_items
      functionSourceFile: '/src/dovecot/src/lib/priorityq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pq
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_count_i
        - array_idx_i
      functionUses:    1
      BranchProfiles:
        - Branch String:   'priorityq.c:167,6'
          Branch Sides:
            - BranchSide:      'priorityq.c:168,3'
              BranchSideFuncs: []
            - BranchSide:      'priorityq.c:170,9'
              BranchSideFuncs:
                - array_idx_i.3301
      Callsites:
        - Src:             'priorityq.c:167,6'
          Dst:             array_count_i
        - Src:             'priorityq.c:170,9'
          Dst:             array_idx_i
    - functionName:    array_idx_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
      BBCount:         7
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './array.h:275,2'
          Branch Sides:
            - BranchSide:      './array.h:275,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './array.h:275,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './array.h:275,2'
          Dst:             i_panic
    - functionName:    priorityq_pop
      functionSourceFile: '/src/dovecot/src/lib/priorityq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pq
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - priorityq_peek
        - priorityq_remove_idx
      functionUses:    1
      BranchProfiles:
        - Branch String:   'priorityq.c:158,6'
          Branch Sides:
            - BranchSide:      'priorityq.c:158,6'
              BranchSideFuncs:
                - priorityq_remove_idx
            - BranchSide:      'priorityq.c:159,24'
              BranchSideFuncs:
                - priorityq_remove_idx
      Callsites:
        - Src:             'priorityq.c:157,9'
          Dst:             priorityq_peek
        - Src:             'priorityq.c:159,3'
          Dst:             priorityq_remove_idx
    - functionName:    priorityq_peek
      functionSourceFile: '/src/dovecot/src/lib/priorityq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pq
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_count_i
        - array_idx_i
      functionUses:    3
      BranchProfiles:
        - Branch String:   'priorityq.c:146,6'
          Branch Sides:
            - BranchSide:      'priorityq.c:147,3'
              BranchSideFuncs: []
            - BranchSide:      'priorityq.c:149,10'
              BranchSideFuncs:
                - array_idx_i.3301
      Callsites:
        - Src:             'priorityq.c:146,6'
          Dst:             array_count_i
        - Src:             'priorityq.c:149,10'
          Dst:             array_idx_i
    - functionName:    priorityq_remove_idx
      functionSourceFile: '/src/dovecot/src/lib/priorityq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - pq
        - idx
      BBCount:         15
      ICount:          91
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - array_delete_i
        - array_get_modifiable_i
        - heap_item_bubble_down
        - heap_item_bubble_up
        - heap_items_swap
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'priorityq.c:122,2'
          Branch Sides:
            - BranchSide:      'priorityq.c:122,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'priorityq.c:125,7'
              BranchSideFuncs:
                - heap_items_swap
                - array_delete_i.3297
                - heap_item_bubble_down
                - heap_item_bubble_up
        - Branch String:   'priorityq.c:129,16'
          Branch Sides:
            - BranchSide:      'priorityq.c:129,19'
              BranchSideFuncs:
                - heap_item_bubble_down
                - heap_item_bubble_up
            - BranchSide:      'priorityq.c:129,16'
              BranchSideFuncs: []
        - Branch String:   'priorityq.c:129,6'
          Branch Sides:
            - BranchSide:      'priorityq.c:129,6'
              BranchSideFuncs:
                - heap_item_bubble_down
                - heap_item_bubble_up
            - BranchSide:      'priorityq.c:130,7'
              BranchSideFuncs:
                - heap_item_bubble_down
                - heap_item_bubble_up
        - Branch String:   'priorityq.c:130,7'
          Branch Sides:
            - BranchSide:      'priorityq.c:131,30'
              BranchSideFuncs:
                - heap_item_bubble_up
                - heap_item_bubble_down
            - BranchSide:      'priorityq.c:132,25'
              BranchSideFuncs:
                - heap_item_bubble_down
      Callsites:
        - Src:             'priorityq.c:121,10'
          Dst:             array_get_modifiable_i
        - Src:             'priorityq.c:122,2'
          Dst:             i_panic
        - Src:             'priorityq.c:126,2'
          Dst:             heap_items_swap
        - Src:             'priorityq.c:127,2'
          Dst:             array_delete_i
        - Src:             'priorityq.c:131,10'
          Dst:             heap_item_bubble_up
        - Src:             'priorityq.c:132,3'
          Dst:             heap_item_bubble_down
    - functionName:    heap_item_bubble_up
      functionSourceFile: '/src/dovecot/src/lib/priorityq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - pq
        - idx
      BBCount:         13
      ICount:          91
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - array_get_modifiable_i
        - heap_items_swap
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'priorityq.c:72,2'
          Branch Sides:
            - BranchSide:      'priorityq.c:72,2'
              BranchSideFuncs:
                - heap_items_swap
                - i_panic
            - BranchSide:      'priorityq.c:73,16'
              BranchSideFuncs:
                - heap_items_swap
                - i_panic
        - Branch String:   'priorityq.c:75,3'
          Branch Sides:
            - BranchSide:      'priorityq.c:75,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'priorityq.c:76,7'
              BranchSideFuncs:
                - heap_items_swap
                - i_panic
        - Branch String:   'priorityq.c:76,7'
          Branch Sides:
            - BranchSide:      'priorityq.c:77,4'
              BranchSideFuncs: []
            - BranchSide:      'priorityq.c:80,19'
              BranchSideFuncs:
                - heap_items_swap
                - i_panic
      Callsites:
        - Src:             'priorityq.c:71,10'
          Dst:             array_get_modifiable_i
        - Src:             'priorityq.c:75,3'
          Dst:             i_panic
        - Src:             'priorityq.c:80,3'
          Dst:             heap_items_swap
    - functionName:    priorityq_remove
      functionSourceFile: '/src/dovecot/src/lib/priorityq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pq
        - item
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - priorityq_remove_idx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'priorityq.c:138,2'
          Dst:             priorityq_remove_idx
    - functionName:    array_append_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - data
        - count
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:212,2'
          Dst:             buffer_append
    - functionName:    priorityq_add
      functionSourceFile: '/src/dovecot/src/lib/priorityq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pq
        - item
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_append_i
        - array_count_i
        - heap_item_bubble_up
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'priorityq.c:111,14'
          Dst:             array_count_i
        - Src:             'priorityq.c:112,2'
          Dst:             array_append_i
        - Src:             'priorityq.c:113,8'
          Dst:             heap_item_bubble_up
    - functionName:    priorityq_count
      functionSourceFile: '/src/dovecot/src/lib/priorityq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pq
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'priorityq.c:44,9'
          Dst:             array_count_i
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    array_free_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:159,2'
          Dst:             buffer_free
    - functionName:    priorityq_deinit
      functionSourceFile: '/src/dovecot/src/lib/priorityq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _pq
      BBCount:         5
      ICount:          33
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - array_free_i
        - p_free_internal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'priorityq.c:38,2'
          Dst:             array_free_i
        - Src:             'priorityq.c:39,2'
          Dst:             p_free_internal
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    1
      BranchProfiles:
        - Branch String:   './array.h:149,3'
          Branch Sides:
            - BranchSide:      './array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.3298
            - BranchSide:      './array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.3298
      Callsites:
        - Src:             './array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             './array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    priorityq_init
      functionSourceFile: '/src/dovecot/src/lib/priorityq.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 30
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - cmp_callback
        - init_size
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_create_i
        - malloc_multiply_check
        - p_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'priorityq.c:27,7'
          Dst:             malloc_multiply_check
        - Src:             'priorityq.c:27,7'
          Dst:             p_malloc
        - Src:             'priorityq.c:29,2'
          Dst:             array_create_i
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_idx_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
      BBCount:         7
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './array.h:275,2'
          Branch Sides:
            - BranchSide:      './array.h:275,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './array.h:275,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './array.h:275,2'
          Dst:             i_panic
    - functionName:    array_insert_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
        - data
        - count
      BBCount:         3
      ICount:          40
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_insert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:233,2'
          Dst:             buffer_insert
    - functionName:    adapt
      functionSourceFile: '/src/dovecot/src/lib/punycode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - bool
      constantsTouched: []
      argNames:
        - delta
        - numpoints
        - firsttime
      BBCount:         8
      ICount:          66
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'punycode.c:45,10'
          Branch Sides:
            - BranchSide:      'punycode.c:45,22'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:45,37'
              BranchSideFuncs: []
        - Branch String:   'punycode.c:49,2'
          Branch Sides:
            - BranchSide:      'punycode.c:50,9'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:52,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    decode_digit
      functionSourceFile: '/src/dovecot/src/lib/punycode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - cp
      BBCount:         17
      ICount:          90
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'punycode.c:29,16'
          Branch Sides:
            - BranchSide:      'punycode.c:29,19'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:31,11'
              BranchSideFuncs: []
        - Branch String:   'punycode.c:29,6'
          Branch Sides:
            - BranchSide:      'punycode.c:30,10'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:31,11'
              BranchSideFuncs: []
        - Branch String:   'punycode.c:31,21'
          Branch Sides:
            - BranchSide:      'punycode.c:31,24'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:33,11'
              BranchSideFuncs: []
        - Branch String:   'punycode.c:31,11'
          Branch Sides:
            - BranchSide:      'punycode.c:32,10'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:33,11'
              BranchSideFuncs: []
        - Branch String:   'punycode.c:33,21'
          Branch Sides:
            - BranchSide:      'punycode.c:33,24'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:36,3'
              BranchSideFuncs: []
        - Branch String:   'punycode.c:33,11'
          Branch Sides:
            - BranchSide:      'punycode.c:34,10'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:36,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_append_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - data
        - count
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:212,2'
          Dst:             buffer_append
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    1
      BranchProfiles:
        - Branch String:   './array.h:149,3'
          Branch Sides:
            - BranchSide:      './array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.3350
            - BranchSide:      './array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.3350
      Callsites:
        - Src:             './array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             './array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    punycode_decode
      functionSourceFile: '/src/dovecot/src/lib/punycode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - len
        - output
      BBCount:         63
      ICount:          416
      EdgeCount:       79
      CyclomaticComplexity: 18
      functionsReached:
        - adapt
        - array_append_i
        - array_count_i
        - array_create_i
        - array_idx_i
        - array_insert_i
        - decode_digit
        - i_panic
        - pool_datastack_create
        - strrchr
        - uni_ucs4_to_utf8
      functionUses:    1
      BranchProfiles:
        - Branch String:   'punycode.c:69,2'
          Branch Sides:
            - BranchSide:      'punycode.c:69,2'
              BranchSideFuncs:
                - array_count_i.3356
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
                - i_panic
                - array_append_i.3357
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'punycode.c:69,2'
              BranchSideFuncs:
                - array_count_i.3356
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
                - i_panic
                - array_append_i.3357
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'punycode.c:69,2'
          Branch Sides:
            - BranchSide:      'punycode.c:69,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'punycode.c:72,6'
              BranchSideFuncs:
                - array_count_i.3356
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
                - i_panic
                - array_append_i.3357
                - i_panic
                - i_panic
        - Branch String:   'punycode.c:72,6'
          Branch Sides:
            - BranchSide:      'punycode.c:73,11'
              BranchSideFuncs:
                - array_count_i.3356
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
                - i_panic
                - array_append_i.3357
                - i_panic
                - i_panic
            - BranchSide:      'punycode.c:74,2'
              BranchSideFuncs:
                - array_count_i.3356
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
                - i_panic
                - array_append_i.3357
                - i_panic
                - i_panic
        - Branch String:   'punycode.c:74,2'
          Branch Sides:
            - BranchSide:      'punycode.c:74,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'punycode.c:76,13'
              BranchSideFuncs:
                - array_count_i.3356
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
                - i_panic
                - array_append_i.3357
                - i_panic
        - Branch String:   'punycode.c:76,2'
          Branch Sides:
            - BranchSide:      'punycode.c:77,23'
              BranchSideFuncs:
                - array_append_i.3357
                - array_count_i.3356
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
                - i_panic
                - i_panic
            - BranchSide:      'punycode.c:86,8'
              BranchSideFuncs:
                - array_count_i.3356
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
                - i_panic
        - Branch String:   'punycode.c:77,7'
          Branch Sides:
            - BranchSide:      'punycode.c:79,4'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:80,3'
              BranchSideFuncs:
                - array_append_i.3357
                - array_count_i.3356
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
                - i_panic
                - i_panic
        - Branch String:   'punycode.c:80,3'
          Branch Sides:
            - BranchSide:      'punycode.c:80,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'punycode.c:82,34'
              BranchSideFuncs:
                - array_append_i.3357
                - array_count_i.3356
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
                - i_panic
                - i_panic
        - Branch String:   'punycode.c:89,6'
          Branch Sides:
            - BranchSide:      'punycode.c:90,9'
              BranchSideFuncs:
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
                - i_panic
            - BranchSide:      'punycode.c:92,9'
              BranchSideFuncs:
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
                - i_panic
        - Branch String:   'punycode.c:94,2'
          Branch Sides:
            - BranchSide:      'punycode.c:94,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'punycode.c:95,2'
              BranchSideFuncs:
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - array_insert_i
                - decode_digit
        - Branch String:   'punycode.c:95,2'
          Branch Sides:
            - BranchSide:      'punycode.c:102,10'
              BranchSideFuncs:
                - adapt
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - decode_digit
            - BranchSide:      'punycode.c:148,19'
              BranchSideFuncs:
                - array_idx_i.3351
                - uni_ucs4_to_utf8
        - Branch String:   'punycode.c:106,3'
          Branch Sides:
            - BranchSide:      'punycode.c:108,29'
              BranchSideFuncs:
                - decode_digit
                - adapt
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
            - BranchSide:      'punycode.c:124,16'
              BranchSideFuncs:
                - adapt
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - decode_digit
        - Branch String:   'punycode.c:109,8'
          Branch Sides:
            - BranchSide:      'punycode.c:110,5'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:111,8'
              BranchSideFuncs:
                - adapt
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - decode_digit
        - Branch String:   'punycode.c:111,8'
          Branch Sides:
            - BranchSide:      'punycode.c:112,5'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:113,9'
              BranchSideFuncs:
                - adapt
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - decode_digit
        - Branch String:   'punycode.c:114,8'
          Branch Sides:
            - BranchSide:      'punycode.c:114,6'
              BranchSideFuncs:
                - adapt
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - decode_digit
            - BranchSide:      'punycode.c:115,5'
              BranchSideFuncs:
                - adapt
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - decode_digit
        - Branch String:   'punycode.c:115,5'
          Branch Sides:
            - BranchSide:      'punycode.c:114,8'
              BranchSideFuncs:
                - adapt
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - decode_digit
            - BranchSide:      'punycode.c:115,31'
              BranchSideFuncs:
                - adapt
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - decode_digit
        - Branch String:   'punycode.c:116,8'
          Branch Sides:
            - BranchSide:      'punycode.c:117,5'
              BranchSideFuncs:
                - adapt
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - decode_digit
            - BranchSide:      'punycode.c:118,8'
              BranchSideFuncs:
                - adapt
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - decode_digit
        - Branch String:   'punycode.c:118,8'
          Branch Sides:
            - BranchSide:      'punycode.c:119,5'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:120,17'
              BranchSideFuncs:
                - adapt
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - decode_digit
        - Branch String:   'punycode.c:129,7'
          Branch Sides:
            - BranchSide:      'punycode.c:130,4'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:132,8'
              BranchSideFuncs:
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - decode_digit
        - Branch String:   'punycode.c:135,7'
          Branch Sides:
            - BranchSide:      'punycode.c:136,4'
              BranchSideFuncs: []
            - BranchSide:      'punycode.c:139,7'
              BranchSideFuncs:
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - decode_digit
        - Branch String:   'punycode.c:139,7'
          Branch Sides:
            - BranchSide:      'punycode.c:140,7'
              BranchSideFuncs:
                - array_insert_i
                - array_idx_i.3351
                - uni_ucs4_to_utf8
                - adapt
                - decode_digit
            - BranchSide:      'punycode.c:143,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'punycode.c:65,2'
          Dst:             pool_datastack_create
        - Src:             'punycode.c:65,2'
          Dst:             array_create_i
        - Src:             'punycode.c:68,10'
          Dst:             strrchr
        - Src:             'punycode.c:69,2'
          Dst:             i_panic
        - Src:             'punycode.c:74,2'
          Dst:             i_panic
        - Src:             'punycode.c:80,3'
          Dst:             i_panic
        - Src:             'punycode.c:83,3'
          Dst:             array_append_i
        - Src:             'punycode.c:86,8'
          Dst:             array_count_i
        - Src:             'punycode.c:94,2'
          Dst:             i_panic
        - Src:             'punycode.c:108,12'
          Dst:             decode_digit
        - Src:             'punycode.c:124,10'
          Dst:             adapt
        - Src:             'punycode.c:141,4'
          Dst:             array_insert_i
        - Src:             'punycode.c:148,19'
          Dst:             array_idx_i
        - Src:             'punycode.c:148,2'
          Dst:             uni_ucs4_to_utf8
    - functionName:    strrchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    random_open_urandom
      functionSourceFile: '/src/dovecot/src/lib/randgen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __errno_location
        - fd_close_on_exec
        - i_fatal
        - open
      functionUses:    1
      BranchProfiles:
        - Branch String:   'randgen.c:70,15'
          Branch Sides:
            - BranchSide:      'randgen.c:70,15'
              BranchSideFuncs:
                - open
                - fd_close_on_exec
                - __errno_location
                - i_fatal
                - i_fatal
            - BranchSide:      'randgen.c:70,15'
              BranchSideFuncs:
                - open
                - fd_close_on_exec
                - __errno_location
                - i_fatal
                - i_fatal
        - Branch String:   'randgen.c:71,6'
          Branch Sides:
            - BranchSide:      'randgen.c:72,7'
              BranchSideFuncs:
                - __errno_location
                - i_fatal
                - i_fatal
            - BranchSide:      'randgen.c:79,19'
              BranchSideFuncs:
                - fd_close_on_exec
        - Branch String:   'randgen.c:72,7'
          Branch Sides:
            - BranchSide:      'randgen.c:73,4'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'randgen.c:76,4'
              BranchSideFuncs:
                - i_fatal
      Callsites:
        - Src:             'randgen.c:70,15'
          Dst:             open
        - Src:             'randgen.c:72,7'
          Dst:             __errno_location
        - Src:             'randgen.c:73,4'
          Dst:             i_fatal
        - Src:             'randgen.c:76,4'
          Dst:             i_fatal
        - Src:             'randgen.c:79,2'
          Dst:             fd_close_on_exec
    - functionName:    random_deinit
      functionSourceFile: '/src/dovecot/src/lib/randgen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_close_fd_path
      functionUses:    1
      BranchProfiles:
        - Branch String:   'randgen.c:211,6'
          Branch Sides:
            - BranchSide:      'randgen.c:211,6'
              BranchSideFuncs:
                - i_close_fd_path
            - BranchSide:      'randgen.c:211,6'
              BranchSideFuncs:
                - i_close_fd_path
        - Branch String:   'randgen.c:211,6'
          Branch Sides:
            - BranchSide:      'randgen.c:212,3'
              BranchSideFuncs: []
            - BranchSide:      'randgen.c:213,2'
              BranchSideFuncs:
                - i_close_fd_path
      Callsites:
        - Src:             'randgen.c:213,2'
          Dst:             i_close_fd_path
    - functionName:    random_init
      functionSourceFile: '/src/dovecot/src/lib/randgen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          54
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - getenv
        - i_warning
        - random_fill
        - srand
      functionUses:    1
      BranchProfiles:
        - Branch String:   'randgen.c:171,15'
          Branch Sides:
            - BranchSide:      'randgen.c:171,15'
              BranchSideFuncs:
                - getenv
                - random_fill
                - srand
                - i_warning
            - BranchSide:      'randgen.c:171,15'
              BranchSideFuncs:
                - getenv
                - random_fill
                - srand
                - i_warning
        - Branch String:   'randgen.c:174,6'
          Branch Sides:
            - BranchSide:      'randgen.c:175,3'
              BranchSideFuncs: []
            - BranchSide:      'randgen.c:177,13'
              BranchSideFuncs:
                - getenv
                - random_fill
                - srand
                - i_warning
        - Branch String:   'randgen.c:185,23'
          Branch Sides:
            - BranchSide:      'randgen.c:185,27'
              BranchSideFuncs:
                - random_fill
                - srand
                - i_warning
            - BranchSide:      'randgen.c:195,2'
              BranchSideFuncs:
                - random_fill
                - srand
        - Branch String:   'randgen.c:185,6'
          Branch Sides:
            - BranchSide:      'randgen.c:186,3'
              BranchSideFuncs:
                - i_warning
                - random_fill
                - srand
            - BranchSide:      'randgen.c:195,2'
              BranchSideFuncs:
                - random_fill
                - srand
      Callsites:
        - Src:             'randgen.c:177,13'
          Dst:             getenv
        - Src:             'randgen.c:186,3'
          Dst:             i_warning
        - Src:             'randgen.c:195,2'
          Dst:             random_fill
        - Src:             'randgen.c:206,2'
          Dst:             srand
    - functionName:    random_fill
      functionSourceFile: '/src/dovecot/src/lib/randgen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - buf
        - size
      BBCount:         35
      ICount:          193
      EdgeCount:       43
      CyclomaticComplexity: 10
      functionsReached:
        - i_memcpy
        - i_panic
        - random_read
      functionUses:    2
      BranchProfiles:
        - Branch String:   'randgen.c:121,2'
          Branch Sides:
            - BranchSide:      'randgen.c:121,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'randgen.c:122,2'
              BranchSideFuncs:
                - random_read
                - i_memcpy.3396
                - random_read
                - i_panic
        - Branch String:   'randgen.c:122,2'
          Branch Sides:
            - BranchSide:      'randgen.c:122,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'randgen.c:138,11'
              BranchSideFuncs:
                - random_read
                - i_memcpy.3396
                - random_read
        - Branch String:   'randgen.c:138,2'
          Branch Sides:
            - BranchSide:      'randgen.c:139,7'
              BranchSideFuncs:
                - random_read
                - i_memcpy.3396
                - random_read
            - BranchSide:      'randgen.c:166,1'
              BranchSideFuncs: []
        - Branch String:   'randgen.c:139,35'
          Branch Sides:
            - BranchSide:      'randgen.c:139,38'
              BranchSideFuncs:
                - random_read
                - i_memcpy.3396
                - random_read
            - BranchSide:      'randgen.c:148,8'
              BranchSideFuncs:
                - random_read
                - random_read
                - i_memcpy.3396
        - Branch String:   'randgen.c:139,7'
          Branch Sides:
            - BranchSide:      'randgen.c:142,22'
              BranchSideFuncs:
                - random_read
                - random_read
                - i_memcpy.3396
            - BranchSide:      'randgen.c:148,8'
              BranchSideFuncs:
                - random_read
                - random_read
                - i_memcpy.3396
        - Branch String:   'randgen.c:143,8'
          Branch Sides:
            - BranchSide:      'randgen.c:144,12'
              BranchSideFuncs:
                - random_read
                - i_memcpy.3396
                - random_read
            - BranchSide:      'randgen.c:145,3'
              BranchSideFuncs:
                - random_read
                - i_memcpy.3396
                - random_read
        - Branch String:   'randgen.c:148,8'
          Branch Sides:
            - BranchSide:      'randgen.c:149,11'
              BranchSideFuncs:
                - random_read
                - random_read
                - i_memcpy.3396
            - BranchSide:      'randgen.c:151,21'
              BranchSideFuncs:
                - random_read
                - random_read
                - i_memcpy.3396
        - Branch String:   'randgen.c:154,24'
          Branch Sides:
            - BranchSide:      'randgen.c:154,22'
              BranchSideFuncs:
                - random_read
                - random_read
                - i_memcpy.3396
            - BranchSide:      'randgen.c:154,38'
              BranchSideFuncs:
                - random_read
                - random_read
                - i_memcpy.3396
        - Branch String:   'randgen.c:157,19'
          Branch Sides:
            - BranchSide:      'randgen.c:157,12'
              BranchSideFuncs:
                - i_memcpy.3396
                - random_read
                - random_read
            - BranchSide:      'randgen.c:157,12'
              BranchSideFuncs:
                - i_memcpy.3396
                - random_read
                - random_read
      Callsites:
        - Src:             'randgen.c:121,2'
          Dst:             i_panic
        - Src:             'randgen.c:122,2'
          Dst:             i_panic
        - Src:             'randgen.c:142,10'
          Dst:             random_read
        - Src:             'randgen.c:152,11'
          Dst:             random_read
        - Src:             'randgen.c:158,5'
          Dst:             i_memcpy
    - functionName:    srand
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    random_read
      functionSourceFile: '/src/dovecot/src/lib/randgen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - buf
        - size
      BBCount:         31
      ICount:          152
      EdgeCount:       37
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - getrandom
        - i_fatal
        - i_panic
        - random_open_urandom
        - read
      functionUses:    2
      BranchProfiles:
        - Branch String:   'randgen.c:86,6'
          Branch Sides:
            - BranchSide:      'randgen.c:87,19'
              BranchSideFuncs:
                - getrandom
                - read
                - __errno_location
                - i_panic
                - __errno_location
                - i_fatal
                - i_fatal
                - i_fatal
                - __errno_location
                - random_open_urandom
            - BranchSide:      'randgen.c:100,7'
              BranchSideFuncs:
                - read
                - __errno_location
                - i_panic
                - __errno_location
                - i_fatal
                - i_fatal
                - i_fatal
        - Branch String:   'randgen.c:88,15'
          Branch Sides:
            - BranchSide:      'randgen.c:88,18'
              BranchSideFuncs:
                - __errno_location
                - read
                - __errno_location
                - i_panic
                - __errno_location
                - i_fatal
                - i_fatal
                - i_fatal
                - random_open_urandom
            - BranchSide:      'randgen.c:96,2'
              BranchSideFuncs:
                - read
                - __errno_location
                - i_panic
                - __errno_location
                - i_fatal
                - i_fatal
                - i_fatal
        - Branch String:   'randgen.c:88,7'
          Branch Sides:
            - BranchSide:      'randgen.c:89,22'
              BranchSideFuncs:
                - random_open_urandom
                - read
                - __errno_location
                - i_panic
                - __errno_location
                - i_fatal
                - i_fatal
                - i_fatal
            - BranchSide:      'randgen.c:96,2'
              BranchSideFuncs:
                - read
                - __errno_location
                - i_panic
                - __errno_location
                - i_fatal
                - i_fatal
                - i_fatal
        - Branch String:   'randgen.c:100,6'
          Branch Sides:
            - BranchSide:      'randgen.c:102,14'
              BranchSideFuncs:
                - __errno_location
                - i_panic
                - __errno_location
                - i_fatal
                - i_fatal
                - i_fatal
            - BranchSide:      'randgen.c:103,6'
              BranchSideFuncs:
                - __errno_location
                - i_panic
                - __errno_location
                - i_fatal
                - i_fatal
                - i_fatal
        - Branch String:   'randgen.c:103,6'
          Branch Sides:
            - BranchSide:      'randgen.c:104,7'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - i_panic
                - i_fatal
                - i_fatal
                - i_fatal
            - BranchSide:      'randgen.c:114,2'
              BranchSideFuncs:
                - __errno_location
                - i_panic
        - Branch String:   'randgen.c:104,7'
          Branch Sides:
            - BranchSide:      'randgen.c:105,4'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'randgen.c:106,14'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - i_panic
                - i_fatal
                - i_fatal
        - Branch String:   'randgen.c:107,8'
          Branch Sides:
            - BranchSide:      'randgen.c:108,5'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'randgen.c:110,5'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'randgen.c:114,2'
          Branch Sides:
            - BranchSide:      'randgen.c:114,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'randgen.c:114,2'
              BranchSideFuncs:
                - __errno_location
                - i_panic
        - Branch String:   'randgen.c:114,2'
          Branch Sides:
            - BranchSide:      'randgen.c:114,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'randgen.c:114,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'randgen.c:87,9'
          Dst:             getrandom
        - Src:             'randgen.c:88,18'
          Dst:             __errno_location
        - Src:             'randgen.c:94,4'
          Dst:             random_open_urandom
        - Src:             'randgen.c:102,9'
          Dst:             read
        - Src:             'randgen.c:105,4'
          Dst:             i_fatal
        - Src:             'randgen.c:106,14'
          Dst:             __errno_location
        - Src:             'randgen.c:108,5'
          Dst:             i_fatal
        - Src:             'randgen.c:110,5'
          Dst:             i_fatal
        - Src:             'randgen.c:114,2'
          Dst:             __errno_location
        - Src:             'randgen.c:114,2'
          Dst:             i_panic
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    getrandom
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_rand_limit
      functionSourceFile: '/src/dovecot/src/lib/rand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - upper_bound
      BBCount:         10
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - i_rand
      functionUses:    2
      BranchProfiles:
        - Branch String:   'rand.c:94,2'
          Branch Sides:
            - BranchSide:      'rand.c:94,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'rand.c:97,17'
              BranchSideFuncs:
                - i_rand
        - Branch String:   'rand.c:98,2'
          Branch Sides:
            - BranchSide:      'rand.c:98,15'
              BranchSideFuncs:
                - i_rand
            - BranchSide:      'rand.c:99,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'rand.c:94,2'
          Dst:             i_panic
        - Src:             'rand.c:98,15'
          Dst:             i_rand
    - functionName:    i_rand
      functionSourceFile: '/src/dovecot/src/lib/rand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 27
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - random_fill
      functionUses:    1
      BranchProfiles:
        - Branch String:   'rand.c:26,2'
          Branch Sides:
            - BranchSide:      'rand.c:25,11'
              BranchSideFuncs:
                - random_fill
            - BranchSide:      'rand.c:26,2'
              BranchSideFuncs:
                - random_fill
      Callsites:
        - Src:             'rand.c:26,2'
          Dst:             random_fill
    - functionName:    str_append
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cstr
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:35,27'
          Dst:             strlen
        - Src:             './str.h:35,2'
          Dst:             buffer_append
    - functionName:    get_group_id
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
      BBCount:         9
      ICount:          55
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached:
        - i_fatal
        - i_getgrnam
        - str_to_gid
      functionUses:    1
      BranchProfiles:
        - Branch String:   'restrict-access.c:160,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:161,10'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:163,21'
              BranchSideFuncs:
                - i_getgrnam
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:163,2'
          Branch Sides:
            - BranchSide:      'restrict-access.c:165,38'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:167,53'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:169,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'restrict-access.c:160,6'
          Dst:             str_to_gid
        - Src:             'restrict-access.c:163,10'
          Dst:             i_getgrnam
        - Src:             'restrict-access.c:165,3'
          Dst:             i_fatal
        - Src:             'restrict-access.c:167,3'
          Dst:             i_fatal
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    drop_restricted_groups
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - set
        - gid_list
        - gid_count
        - have_root_group
      BBCount:         16
      ICount:          118
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'restrict-access.c:143,2'
          Branch Sides:
            - BranchSide:      'restrict-access.c:144,7'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:152,15'
              BranchSideFuncs: []
        - Branch String:   'restrict-access.c:144,43'
          Branch Sides:
            - BranchSide:      'restrict-access.c:145,8'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:151,2'
              BranchSideFuncs: []
        - Branch String:   'restrict-access.c:145,33'
          Branch Sides:
            - BranchSide:      'restrict-access.c:146,8'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:147,8'
              BranchSideFuncs: []
        - Branch String:   'restrict-access.c:144,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:147,8'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:151,2'
              BranchSideFuncs: []
        - Branch String:   'restrict-access.c:147,8'
          Branch Sides:
            - BranchSide:      'restrict-access.c:148,6'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:149,23'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    get_uid_str
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - uid
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - dec2str
        - i_getpwuid
        - t_strdup_printf
      functionUses:    6
      BranchProfiles:
        - Branch String:   'restrict-access.c:39,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:40,17'
              BranchSideFuncs:
                - dec2str
                - __errno_location
            - BranchSide:      'restrict-access.c:42,43'
              BranchSideFuncs:
                - dec2str
                - t_strdup_printf
                - __errno_location
      Callsites:
        - Src:             'restrict-access.c:37,18'
          Dst:             __errno_location
        - Src:             'restrict-access.c:39,6'
          Dst:             i_getpwuid
        - Src:             'restrict-access.c:40,9'
          Dst:             dec2str
        - Src:             'restrict-access.c:42,35'
          Dst:             dec2str
        - Src:             'restrict-access.c:42,9'
          Dst:             t_strdup_printf
        - Src:             'restrict-access.c:43,2'
          Dst:             __errno_location
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    restrict_access_deinit
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 529
      functionLinenumberEnd: 531
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          20
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'restrict-access.c:530,2'
          Branch Sides:
            - BranchSide:      'restrict-access.c:530,2'
              BranchSideFuncs:
                - p_free_internal.3481
            - BranchSide:      'restrict-access.c:530,2'
              BranchSideFuncs:
                - p_free_internal.3481
      Callsites:
        - Src:             'restrict-access.c:530,2'
          Dst:             p_free_internal
    - functionName:    restrict_access_have_priv_gid
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 524
      functionLinenumberEnd: 525
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    restrict_access_drop_priv_gid
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 514
      functionLinenumberEnd: 521
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_fatal
        - setegid
      functionUses:    0
      BranchProfiles:
        - Branch String:   'restrict-access.c:515,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:515,7'
              BranchSideFuncs:
                - setegid
                - i_fatal
            - BranchSide:      'restrict-access.c:515,7'
              BranchSideFuncs:
                - setegid
                - i_fatal
        - Branch String:   'restrict-access.c:515,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:516,3'
              BranchSideFuncs:
                - setegid
                - i_fatal
            - BranchSide:      'restrict-access.c:518,14'
              BranchSideFuncs:
                - setegid
                - i_fatal
        - Branch String:   'restrict-access.c:518,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:519,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:520,25'
              BranchSideFuncs: []
      Callsites:
        - Src:             'restrict-access.c:518,6'
          Dst:             setegid
        - Src:             'restrict-access.c:519,3'
          Dst:             i_fatal
    - functionName:    setegid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    restrict_access_use_priv_gid
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 500
      functionLinenumberEnd: 511
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          56
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - i_error
        - i_panic
        - setegid
      functionUses:    0
      BranchProfiles:
        - Branch String:   'restrict-access.c:501,2'
          Branch Sides:
            - BranchSide:      'restrict-access.c:501,2'
              BranchSideFuncs:
                - setegid
                - i_error
                - i_panic
            - BranchSide:      'restrict-access.c:501,2'
              BranchSideFuncs:
                - setegid
                - i_error
                - i_panic
        - Branch String:   'restrict-access.c:501,2'
          Branch Sides:
            - BranchSide:      'restrict-access.c:501,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'restrict-access.c:503,6'
              BranchSideFuncs:
                - setegid
                - i_error
        - Branch String:   'restrict-access.c:503,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:504,3'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:505,14'
              BranchSideFuncs:
                - setegid
                - i_error
        - Branch String:   'restrict-access.c:505,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:506,3'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'restrict-access.c:509,25'
              BranchSideFuncs: []
      Callsites:
        - Src:             'restrict-access.c:501,2'
          Dst:             i_panic
        - Src:             'restrict-access.c:505,6'
          Dst:             setegid
        - Src:             'restrict-access.c:506,3'
          Dst:             i_error
    - functionName:    restrict_access_allow_coredumps
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 497
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - bool
      constantsTouched: []
      argNames:
        - allow
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - getenv
        - restrict_access_set_dumpable
      functionUses:    0
      BranchProfiles:
        - Branch String:   'restrict-access.c:494,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:494,6'
              BranchSideFuncs:
                - restrict_access_set_dumpable
            - BranchSide:      'restrict-access.c:495,32'
              BranchSideFuncs:
                - restrict_access_set_dumpable
      Callsites:
        - Src:             'restrict-access.c:494,6'
          Dst:             getenv
        - Src:             'restrict-access.c:495,3'
          Dst:             restrict_access_set_dumpable
    - functionName:    restrict_access_set_dumpable
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - bool
      constantsTouched: []
      argNames:
        - allow
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_error
        - prctl
      functionUses:    1
      BranchProfiles:
        - Branch String:   'restrict-access.c:476,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:476,6'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'restrict-access.c:477,3'
              BranchSideFuncs:
                - i_error
      Callsites:
        - Src:             'restrict-access.c:476,6'
          Dst:             prctl
        - Src:             'restrict-access.c:477,3'
          Dst:             i_error
    - functionName:    prctl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    restrict_access_get_dumpable
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 482
      functionLinenumberEnd: 487
      functionDepth:   0
      returnType:      bool
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_error
        - prctl
      functionUses:    0
      BranchProfiles:
        - Branch String:   'restrict-access.c:484,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:484,7'
              BranchSideFuncs:
                - prctl
                - i_error
            - BranchSide:      'restrict-access.c:484,7'
              BranchSideFuncs:
                - prctl
                - i_error
        - Branch String:   'restrict-access.c:485,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:485,6'
              BranchSideFuncs:
                - i_error
            - BranchSide:      'restrict-access.c:486,3'
              BranchSideFuncs:
                - i_error
      Callsites:
        - Src:             'restrict-access.c:485,6'
          Dst:             prctl
        - Src:             'restrict-access.c:486,3'
          Dst:             i_error
    - functionName:    restrict_access_get_current_chroot
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 469
      functionLinenumberEnd: 470
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    restrict_access_by_env
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 439
      functionLinenumberEnd: 466
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - flags
        - home
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - env_remove
        - getuid
        - restrict_access
        - restrict_access_get_env
      functionUses:    0
      BranchProfiles:
        - Branch String:   'restrict-access.c:447,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:451,3'
              BranchSideFuncs:
                - env_remove
                - env_remove
                - env_remove
                - env_remove
                - getuid
                - env_remove
                - env_remove
                - env_remove
            - BranchSide:      'restrict-access.c:454,2'
              BranchSideFuncs:
                - env_remove
                - env_remove
                - getuid
                - env_remove
                - env_remove
                - env_remove
        - Branch String:   'restrict-access.c:456,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:0,0'
              BranchSideFuncs:
                - env_remove
                - env_remove
                - env_remove
            - BranchSide:      'restrict-access.c:457,3'
              BranchSideFuncs:
                - env_remove
                - env_remove
                - env_remove
      Callsites:
        - Src:             'restrict-access.c:442,2'
          Dst:             restrict_access_get_env
        - Src:             'restrict-access.c:443,2'
          Dst:             restrict_access
        - Src:             'restrict-access.c:446,2'
          Dst:             env_remove
        - Src:             'restrict-access.c:451,3'
          Dst:             env_remove
        - Src:             'restrict-access.c:452,3'
          Dst:             env_remove
        - Src:             'restrict-access.c:454,2'
          Dst:             env_remove
        - Src:             'restrict-access.c:455,2'
          Dst:             env_remove
        - Src:             'restrict-access.c:456,6'
          Dst:             getuid
        - Src:             'restrict-access.c:457,3'
          Dst:             env_remove
        - Src:             'restrict-access.c:464,2'
          Dst:             env_remove
        - Src:             'restrict-access.c:465,2'
          Dst:             env_remove
    - functionName:    restrict_access_get_env
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - set_r
      BBCount:         28
      ICount:          158
      EdgeCount:       33
      CyclomaticComplexity: 7
      functionsReached:
        - getenv
        - i_fatal
        - null_if_empty
        - restrict_access_init
        - str_to_gid
        - str_to_uid
      functionUses:    1
      BranchProfiles:
        - Branch String:   'restrict-access.c:412,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:413,18'
              BranchSideFuncs:
                - str_to_uid
                - getenv
                - getenv
                - getenv
                - getenv
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:416,15'
              BranchSideFuncs:
                - getenv
                - getenv
                - getenv
                - getenv
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
        - Branch String:   'restrict-access.c:413,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:414,31'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:415,2'
              BranchSideFuncs:
                - getenv
                - getenv
                - getenv
                - getenv
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
        - Branch String:   'restrict-access.c:416,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:417,18'
              BranchSideFuncs:
                - str_to_gid
                - getenv
                - getenv
                - getenv
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:420,15'
              BranchSideFuncs:
                - getenv
                - getenv
                - getenv
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
        - Branch String:   'restrict-access.c:417,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:418,31'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:419,2'
              BranchSideFuncs:
                - getenv
                - getenv
                - getenv
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
        - Branch String:   'restrict-access.c:420,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:421,18'
              BranchSideFuncs:
                - str_to_gid
                - getenv
                - getenv
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:424,15'
              BranchSideFuncs:
                - getenv
                - getenv
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
        - Branch String:   'restrict-access.c:421,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:422,42'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:423,2'
              BranchSideFuncs:
                - getenv
                - getenv
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - str_to_gid
                - i_fatal
                - str_to_gid
                - i_fatal
        - Branch String:   'restrict-access.c:424,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:425,18'
              BranchSideFuncs:
                - str_to_gid
                - getenv
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - str_to_gid
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:428,15'
              BranchSideFuncs:
                - getenv
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - str_to_gid
                - i_fatal
        - Branch String:   'restrict-access.c:425,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:426,43'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:427,2'
              BranchSideFuncs:
                - getenv
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - str_to_gid
                - i_fatal
        - Branch String:   'restrict-access.c:428,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:428,6'
              BranchSideFuncs:
                - str_to_gid
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - i_fatal
            - BranchSide:      'restrict-access.c:429,18'
              BranchSideFuncs:
                - str_to_gid
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - i_fatal
        - Branch String:   'restrict-access.c:429,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:430,42'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:431,2'
              BranchSideFuncs:
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
                - getenv
                - null_if_empty
      Callsites:
        - Src:             'restrict-access.c:411,2'
          Dst:             restrict_access_init
        - Src:             'restrict-access.c:412,15'
          Dst:             getenv
        - Src:             'restrict-access.c:413,7'
          Dst:             str_to_uid
        - Src:             'restrict-access.c:414,4'
          Dst:             i_fatal
        - Src:             'restrict-access.c:416,15'
          Dst:             getenv
        - Src:             'restrict-access.c:417,7'
          Dst:             str_to_gid
        - Src:             'restrict-access.c:418,4'
          Dst:             i_fatal
        - Src:             'restrict-access.c:420,15'
          Dst:             getenv
        - Src:             'restrict-access.c:421,7'
          Dst:             str_to_gid
        - Src:             'restrict-access.c:422,4'
          Dst:             i_fatal
        - Src:             'restrict-access.c:424,15'
          Dst:             getenv
        - Src:             'restrict-access.c:425,7'
          Dst:             str_to_gid
        - Src:             'restrict-access.c:426,4'
          Dst:             i_fatal
        - Src:             'restrict-access.c:428,15'
          Dst:             getenv
        - Src:             'restrict-access.c:429,7'
          Dst:             str_to_gid
        - Src:             'restrict-access.c:430,4'
          Dst:             i_fatal
        - Src:             'restrict-access.c:433,38'
          Dst:             getenv
        - Src:             'restrict-access.c:433,24'
          Dst:             null_if_empty
        - Src:             'restrict-access.c:434,44'
          Dst:             getenv
        - Src:             'restrict-access.c:434,30'
          Dst:             null_if_empty
        - Src:             'restrict-access.c:435,36'
          Dst:             getenv
        - Src:             'restrict-access.c:435,22'
          Dst:             null_if_empty
    - functionName:    restrict_access
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - set
        - flags
        - home
      BBCount:         115
      ICount:          549
      EdgeCount:       145
      CyclomaticComplexity: 32
      functionsReached:
        - chdir
        - chroot
        - fix_groups_list
        - get_gid_str
        - get_setuid_error_str
        - getegid
        - geteuid
        - getgid
        - getuid
        - i_error
        - i_fatal
        - i_panic
        - i_strdup
        - initgroups
        - localtime
        - restrict_init_groups
        - seteuid
        - setgid
        - setuid
        - t_pop
        - t_push
      functionUses:    1
      BranchProfiles:
        - Branch String:   'restrict-access.c:268,15'
          Branch Sides:
            - BranchSide:      'restrict-access.c:269,7'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
                - restrict_init_groups
                - getegid
            - BranchSide:      'restrict-access.c:283,24'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
                - restrict_init_groups
                - getegid
        - Branch String:   'restrict-access.c:269,30'
          Branch Sides:
            - BranchSide:      'restrict-access.c:270,6'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
                - restrict_init_groups
                - getegid
            - BranchSide:      'restrict-access.c:283,24'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
                - restrict_init_groups
                - getegid
        - Branch String:   'restrict-access.c:268,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:272,7'
              BranchSideFuncs:
                - seteuid
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
                - restrict_init_groups
                - getegid
                - i_fatal
                - i_panic
                - geteuid
            - BranchSide:      'restrict-access.c:283,24'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
                - restrict_init_groups
                - getegid
        - Branch String:   'restrict-access.c:272,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:273,17'
              BranchSideFuncs:
                - geteuid
                - seteuid
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
                - restrict_init_groups
                - getegid
                - i_fatal
            - BranchSide:      'restrict-access.c:275,4'
              BranchSideFuncs:
                - seteuid
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
                - restrict_init_groups
                - getegid
                - i_fatal
                - i_panic
        - Branch String:   'restrict-access.c:275,4'
          Branch Sides:
            - BranchSide:      'restrict-access.c:0,0'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'restrict-access.c:275,4'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'restrict-access.c:277,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:278,4'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:279,11'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
                - restrict_init_groups
                - getegid
        - Branch String:   'restrict-access.c:285,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:287,26'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
                - restrict_init_groups
                - getegid
            - BranchSide:      'restrict-access.c:290,20'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
                - restrict_init_groups
                - getegid
        - Branch String:   'restrict-access.c:291,39'
          Branch Sides:
            - BranchSide:      'restrict-access.c:292,6'
              BranchSideFuncs:
                - restrict_init_groups
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
            - BranchSide:      'restrict-access.c:293,7'
              BranchSideFuncs:
                - restrict_init_groups
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
        - Branch String:   'restrict-access.c:291,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:293,7'
              BranchSideFuncs:
                - restrict_init_groups
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
            - BranchSide:      'restrict-access.c:298,7'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
                - getegid
        - Branch String:   'restrict-access.c:293,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:294,26'
              BranchSideFuncs:
                - getegid
                - restrict_init_groups
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
            - BranchSide:      'restrict-access.c:295,24'
              BranchSideFuncs:
                - restrict_init_groups
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
        - Branch String:   'restrict-access.c:303,38'
          Branch Sides:
            - BranchSide:      'restrict-access.c:303,41'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - initgroups
                - get_gid_str
                - i_fatal
            - BranchSide:      'restrict-access.c:315,6'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
        - Branch String:   'restrict-access.c:303,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:304,18'
              BranchSideFuncs:
                - initgroups
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
                - get_gid_str
                - i_fatal
            - BranchSide:      'restrict-access.c:315,6'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
        - Branch String:   'restrict-access.c:304,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:307,5'
              BranchSideFuncs:
                - get_gid_str
                - i_fatal
            - BranchSide:      'restrict-access.c:310,19'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - t_push
                - fix_groups_list
                - t_pop
                - i_panic
        - Branch String:   'restrict-access.c:315,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:315,15'
              BranchSideFuncs:
                - t_push
                - fix_groups_list
                - t_pop
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
                - i_panic
            - BranchSide:      'restrict-access.c:321,6'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:318,4'
          Branch Sides:
            - BranchSide:      'restrict-access.c:318,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'restrict-access.c:318,4'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - localtime
                - chroot
                - chdir
                - i_strdup
                - chdir
                - i_error
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:321,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:324,10'
              BranchSideFuncs:
                - localtime
                - chroot
                - chdir
                - i_strdup
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - chdir
                - i_error
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:343,6'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
        - Branch String:   'restrict-access.c:327,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:328,37'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:330,7'
              BranchSideFuncs:
                - chdir
                - i_strdup
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - chdir
                - i_error
                - i_fatal
        - Branch String:   'restrict-access.c:330,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:331,4'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:333,25'
              BranchSideFuncs:
                - i_strdup
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - chdir
                - i_error
        - Branch String:   'restrict-access.c:335,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:336,14'
              BranchSideFuncs:
                - chdir
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
                - i_error
            - BranchSide:      'restrict-access.c:340,2'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
        - Branch String:   'restrict-access.c:336,8'
          Branch Sides:
            - BranchSide:      'restrict-access.c:337,37'
              BranchSideFuncs:
                - i_error
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
            - BranchSide:      'restrict-access.c:339,3'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - setuid
                - get_setuid_error_str
                - i_fatal
        - Branch String:   'restrict-access.c:343,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:344,14'
              BranchSideFuncs:
                - setuid
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
                - get_setuid_error_str
                - i_fatal
            - BranchSide:      'restrict-access.c:349,7'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:344,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:345,39'
              BranchSideFuncs:
                - get_setuid_error_str
                - i_fatal
            - BranchSide:      'restrict-access.c:346,2'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:349,31'
          Branch Sides:
            - BranchSide:      'restrict-access.c:349,34'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:349,55'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:349,51'
          Branch Sides:
            - BranchSide:      'restrict-access.c:349,55'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:350,7'
              BranchSideFuncs:
                - setuid
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:349,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:350,7'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:359,6'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:350,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:351,9'
              BranchSideFuncs:
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:357,2'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:351,20'
          Branch Sides:
            - BranchSide:      'restrict-access.c:352,9'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:355,4'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'restrict-access.c:352,25'
          Branch Sides:
            - BranchSide:      'restrict-access.c:352,28'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:353,5'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'restrict-access.c:351,8'
          Branch Sides:
            - BranchSide:      'restrict-access.c:353,5'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:355,4'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'restrict-access.c:359,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:360,18'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:361,11'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:361,36'
          Branch Sides:
            - BranchSide:      'restrict-access.c:361,39'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:362,18'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:361,11'
          Branch Sides:
            - BranchSide:      'restrict-access.c:362,18'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:364,18'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:366,22'
          Branch Sides:
            - BranchSide:      'restrict-access.c:366,22'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:366,25'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:366,41'
          Branch Sides:
            - BranchSide:      'restrict-access.c:366,41'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:367,7'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:367,31'
          Branch Sides:
            - BranchSide:      'restrict-access.c:367,35'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:368,7'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:366,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:366,6'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:368,7'
              BranchSideFuncs:
                - getgid
                - getegid
                - setgid
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:368,21'
          Branch Sides:
            - BranchSide:      'restrict-access.c:368,24'
              BranchSideFuncs:
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:369,8'
              BranchSideFuncs:
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:368,39'
          Branch Sides:
            - BranchSide:      'restrict-access.c:368,42'
              BranchSideFuncs:
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:369,8'
              BranchSideFuncs:
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:368,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:369,8'
              BranchSideFuncs:
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:376,2'
              BranchSideFuncs: []
        - Branch String:   'restrict-access.c:369,8'
          Branch Sides:
            - BranchSide:      'restrict-access.c:370,5'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:373,17'
              BranchSideFuncs:
                - get_gid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - i_fatal
      Callsites:
        - Src:             'restrict-access.c:266,12'
          Dst:             geteuid
        - Src:             'restrict-access.c:270,6'
          Dst:             getuid
        - Src:             'restrict-access.c:273,17'
          Dst:             geteuid
        - Src:             'restrict-access.c:275,4'
          Dst:             i_panic
        - Src:             'restrict-access.c:277,7'
          Dst:             seteuid
        - Src:             'restrict-access.c:278,4'
          Dst:             i_fatal
        - Src:             'restrict-access.c:294,26'
          Dst:             getegid
        - Src:             'restrict-access.c:295,3'
          Dst:             restrict_init_groups
        - Src:             'restrict-access.c:299,26'
          Dst:             getegid
        - Src:             'restrict-access.c:304,7'
          Dst:             initgroups
        - Src:             'restrict-access.c:308,5'
          Dst:             get_gid_str
        - Src:             'restrict-access.c:306,4'
          Dst:             i_fatal
        - Src:             'restrict-access.c:315,15'
          Dst:             t_push
        - Src:             'restrict-access.c:316,3'
          Dst:             fix_groups_list
        - Src:             'restrict-access.c:318,4'
          Dst:             t_pop
        - Src:             'restrict-access.c:318,4'
          Dst:             i_panic
        - Src:             'restrict-access.c:325,9'
          Dst:             localtime
        - Src:             'restrict-access.c:327,7'
          Dst:             chroot
        - Src:             'restrict-access.c:328,4'
          Dst:             i_fatal
        - Src:             'restrict-access.c:330,7'
          Dst:             chdir
        - Src:             'restrict-access.c:331,4'
          Dst:             i_fatal
        - Src:             'restrict-access.c:333,16'
          Dst:             i_strdup
        - Src:             'restrict-access.c:336,8'
          Dst:             chdir
        - Src:             'restrict-access.c:337,5'
          Dst:             i_error
        - Src:             'restrict-access.c:344,7'
          Dst:             setuid
        - Src:             'restrict-access.c:345,18'
          Dst:             get_setuid_error_str
        - Src:             'restrict-access.c:345,4'
          Dst:             i_fatal
        - Src:             'restrict-access.c:350,7'
          Dst:             setuid
        - Src:             'restrict-access.c:353,5'
          Dst:             i_fatal
        - Src:             'restrict-access.c:355,4'
          Dst:             i_fatal
        - Src:             'restrict-access.c:368,7'
          Dst:             getgid
        - Src:             'restrict-access.c:368,24'
          Dst:             getegid
        - Src:             'restrict-access.c:368,42'
          Dst:             setgid
        - Src:             'restrict-access.c:370,5'
          Dst:             i_fatal
        - Src:             'restrict-access.c:373,5'
          Dst:             get_gid_str
        - Src:             'restrict-access.c:374,17'
          Dst:             getgid
        - Src:             'restrict-access.c:374,5'
          Dst:             get_gid_str
        - Src:             'restrict-access.c:374,40'
          Dst:             getegid
        - Src:             'restrict-access.c:374,28'
          Dst:             get_gid_str
        - Src:             'restrict-access.c:371,4'
          Dst:             i_fatal
    - functionName:    getuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    seteuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getegid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    restrict_init_groups
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - primary_gid
        - privileged_gid
        - gid_source
      BBCount:         25
      ICount:          147
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - get_gid_str
        - get_uid_str
        - getegid
        - geteuid
        - getgid
        - i_fatal
        - setgid
        - setresgid
        - str_c
        - str_printfa
        - t_str_new
      functionUses:    1
      BranchProfiles:
        - Branch String:   'restrict-access.c:66,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:67,7'
              BranchSideFuncs:
                - getgid
                - setgid
                - t_str_new
                - get_gid_str
                - str_printfa
                - geteuid
                - get_uid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - get_gid_str
                - getegid
                - get_gid_str
                - str_printfa
                - str_c
                - i_fatal
                - str_printfa
                - getegid
            - BranchSide:      'restrict-access.c:88,6'
              BranchSideFuncs:
                - getegid
                - setresgid
                - get_gid_str
                - get_gid_str
                - get_gid_str
                - geteuid
                - get_uid_str
                - i_fatal
                - getgid
                - getegid
        - Branch String:   'restrict-access.c:67,31'
          Branch Sides:
            - BranchSide:      'restrict-access.c:67,34'
              BranchSideFuncs:
                - getegid
                - setgid
                - t_str_new
                - get_gid_str
                - str_printfa
                - geteuid
                - get_uid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - get_gid_str
                - getegid
                - get_gid_str
                - str_printfa
                - str_c
                - i_fatal
                - str_printfa
            - BranchSide:      'restrict-access.c:72,14'
              BranchSideFuncs:
                - setgid
                - t_str_new
                - get_gid_str
                - str_printfa
                - geteuid
                - get_uid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - get_gid_str
                - getegid
                - get_gid_str
                - str_printfa
                - str_c
                - i_fatal
                - str_printfa
        - Branch String:   'restrict-access.c:67,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:69,4'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:72,14'
              BranchSideFuncs:
                - setgid
                - t_str_new
                - get_gid_str
                - str_printfa
                - geteuid
                - get_uid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - get_gid_str
                - getegid
                - get_gid_str
                - str_printfa
                - str_c
                - i_fatal
                - str_printfa
        - Branch String:   'restrict-access.c:72,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:73,4'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:75,9'
              BranchSideFuncs:
                - t_str_new
                - get_gid_str
                - str_printfa
                - geteuid
                - get_uid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - get_gid_str
                - getegid
                - get_gid_str
                - str_printfa
                - str_c
                - i_fatal
                - str_printfa
        - Branch String:   'restrict-access.c:77,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:78,16'
              BranchSideFuncs:
                - str_printfa
                - geteuid
                - get_uid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - get_gid_str
                - getegid
                - get_gid_str
                - str_printfa
                - str_c
                - i_fatal
            - BranchSide:      'restrict-access.c:79,15'
              BranchSideFuncs:
                - geteuid
                - get_uid_str
                - getgid
                - get_gid_str
                - getegid
                - get_gid_str
                - get_gid_str
                - getegid
                - get_gid_str
                - str_printfa
                - str_c
                - i_fatal
        - Branch String:   'restrict-access.c:88,21'
          Branch Sides:
            - BranchSide:      'restrict-access.c:88,24'
              BranchSideFuncs:
                - getgid
                - setresgid
                - get_gid_str
                - get_gid_str
                - get_gid_str
                - geteuid
                - get_uid_str
                - i_fatal
                - getegid
            - BranchSide:      'restrict-access.c:96,16'
              BranchSideFuncs:
                - setresgid
                - get_gid_str
                - get_gid_str
                - get_gid_str
                - geteuid
                - get_uid_str
                - i_fatal
        - Branch String:   'restrict-access.c:88,48'
          Branch Sides:
            - BranchSide:      'restrict-access.c:89,6'
              BranchSideFuncs:
                - getegid
                - setresgid
                - get_gid_str
                - get_gid_str
                - get_gid_str
                - geteuid
                - get_uid_str
                - i_fatal
            - BranchSide:      'restrict-access.c:96,16'
              BranchSideFuncs:
                - setresgid
                - get_gid_str
                - get_gid_str
                - get_gid_str
                - geteuid
                - get_uid_str
                - i_fatal
        - Branch String:   'restrict-access.c:88,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:92,3'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:96,16'
              BranchSideFuncs:
                - setresgid
                - get_gid_str
                - get_gid_str
                - get_gid_str
                - geteuid
                - get_uid_str
                - i_fatal
        - Branch String:   'restrict-access.c:96,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:96,6'
              BranchSideFuncs:
                - get_gid_str
                - get_gid_str
                - get_gid_str
                - geteuid
                - get_uid_str
                - i_fatal
            - BranchSide:      'restrict-access.c:98,16'
              BranchSideFuncs:
                - get_gid_str
                - get_gid_str
                - get_gid_str
                - geteuid
                - get_uid_str
                - i_fatal
      Callsites:
        - Src:             'restrict-access.c:67,22'
          Dst:             getgid
        - Src:             'restrict-access.c:67,49'
          Dst:             getegid
        - Src:             'restrict-access.c:72,7'
          Dst:             setgid
        - Src:             'restrict-access.c:75,9'
          Dst:             t_str_new
        - Src:             'restrict-access.c:76,33'
          Dst:             get_gid_str
        - Src:             'restrict-access.c:76,3'
          Dst:             str_printfa
        - Src:             'restrict-access.c:78,4'
          Dst:             str_printfa
        - Src:             'restrict-access.c:82,20'
          Dst:             geteuid
        - Src:             'restrict-access.c:82,8'
          Dst:             get_uid_str
        - Src:             'restrict-access.c:83,20'
          Dst:             getgid
        - Src:             'restrict-access.c:83,8'
          Dst:             get_gid_str
        - Src:             'restrict-access.c:83,43'
          Dst:             getegid
        - Src:             'restrict-access.c:83,31'
          Dst:             get_gid_str
        - Src:             'restrict-access.c:84,8'
          Dst:             get_gid_str
        - Src:             'restrict-access.c:84,46'
          Dst:             getegid
        - Src:             'restrict-access.c:84,34'
          Dst:             get_gid_str
        - Src:             'restrict-access.c:79,3'
          Dst:             str_printfa
        - Src:             'restrict-access.c:85,17'
          Dst:             str_c
        - Src:             'restrict-access.c:85,3'
          Dst:             i_fatal
        - Src:             'restrict-access.c:88,6'
          Dst:             getegid
        - Src:             'restrict-access.c:88,39'
          Dst:             getgid
        - Src:             'restrict-access.c:89,21'
          Dst:             getegid
        - Src:             'restrict-access.c:96,6'
          Dst:             setresgid
        - Src:             'restrict-access.c:98,4'
          Dst:             get_gid_str
        - Src:             'restrict-access.c:98,30'
          Dst:             get_gid_str
        - Src:             'restrict-access.c:99,4'
          Dst:             get_gid_str
        - Src:             'restrict-access.c:99,45'
          Dst:             geteuid
        - Src:             'restrict-access.c:99,33'
          Dst:             get_uid_str
        - Src:             'restrict-access.c:97,3'
          Dst:             i_fatal
    - functionName:    initgroups
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_gid_str
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - gid
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - dec2str
        - i_getgrgid
        - t_strdup_printf
      functionUses:    12
      BranchProfiles:
        - Branch String:   'restrict-access.c:53,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:54,17'
              BranchSideFuncs:
                - dec2str
                - __errno_location
            - BranchSide:      'restrict-access.c:56,43'
              BranchSideFuncs:
                - dec2str
                - t_strdup_printf
                - __errno_location
      Callsites:
        - Src:             'restrict-access.c:51,18'
          Dst:             __errno_location
        - Src:             'restrict-access.c:53,6'
          Dst:             i_getgrgid
        - Src:             'restrict-access.c:54,9'
          Dst:             dec2str
        - Src:             'restrict-access.c:56,35'
          Dst:             dec2str
        - Src:             'restrict-access.c:56,9'
          Dst:             t_strdup_printf
        - Src:             'restrict-access.c:57,2'
          Dst:             __errno_location
    - functionName:    fix_groups_list
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - set
        - preserve_existing
        - have_root_group
      BBCount:         42
      ICount:          267
      EdgeCount:       53
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - drop_restricted_groups
        - get_group_id
        - i_fatal
        - i_memcpy
        - malloc_multiply_check
        - restrict_get_groups_list
        - setgroups
        - str_array_length
        - t_malloc0
        - t_strsplit_spaces
      functionUses:    1
      BranchProfiles:
        - Branch String:   'restrict-access.c:186,8'
          Branch Sides:
            - BranchSide:      'restrict-access.c:186,6'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - get_group_id
                - malloc_multiply_check.3519
                - t_malloc0
                - restrict_get_groups_list
                - drop_restricted_groups
            - BranchSide:      'restrict-access.c:187,21'
              BranchSideFuncs:
                - t_strsplit_spaces
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - get_group_id
                - malloc_multiply_check.3519
                - t_malloc0
                - restrict_get_groups_list
                - drop_restricted_groups
        - Branch String:   'restrict-access.c:189,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:190,14'
              BranchSideFuncs:
                - restrict_get_groups_list
                - drop_restricted_groups
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - get_group_id
                - malloc_multiply_check.3519
                - t_malloc0
            - BranchSide:      'restrict-access.c:201,12'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - get_group_id
                - malloc_multiply_check.3519
                - t_malloc0
        - Branch String:   'restrict-access.c:194,3'
          Branch Sides:
            - BranchSide:      'restrict-access.c:195,8'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - get_group_id
                - malloc_multiply_check.3519
                - t_malloc0
            - BranchSide:      'restrict-access.c:200,2'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - get_group_id
                - malloc_multiply_check.3519
                - t_malloc0
        - Branch String:   'restrict-access.c:195,8'
          Branch Sides:
            - BranchSide:      'restrict-access.c:196,21'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - get_group_id
                - malloc_multiply_check.3519
                - t_malloc0
            - BranchSide:      'restrict-access.c:199,3'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - get_group_id
                - malloc_multiply_check.3519
                - t_malloc0
        - Branch String:   'restrict-access.c:204,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:207,14'
              BranchSideFuncs:
                - malloc_multiply_check.3519
                - t_malloc0
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - get_group_id
            - BranchSide:      'restrict-access.c:213,7'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - get_group_id
        - Branch String:   'restrict-access.c:213,19'
          Branch Sides:
            - BranchSide:      'restrict-access.c:213,22'
              BranchSideFuncs:
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - get_group_id
            - BranchSide:      'restrict-access.c:215,15'
              BranchSideFuncs:
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - get_group_id
        - Branch String:   'restrict-access.c:213,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:215,15'
              BranchSideFuncs:
                - str_array_length
                - malloc_multiply_check.3519
                - t_malloc0
                - i_memcpy.3475
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - get_group_id
            - BranchSide:      'restrict-access.c:227,16'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:217,3'
          Branch Sides:
            - BranchSide:      'restrict-access.c:218,24'
              BranchSideFuncs:
                - get_group_id
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:222,7'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:219,8'
          Branch Sides:
            - BranchSide:      'restrict-access.c:220,30'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - get_group_id
            - BranchSide:      'restrict-access.c:221,3'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
                - get_group_id
        - Branch String:   'restrict-access.c:222,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:223,29'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:224,14'
              BranchSideFuncs:
                - setgroups
                - __errno_location
                - i_fatal
                - i_fatal
        - Branch String:   'restrict-access.c:227,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:228,7'
              BranchSideFuncs:
                - __errno_location
                - i_fatal
                - i_fatal
            - BranchSide:      'restrict-access.c:236,1'
              BranchSideFuncs: []
        - Branch String:   'restrict-access.c:228,7'
          Branch Sides:
            - BranchSide:      'restrict-access.c:230,5'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:233,4'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'restrict-access.c:230,5'
          Branch Sides:
            - BranchSide:      'restrict-access.c:229,4'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:231,5'
              BranchSideFuncs:
                - i_fatal
      Callsites:
        - Src:             'restrict-access.c:187,3'
          Dst:             t_strsplit_spaces
        - Src:             'restrict-access.c:190,14'
          Dst:             restrict_get_groups_list
        - Src:             'restrict-access.c:191,3'
          Dst:             drop_restricted_groups
        - Src:             'restrict-access.c:207,14'
          Dst:             malloc_multiply_check
        - Src:             'restrict-access.c:207,14'
          Dst:             t_malloc0
        - Src:             'restrict-access.c:215,15'
          Dst:             str_array_length
        - Src:             'restrict-access.c:215,15'
          Dst:             malloc_multiply_check
        - Src:             'restrict-access.c:215,15'
          Dst:             t_malloc0
        - Src:             'restrict-access.c:216,3'
          Dst:             i_memcpy
        - Src:             'restrict-access.c:218,10'
          Dst:             get_group_id
        - Src:             'restrict-access.c:227,6'
          Dst:             setgroups
        - Src:             'restrict-access.c:228,7'
          Dst:             __errno_location
        - Src:             'restrict-access.c:229,4'
          Dst:             i_fatal
        - Src:             'restrict-access.c:233,4'
          Dst:             i_fatal
    - functionName:    chroot
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chdir
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_setuid_error_str
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - set
        - target_uid
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - get_uid_str
        - geteuid
        - str_append
        - str_c
        - str_printfa
        - t_str_new
      functionUses:    1
      BranchProfiles:
        - Branch String:   'restrict-access.c:244,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:245,15'
              BranchSideFuncs:
                - str_printfa
                - geteuid
                - get_uid_str
                - str_printfa
                - __errno_location
                - get_uid_str
                - geteuid
                - get_uid_str
                - str_printfa
                - str_c
                - str_append.3471
            - BranchSide:      'restrict-access.c:246,14'
              BranchSideFuncs:
                - geteuid
                - get_uid_str
                - str_printfa
                - __errno_location
                - get_uid_str
                - geteuid
                - get_uid_str
                - str_printfa
                - str_c
                - str_append.3471
        - Branch String:   'restrict-access.c:248,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:249,14'
              BranchSideFuncs:
                - str_append.3471
                - str_c
            - BranchSide:      'restrict-access.c:251,15'
              BranchSideFuncs:
                - get_uid_str
                - geteuid
                - get_uid_str
                - str_printfa
                - str_c
      Callsites:
        - Src:             'restrict-access.c:241,18'
          Dst:             t_str_new
        - Src:             'restrict-access.c:243,32'
          Dst:             get_uid_str
        - Src:             'restrict-access.c:243,2'
          Dst:             str_printfa
        - Src:             'restrict-access.c:245,3'
          Dst:             str_printfa
        - Src:             'restrict-access.c:247,19'
          Dst:             geteuid
        - Src:             'restrict-access.c:247,7'
          Dst:             get_uid_str
        - Src:             'restrict-access.c:246,2'
          Dst:             str_printfa
        - Src:             'restrict-access.c:248,6'
          Dst:             __errno_location
        - Src:             'restrict-access.c:249,3'
          Dst:             str_append
        - Src:             'restrict-access.c:253,8'
          Dst:             get_uid_str
        - Src:             'restrict-access.c:253,45'
          Dst:             geteuid
        - Src:             'restrict-access.c:253,33'
          Dst:             get_uid_str
        - Src:             'restrict-access.c:251,3'
          Dst:             str_printfa
        - Src:             'restrict-access.c:255,9'
          Dst:             str_c
    - functionName:    getgid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setgid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    restrict_get_groups_list
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - gid_count_r
      BBCount:         7
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - getgroups
        - i_fatal
        - malloc_multiply_check
        - t_malloc0
      functionUses:    1
      BranchProfiles:
        - Branch String:   'restrict-access.c:124,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:125,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:128,13'
              BranchSideFuncs:
                - malloc_multiply_check.3519
                - t_malloc0
                - getgroups
                - i_fatal
        - Branch String:   'restrict-access.c:129,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:130,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'restrict-access.c:132,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'restrict-access.c:124,19'
          Dst:             getgroups
        - Src:             'restrict-access.c:125,3'
          Dst:             i_fatal
        - Src:             'restrict-access.c:128,13'
          Dst:             malloc_multiply_check
        - Src:             'restrict-access.c:128,13'
          Dst:             t_malloc0
        - Src:             'restrict-access.c:129,13'
          Dst:             getgroups
        - Src:             'restrict-access.c:130,3'
          Dst:             i_fatal
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    setgroups
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getgroups
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setresgid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    restrict_access_init
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - set
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    null_if_empty
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         7
      ICount:          31
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'restrict-access.c:404,21'
          Branch Sides:
            - BranchSide:      'restrict-access.c:404,9'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:404,25'
              BranchSideFuncs: []
        - Branch String:   'restrict-access.c:404,9'
          Branch Sides:
            - BranchSide:      'restrict-access.c:404,9'
              BranchSideFuncs: []
            - BranchSide:      'restrict-access.c:404,46'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    restrict_access_set_env
      functionSourceFile: '/src/dovecot/src/lib/restrict-access.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - set
      BBCount:         33
      ICount:          201
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - dec2str
        - env_put
      functionUses:    0
      BranchProfiles:
        - Branch String:   'restrict-access.c:381,38'
          Branch Sides:
            - BranchSide:      'restrict-access.c:382,7'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - env_put
            - BranchSide:      'restrict-access.c:384,6'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
        - Branch String:   'restrict-access.c:381,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:383,28'
              BranchSideFuncs:
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
            - BranchSide:      'restrict-access.c:384,6'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
        - Branch String:   'restrict-access.c:384,30'
          Branch Sides:
            - BranchSide:      'restrict-access.c:384,34'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
            - BranchSide:      'restrict-access.c:387,6'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
        - Branch String:   'restrict-access.c:384,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:385,30'
              BranchSideFuncs:
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
            - BranchSide:      'restrict-access.c:387,6'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
        - Branch String:   'restrict-access.c:387,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:388,38'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
            - BranchSide:      'restrict-access.c:389,6'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
        - Branch String:   'restrict-access.c:389,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:390,38'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - dec2str
                - env_put
            - BranchSide:      'restrict-access.c:391,6'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
                - dec2str
                - env_put
        - Branch String:   'restrict-access.c:391,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:392,43'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
            - BranchSide:      'restrict-access.c:393,6'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
        - Branch String:   'restrict-access.c:393,32'
          Branch Sides:
            - BranchSide:      'restrict-access.c:393,36'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
                - env_put
            - BranchSide:      'restrict-access.c:396,6'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
        - Branch String:   'restrict-access.c:393,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:394,38'
              BranchSideFuncs:
                - env_put
                - dec2str
                - env_put
                - dec2str
                - env_put
            - BranchSide:      'restrict-access.c:396,6'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
        - Branch String:   'restrict-access.c:396,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:397,41'
              BranchSideFuncs:
                - dec2str
                - env_put
                - dec2str
                - env_put
            - BranchSide:      'restrict-access.c:398,6'
              BranchSideFuncs:
                - dec2str
                - env_put
        - Branch String:   'restrict-access.c:398,6'
          Branch Sides:
            - BranchSide:      'restrict-access.c:398,6'
              BranchSideFuncs:
                - dec2str
                - env_put
            - BranchSide:      'restrict-access.c:399,40'
              BranchSideFuncs:
                - dec2str
                - env_put
      Callsites:
        - Src:             'restrict-access.c:383,3'
          Dst:             env_put
        - Src:             'restrict-access.c:385,3'
          Dst:             env_put
        - Src:             'restrict-access.c:388,30'
          Dst:             dec2str
        - Src:             'restrict-access.c:388,3'
          Dst:             env_put
        - Src:             'restrict-access.c:390,30'
          Dst:             dec2str
        - Src:             'restrict-access.c:390,3'
          Dst:             env_put
        - Src:             'restrict-access.c:392,35'
          Dst:             dec2str
        - Src:             'restrict-access.c:392,3'
          Dst:             env_put
        - Src:             'restrict-access.c:394,3'
          Dst:             env_put
        - Src:             'restrict-access.c:397,33'
          Dst:             dec2str
        - Src:             'restrict-access.c:397,3'
          Dst:             env_put
        - Src:             'restrict-access.c:399,32'
          Dst:             dec2str
        - Src:             'restrict-access.c:399,3'
          Dst:             env_put
    - functionName:    safe_memset
      functionSourceFile: '/src/dovecot/src/lib/safe-memset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7
      functionLinenumberEnd: 17
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - data
        - c
        - size
      BBCount:         8
      ICount:          52
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'safe-memset.c:11,6'
          Branch Sides:
            - BranchSide:      'safe-memset.c:12,3'
              BranchSideFuncs: []
            - BranchSide:      'safe-memset.c:14,2'
              BranchSideFuncs: []
        - Branch String:   'safe-memset.c:16,2'
          Branch Sides:
            - BranchSide:      'safe-memset.c:15,10'
              BranchSideFuncs: []
            - BranchSide:      'safe-memset.c:16,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    safe_sendfile
      functionSourceFile: '/src/dovecot/src/lib/sendfile-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 20
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - out_fd
        - in_fd
        - offset
        - count
      BBCount:         15
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - i_panic
        - sendfile
      functionUses:    1
      BranchProfiles:
        - Branch String:   'sendfile-util.c:25,2'
          Branch Sides:
            - BranchSide:      'sendfile-util.c:25,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'sendfile-util.c:39,3'
              BranchSideFuncs:
                - sendfile
                - __errno_location
        - Branch String:   'sendfile-util.c:41,7'
          Branch Sides:
            - BranchSide:      'sendfile-util.c:42,4'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'sendfile-util.c:45,7'
              BranchSideFuncs:
                - sendfile
        - Branch String:   'sendfile-util.c:45,7'
          Branch Sides:
            - BranchSide:      'sendfile-util.c:46,25'
              BranchSideFuncs:
                - sendfile
            - BranchSide:      'sendfile-util.c:49,24'
              BranchSideFuncs:
                - sendfile
      Callsites:
        - Src:             'sendfile-util.c:25,2'
          Dst:             i_panic
        - Src:             'sendfile-util.c:42,4'
          Dst:             __errno_location
        - Src:             'sendfile-util.c:50,8'
          Dst:             sendfile
    - functionName:    sendfile
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_sleep_intr_secs
      functionSourceFile: '/src/dovecot/src/lib/sleep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - secs
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sleep_timespec
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sleep.c:73,9'
          Dst:             sleep_timespec
    - functionName:    sleep_timespec
      functionSourceFile: '/src/dovecot/src/lib/sleep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 10
      functionLinenumberEnd: 20
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ts_sleep
        - interruptible
      BBCount:         11
      ICount:          56
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - i_fatal
        - nanosleep
      functionUses:    6
      BranchProfiles:
        - Branch String:   'sleep.c:13,2'
          Branch Sides:
            - BranchSide:      'sleep.c:14,7'
              BranchSideFuncs:
                - __errno_location
                - nanosleep
                - i_fatal
            - BranchSide:      'sleep.c:19,2'
              BranchSideFuncs: []
        - Branch String:   'sleep.c:14,7'
          Branch Sides:
            - BranchSide:      'sleep.c:15,4'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'sleep.c:16,7'
              BranchSideFuncs:
                - nanosleep
                - __errno_location
                - i_fatal
        - Branch String:   'sleep.c:16,7'
          Branch Sides:
            - BranchSide:      'sleep.c:13,2'
              BranchSideFuncs: []
            - BranchSide:      'sleep.c:17,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'sleep.c:13,9'
          Dst:             nanosleep
        - Src:             'sleep.c:14,7'
          Dst:             __errno_location
        - Src:             'sleep.c:15,4'
          Dst:             i_fatal
    - functionName:    nanosleep
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_sleep_intr_msecs
      functionSourceFile: '/src/dovecot/src/lib/sleep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - msecs
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sleep_timespec
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sleep.c:64,9'
          Dst:             sleep_timespec
    - functionName:    i_sleep_intr_usecs
      functionSourceFile: '/src/dovecot/src/lib/sleep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - usecs
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sleep_timespec
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sleep.c:55,9'
          Dst:             sleep_timespec
    - functionName:    i_sleep_secs
      functionSourceFile: '/src/dovecot/src/lib/sleep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - secs
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sleep_timespec
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sleep.c:46,2'
          Dst:             sleep_timespec
    - functionName:    i_sleep_msecs
      functionSourceFile: '/src/dovecot/src/lib/sleep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - msecs
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sleep_timespec
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sleep.c:37,2'
          Dst:             sleep_timespec
    - functionName:    i_sleep_usecs
      functionSourceFile: '/src/dovecot/src/lib/sleep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 23
      functionLinenumberEnd: 29
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - usecs
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sleep_timespec
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sleep.c:28,2'
          Dst:             sleep_timespec
    - functionName:    str_data
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_len
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_truncate_utf8
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - len
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - str_data
        - str_len
        - str_truncate
        - uni_utf8_data_truncate
      functionUses:    0
      BranchProfiles:
        - Branch String:   'str.c:155,6'
          Branch Sides:
            - BranchSide:      'str.c:156,3'
              BranchSideFuncs: []
            - BranchSide:      'str.c:157,15'
              BranchSideFuncs:
                - str_data.3614
                - uni_utf8_data_truncate
                - str_truncate.3616
      Callsites:
        - Src:             'str.c:153,16'
          Dst:             str_len
        - Src:             'str.c:157,43'
          Dst:             str_data
        - Src:             'str.c:157,20'
          Dst:             uni_utf8_data_truncate
        - Src:             'str.c:157,2'
          Dst:             str_truncate
    - functionName:    str_truncate
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - len
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_set_used_size
        - str_len
      functionUses:    2
      BranchProfiles:
        - Branch String:   './str.h:90,6'
          Branch Sides:
            - BranchSide:      './str.h:90,6'
              BranchSideFuncs:
                - buffer_set_used_size
            - BranchSide:      './str.h:91,24'
              BranchSideFuncs:
                - buffer_set_used_size
      Callsites:
        - Src:             './str.h:90,6'
          Dst:             str_len
        - Src:             './str.h:91,3'
          Dst:             buffer_set_used_size
    - functionName:    str_vprintfa
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - fmt
        - args
      BBCount:         19
      ICount:          160
      EdgeCount:       22
      CyclomaticComplexity: 5
      functionsReached:
        - buffer_get_space_unsafe
        - buffer_get_writable_size
        - buffer_set_used_size
        - i_panic
        - printf_format_fix_get_len
        - vsnprintf
      functionUses:    8
      BranchProfiles:
        - Branch String:   'str.c:128,52'
          Branch Sides:
            - BranchSide:      'str.c:129,6'
              BranchSideFuncs:
                - buffer_get_writable_size
                - buffer_get_space_unsafe
                - vsnprintf
                - buffer_set_used_size
                - buffer_get_space_unsafe
                - vsnprintf
                - i_panic
                - i_panic
                - buffer_get_writable_size
            - BranchSide:      'str.c:134,32'
              BranchSideFuncs:
                - buffer_get_space_unsafe
                - vsnprintf
                - buffer_set_used_size
                - buffer_get_space_unsafe
                - vsnprintf
                - i_panic
                - i_panic
        - Branch String:   'str.c:128,6'
          Branch Sides:
            - BranchSide:      'str.c:132,40'
              BranchSideFuncs:
                - buffer_get_writable_size
                - buffer_get_space_unsafe
                - vsnprintf
                - buffer_set_used_size
                - buffer_get_space_unsafe
                - vsnprintf
                - i_panic
                - i_panic
            - BranchSide:      'str.c:134,32'
              BranchSideFuncs:
                - buffer_get_space_unsafe
                - vsnprintf
                - buffer_set_used_size
                - buffer_get_space_unsafe
                - vsnprintf
                - i_panic
                - i_panic
        - Branch String:   'str.c:136,2'
          Branch Sides:
            - BranchSide:      'str.c:136,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'str.c:138,20'
              BranchSideFuncs:
                - buffer_set_used_size
                - buffer_get_space_unsafe
                - vsnprintf
                - i_panic
        - Branch String:   'str.c:138,6'
          Branch Sides:
            - BranchSide:      'str.c:138,6'
              BranchSideFuncs:
                - buffer_get_space_unsafe
                - vsnprintf
                - buffer_set_used_size
                - i_panic
            - BranchSide:      'str.c:141,33'
              BranchSideFuncs:
                - buffer_get_space_unsafe
                - vsnprintf
                - buffer_set_used_size
                - i_panic
        - Branch String:   'str.c:143,3'
          Branch Sides:
            - BranchSide:      'str.c:143,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'str.c:144,2'
              BranchSideFuncs:
                - buffer_set_used_size
      Callsites:
        - Src:             'str.c:124,8'
          Dst:             printf_format_fix_get_len
        - Src:             'str.c:128,22'
          Dst:             buffer_get_writable_size
        - Src:             'str.c:129,12'
          Dst:             buffer_get_writable_size
        - Src:             'str.c:132,15'
          Dst:             buffer_get_writable_size
        - Src:             'str.c:134,8'
          Dst:             buffer_get_space_unsafe
        - Src:             'str.c:135,8'
          Dst:             vsnprintf
        - Src:             'str.c:136,2'
          Dst:             i_panic
        - Src:             'str.c:141,9'
          Dst:             buffer_get_space_unsafe
        - Src:             'str.c:142,10'
          Dst:             vsnprintf
        - Src:             'str.c:143,3'
          Dst:             i_panic
        - Src:             'str.c:148,2'
          Dst:             buffer_set_used_size
    - functionName:    vsnprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_printfa
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - fmt
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_vprintfa
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'str.c:106,2'
          Dst:             str_vprintfa
    - functionName:    str_append_max
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - cstr
        - max_len
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_append
        - memchr
      functionUses:    1
      BranchProfiles:
        - Branch String:   'str.c:94,6'
          Branch Sides:
            - BranchSide:      'str.c:95,9'
              BranchSideFuncs:
                - buffer_append
            - BranchSide:      'str.c:97,9'
              BranchSideFuncs:
                - buffer_append
      Callsites:
        - Src:             'str.c:93,6'
          Dst:             memchr
        - Src:             'str.c:98,2'
          Dst:             buffer_append
    - functionName:    str_equals
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str1
        - str2
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - memcmp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'str.c:82,6'
          Branch Sides:
            - BranchSide:      'str.c:83,3'
              BranchSideFuncs: []
            - BranchSide:      'str.c:85,16'
              BranchSideFuncs:
                - memcmp
      Callsites:
        - Src:             'str.c:85,9'
          Dst:             memcmp
    - functionName:    str_c_modifiable
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_get_modifiable_data
        - str_add_nul
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'str.c:76,2'
          Dst:             str_add_nul
        - Src:             'str.c:77,9'
          Dst:             buffer_get_modifiable_data
    - functionName:    str_add_nul
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_get_size
        - buffer_set_used_size
        - buffer_write
        - str_data
        - str_len
      functionUses:    3
      BranchProfiles:
        - Branch String:   'str.c:55,19'
          Branch Sides:
            - BranchSide:      'str.c:55,22'
              BranchSideFuncs:
                - buffer_write
                - buffer_set_used_size
            - BranchSide:      'str.c:56,16'
              BranchSideFuncs:
                - buffer_write
                - buffer_set_used_size
        - Branch String:   'str.c:55,6'
          Branch Sides:
            - BranchSide:      'str.c:55,6'
              BranchSideFuncs:
                - buffer_write
                - buffer_set_used_size
            - BranchSide:      'str.c:56,16'
              BranchSideFuncs:
                - buffer_write
                - buffer_set_used_size
      Callsites:
        - Src:             'str.c:51,30'
          Dst:             str_data
        - Src:             'str.c:52,15'
          Dst:             str_len
        - Src:             'str.c:53,17'
          Dst:             buffer_get_size
        - Src:             'str.c:56,3'
          Dst:             buffer_write
        - Src:             'str.c:58,3'
          Dst:             buffer_set_used_size
    - functionName:    str_c
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_add_nul
      functionUses:    38
      BranchProfiles:  []
      Callsites:
        - Src:             'str.c:70,2'
          Dst:             str_add_nul
    - functionName:    str_free_without_data
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_free_without_data
        - str_add_nul
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'str.c:64,2'
          Dst:             str_add_nul
        - Src:             'str.c:65,9'
          Dst:             buffer_free_without_data
    - functionName:    str_free
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_free
      functionUses:    2
      BranchProfiles:
        - Branch String:   'str.c:43,18'
          Branch Sides:
            - BranchSide:      'str.c:43,22'
              BranchSideFuncs: []
            - BranchSide:      'str.c:44,3'
              BranchSideFuncs: []
        - Branch String:   'str.c:43,6'
          Branch Sides:
            - BranchSide:      'str.c:44,3'
              BranchSideFuncs: []
            - BranchSide:      'str.c:46,14'
              BranchSideFuncs:
                - buffer_free
      Callsites:
        - Src:             'str.c:46,2'
          Dst:             buffer_free
    - functionName:    t_str_new_const
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - len
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pool_datastack_create
        - str_new_const
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'str.c:38,23'
          Dst:             pool_datastack_create
        - Src:             'str.c:38,9'
          Dst:             str_new_const
    - functionName:    str_new_const
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 20
      functionLinenumberEnd: 28
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - str
        - len
      BBCount:         7
      ICount:          60
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_create_from_const_data
        - i_panic
        - malloc_multiply_check
        - p_malloc
        - str_truncate
      functionUses:    1
      BranchProfiles:
        - Branch String:   'str.c:23,2'
          Branch Sides:
            - BranchSide:      'str.c:23,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'str.c:23,2'
              BranchSideFuncs:
                - malloc_multiply_check.3635
                - p_malloc.3636
                - buffer_create_from_const_data
                - str_truncate.3616
      Callsites:
        - Src:             'str.c:23,2'
          Dst:             i_panic
        - Src:             'str.c:25,8'
          Dst:             malloc_multiply_check
        - Src:             'str.c:25,8'
          Dst:             p_malloc
        - Src:             'str.c:26,2'
          Dst:             buffer_create_from_const_data
        - Src:             'str.c:27,2'
          Dst:             str_truncate
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    t_str_new
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 33
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - initial_size
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pool_datastack_create
        - str_new
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'str.c:33,17'
          Dst:             pool_datastack_create
        - Src:             'str.c:33,9'
          Dst:             str_new
    - functionName:    str_new
      functionSourceFile: '/src/dovecot/src/lib/str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 12
      functionLinenumberEnd: 16
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - initial_size
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_create_dynamic
      functionUses:    4
      BranchProfiles:
        - Branch String:   'str.c:16,37'
          Branch Sides:
            - BranchSide:      'str.c:16,37'
              BranchSideFuncs:
                - buffer_create_dynamic
            - BranchSide:      'str.c:16,37'
              BranchSideFuncs:
                - buffer_create_dynamic
      Callsites:
        - Src:             'str.c:16,9'
          Dst:             buffer_create_dynamic
    - functionName:    p_realloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - mem
        - old_size
        - new_size
      BBCount:         11
      ICount:          89
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:129,6'
          Branch Sides:
            - BranchSide:      './mempool.h:129,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:129,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:129,6'
          Branch Sides:
            - BranchSide:      './mempool.h:131,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:133,6'
              BranchSideFuncs: []
        - Branch String:   './mempool.h:133,6'
          Branch Sides:
            - BranchSide:      './mempool.h:134,10'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:136,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:130,3'
          Dst:             i_panic
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    t_strsplit_tabescaped
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 357
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_strdup_noconst
        - t_strsplit_tabescaped_inplace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'strescape.c:357,39'
          Dst:             t_strdup_noconst
        - Src:             'strescape.c:357,9'
          Dst:             t_strsplit_tabescaped_inplace
    - functionName:    t_strsplit_tabescaped_inplace
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_strsplit_tabescaped_inplace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'strescape.c:346,3'
          Dst:             p_strsplit_tabescaped_inplace
    - functionName:    p_strsplit_tabescaped_inplace
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 341
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - data
      BBCount:         30
      ICount:          216
      EdgeCount:       38
      CyclomaticComplexity: 10
      functionsReached:
        - i_panic
        - malloc_multiply_check
        - nearest_power
        - p_malloc
        - p_realloc
        - str_tabunescape_from
        - strpbrk
        - t_malloc_no0
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strescape.c:302,6'
          Branch Sides:
            - BranchSide:      'strescape.c:303,10'
              BranchSideFuncs:
                - malloc_multiply_check.3691
                - p_malloc.3693
            - BranchSide:      'strescape.c:305,14'
              BranchSideFuncs:
                - p_malloc.3693
                - strpbrk
                - i_panic
                - str_tabunescape_from
                - str_tabunescape_from
                - nearest_power
                - p_realloc.3689
                - t_malloc_no0
        - Branch String:   'strescape.c:306,10'
          Branch Sides:
            - BranchSide:      'strescape.c:307,33'
              BranchSideFuncs:
                - t_malloc_no0
                - strpbrk
                - i_panic
                - str_tabunescape_from
                - str_tabunescape_from
                - nearest_power
                - p_realloc.3689
            - BranchSide:      'strescape.c:308,12'
              BranchSideFuncs:
                - p_malloc.3693
                - strpbrk
                - i_panic
                - str_tabunescape_from
                - str_tabunescape_from
                - nearest_power
                - p_realloc.3689
        - Branch String:   'strescape.c:312,2'
          Branch Sides:
            - BranchSide:      'strescape.c:314,8'
              BranchSideFuncs:
                - strpbrk
                - i_panic
                - str_tabunescape_from
                - str_tabunescape_from
                - nearest_power
                - p_realloc.3689
            - BranchSide:      'strescape.c:335,6'
              BranchSideFuncs:
                - i_panic
                - str_tabunescape_from
        - Branch String:   'strescape.c:314,7'
          Branch Sides:
            - BranchSide:      'strescape.c:315,8'
              BranchSideFuncs:
                - strpbrk
                - i_panic
                - str_tabunescape_from
                - str_tabunescape_from
                - nearest_power
                - p_realloc.3689
            - BranchSide:      'strescape.c:320,7'
              BranchSideFuncs:
                - strpbrk
                - i_panic
                - str_tabunescape_from
                - str_tabunescape_from
                - nearest_power
                - p_realloc.3689
        - Branch String:   'strescape.c:315,8'
          Branch Sides:
            - BranchSide:      'strescape.c:316,21'
              BranchSideFuncs:
                - strpbrk
                - i_panic
                - str_tabunescape_from
                - str_tabunescape_from
                - nearest_power
                - p_realloc.3689
            - BranchSide:      'strescape.c:317,8'
              BranchSideFuncs:
                - strpbrk
                - i_panic
                - str_tabunescape_from
                - str_tabunescape_from
                - nearest_power
                - p_realloc.3689
        - Branch String:   'strescape.c:320,7'
          Branch Sides:
            - BranchSide:      'strescape.c:321,36'
              BranchSideFuncs:
                - nearest_power
                - p_realloc.3689
                - strpbrk
                - i_panic
                - str_tabunescape_from
                - str_tabunescape_from
            - BranchSide:      'strescape.c:328,8'
              BranchSideFuncs:
                - strpbrk
                - i_panic
                - str_tabunescape_from
                - nearest_power
                - p_realloc.3689
                - str_tabunescape_from
        - Branch String:   'strescape.c:329,7'
          Branch Sides:
            - BranchSide:      'strescape.c:330,25'
              BranchSideFuncs:
                - str_tabunescape_from
                - strpbrk
                - i_panic
                - str_tabunescape_from
                - nearest_power
                - p_realloc.3689
            - BranchSide:      'strescape.c:333,20'
              BranchSideFuncs:
                - strpbrk
                - i_panic
                - str_tabunescape_from
                - str_tabunescape_from
                - nearest_power
                - p_realloc.3689
        - Branch String:   'strescape.c:335,6'
          Branch Sides:
            - BranchSide:      'strescape.c:336,24'
              BranchSideFuncs:
                - str_tabunescape_from
                - i_panic
            - BranchSide:      'strescape.c:337,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'strescape.c:337,2'
          Branch Sides:
            - BranchSide:      'strescape.c:337,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strescape.c:338,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strescape.c:303,10'
          Dst:             malloc_multiply_check
        - Src:             'strescape.c:303,10'
          Dst:             p_malloc
        - Src:             'strescape.c:307,3'
          Dst:             t_malloc_no0
        - Src:             'strescape.c:308,3'
          Dst:             p_malloc
        - Src:             'strescape.c:312,17'
          Dst:             strpbrk
        - Src:             'strescape.c:321,22'
          Dst:             nearest_power
        - Src:             'strescape.c:322,12'
          Dst:             p_realloc
        - Src:             'strescape.c:330,4'
          Dst:             str_tabunescape_from
        - Src:             'strescape.c:336,3'
          Dst:             str_tabunescape_from
        - Src:             'strescape.c:337,2'
          Dst:             i_panic
    - functionName:    strpbrk
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_tabunescape_from
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 272
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - src
      BBCount:         16
      ICount:          136
      EdgeCount:       16
      CyclomaticComplexity: 2
      functionsReached:
        - strchr
        - strlen
      functionUses:    4
      BranchProfiles:
        - Branch String:   'strescape.c:234,3'
          Branch Sides:
            - BranchSide:      'strescape.c:237,5'
              BranchSideFuncs: []
            - BranchSide:      'strescape.c:240,9'
              BranchSideFuncs:
                - strchr
                - strlen
            - BranchSide:      'strescape.c:243,9'
              BranchSideFuncs:
                - strchr
                - strlen
            - BranchSide:      'strescape.c:246,9'
              BranchSideFuncs:
                - strchr
                - strlen
            - BranchSide:      'strescape.c:249,9'
              BranchSideFuncs:
                - strchr
                - strlen
            - BranchSide:      'strescape.c:252,9'
              BranchSideFuncs:
                - strchr
                - strlen
            - BranchSide:      'strescape.c:255,14'
              BranchSideFuncs:
                - strchr
                - strlen
        - Branch String:   'strescape.c:261,7'
          Branch Sides:
            - BranchSide:      'strescape.c:262,12'
              BranchSideFuncs:
                - strlen
            - BranchSide:      'strescape.c:266,21'
              BranchSideFuncs:
                - strchr
                - strlen
      Callsites:
        - Src:             'strescape.c:260,7'
          Dst:             strchr
        - Src:             'strescape.c:262,23'
          Dst:             strlen
    - functionName:    p_strsplit_tabescaped
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 352
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - str
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_strdup
        - p_strsplit_tabescaped_inplace
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'strescape.c:352,45'
          Dst:             p_strdup
        - Src:             'strescape.c:352,9'
          Dst:             p_strsplit_tabescaped_inplace
    - functionName:    t_str_tabunescape
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - str_tabunescape_from
        - strchr
        - t_strdup_noconst
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strescape.c:289,6'
          Branch Sides:
            - BranchSide:      'strescape.c:290,10'
              BranchSideFuncs: []
            - BranchSide:      'strescape.c:292,32'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_tabunescape_from
      Callsites:
        - Src:             'strescape.c:288,6'
          Dst:             strchr
        - Src:             'strescape.c:292,15'
          Dst:             t_strdup_noconst
        - Src:             'strescape.c:293,9'
          Dst:             str_tabunescape_from
    - functionName:    str_tabunescape
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - str_tabunescape_from
        - strchr
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strescape.c:277,6'
          Branch Sides:
            - BranchSide:      'strescape.c:279,10'
              BranchSideFuncs: []
            - BranchSide:      'strescape.c:281,30'
              BranchSideFuncs:
                - str_tabunescape_from
      Callsites:
        - Src:             'strescape.c:276,14'
          Dst:             strchr
        - Src:             'strescape.c:281,9'
          Dst:             str_tabunescape_from
    - functionName:    str_append_tabunescaped
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - src_size
      BBCount:         26
      ICount:          154
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - str_append_c
        - str_append_data
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strescape.c:189,2'
          Branch Sides:
            - BranchSide:      'strescape.c:190,3'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
            - BranchSide:      'strescape.c:225,1'
              BranchSideFuncs: []
        - Branch String:   'strescape.c:190,3'
          Branch Sides:
            - BranchSide:      'strescape.c:191,8'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
            - BranchSide:      'strescape.c:195,19'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
        - Branch String:   'strescape.c:191,8'
          Branch Sides:
            - BranchSide:      'strescape.c:192,5'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
            - BranchSide:      'strescape.c:193,3'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
        - Branch String:   'strescape.c:197,7'
          Branch Sides:
            - BranchSide:      'strescape.c:198,5'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
            - BranchSide:      'strescape.c:223,11'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
        - Branch String:   'strescape.c:199,8'
          Branch Sides:
            - BranchSide:      'strescape.c:200,13'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
            - BranchSide:      'strescape.c:222,3'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
        - Branch String:   'strescape.c:200,5'
          Branch Sides:
            - BranchSide:      'strescape.c:202,6'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
            - BranchSide:      'strescape.c:205,6'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
            - BranchSide:      'strescape.c:208,6'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
            - BranchSide:      'strescape.c:211,6'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
            - BranchSide:      'strescape.c:214,6'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
            - BranchSide:      'strescape.c:217,6'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
                - str_append_c.3703
      Callsites:
        - Src:             'strescape.c:195,3'
          Dst:             str_append_data
        - Src:             'strescape.c:202,6'
          Dst:             str_append_c
        - Src:             'strescape.c:205,6'
          Dst:             str_append_c
        - Src:             'strescape.c:208,6'
          Dst:             str_append_c
        - Src:             'strescape.c:211,6'
          Dst:             str_append_c
        - Src:             'strescape.c:214,6'
          Dst:             str_append_c
        - Src:             'strescape.c:217,6'
          Dst:             str_append_c
    - functionName:    str_append_data
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - data
        - len
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:39,2'
          Dst:             buffer_append
    - functionName:    str_append_c
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - str
        - chr
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_c
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:44,2'
          Dst:             buffer_append_c
    - functionName:    str_tabescape
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - str_append_data
        - str_append_tabescaped
        - str_c
        - strpbrk
        - t_str_new
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strescape.c:175,6'
          Branch Sides:
            - BranchSide:      'strescape.c:176,9'
              BranchSideFuncs:
                - t_str_new
                - str_append_data.3701
                - str_append_tabescaped
                - str_c
            - BranchSide:      'strescape.c:181,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strescape.c:175,11'
          Dst:             strpbrk
        - Src:             'strescape.c:176,9'
          Dst:             t_str_new
        - Src:             'strescape.c:177,3'
          Dst:             str_append_data
        - Src:             'strescape.c:178,3'
          Dst:             str_append_tabescaped
        - Src:             'strescape.c:179,10'
          Dst:             str_c
    - functionName:    str_append_tabescaped
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dest
        - src
      BBCount:         11
      ICount:          88
      EdgeCount:       20
      CyclomaticComplexity: 11
      functionsReached:
        - i_unreached
        - str_append_data
        - strcspn
      functionUses:    11
      BranchProfiles:
        - Branch String:   'strescape.c:146,3'
          Branch Sides:
            - BranchSide:      'strescape.c:149,4'
              BranchSideFuncs: []
            - BranchSide:      'strescape.c:151,4'
              BranchSideFuncs:
                - str_append_data.3701
                - strcspn
                - str_append_data.3701
                - i_unreached
            - BranchSide:      'strescape.c:154,4'
              BranchSideFuncs:
                - str_append_data.3701
                - strcspn
                - str_append_data.3701
                - i_unreached
            - BranchSide:      'strescape.c:157,4'
              BranchSideFuncs:
                - str_append_data.3701
                - strcspn
                - str_append_data.3701
                - i_unreached
            - BranchSide:      'strescape.c:160,4'
              BranchSideFuncs:
                - str_append_data.3701
                - strcspn
                - str_append_data.3701
                - i_unreached
            - BranchSide:      'strescape.c:163,4'
              BranchSideFuncs:
                - i_unreached
      Callsites:
        - Src:             'strescape.c:142,20'
          Dst:             strcspn
        - Src:             'strescape.c:143,3'
          Dst:             str_append_data
        - Src:             'strescape.c:163,4'
          Dst:             i_unreached
        - Src:             'strescape.c:165,3'
          Dst:             str_append_data
    - functionName:    str_append_tabescaped_n
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - src_size
      BBCount:         14
      ICount:          107
      EdgeCount:       14
      CyclomaticComplexity: 2
      functionsReached:
        - str_append_data
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strescape.c:109,2'
          Branch Sides:
            - BranchSide:      'strescape.c:110,11'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_data.3701
            - BranchSide:      'strescape.c:133,18'
              BranchSideFuncs:
                - str_append_data.3701
        - Branch String:   'strescape.c:110,3'
          Branch Sides:
            - BranchSide:      'strescape.c:112,4'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_data.3701
            - BranchSide:      'strescape.c:115,4'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_data.3701
            - BranchSide:      'strescape.c:118,4'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_data.3701
            - BranchSide:      'strescape.c:121,4'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_data.3701
            - BranchSide:      'strescape.c:124,4'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_data.3701
            - BranchSide:      'strescape.c:127,4'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_data.3701
      Callsites:
        - Src:             'strescape.c:129,3'
          Dst:             str_append_data
        - Src:             'strescape.c:130,3'
          Dst:             str_append_data
        - Src:             'strescape.c:133,2'
          Dst:             str_append_data
    - functionName:    str_unescape_next
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - unescaped_r
      BBCount:         22
      ICount:          129
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - p_strdup_until
        - str_unescape
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strescape.c:86,2'
          Branch Sides:
            - BranchSide:      'strescape.c:87,8'
              BranchSideFuncs:
                - p_strdup_until
                - str_unescape
            - BranchSide:      'strescape.c:96,7'
              BranchSideFuncs:
                - p_strdup_until
                - str_unescape
        - Branch String:   'strescape.c:87,7'
          Branch Sides:
            - BranchSide:      'strescape.c:88,4'
              BranchSideFuncs:
                - p_strdup_until
                - str_unescape
            - BranchSide:      'strescape.c:89,13'
              BranchSideFuncs:
                - p_strdup_until
                - str_unescape
        - Branch String:   'strescape.c:90,8'
          Branch Sides:
            - BranchSide:      'strescape.c:91,5'
              BranchSideFuncs: []
            - BranchSide:      'strescape.c:92,14'
              BranchSideFuncs:
                - p_strdup_until
                - str_unescape
        - Branch String:   'strescape.c:96,6'
          Branch Sides:
            - BranchSide:      'strescape.c:97,3'
              BranchSideFuncs: []
            - BranchSide:      'strescape.c:98,27'
              BranchSideFuncs:
                - p_strdup_until
                - str_unescape
        - Branch String:   'strescape.c:100,17'
          Branch Sides:
            - BranchSide:      'strescape.c:100,53'
              BranchSideFuncs:
                - str_unescape
            - BranchSide:      'strescape.c:100,30'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strescape.c:98,12'
          Dst:             p_strdup_until
        - Src:             'strescape.c:100,40'
          Dst:             str_unescape
    - functionName:    str_unescape
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         17
      ICount:          99
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   'strescape.c:60,2'
          Branch Sides:
            - BranchSide:      'strescape.c:61,8'
              BranchSideFuncs: []
            - BranchSide:      'strescape.c:66,14'
              BranchSideFuncs: []
        - Branch String:   'strescape.c:61,7'
          Branch Sides:
            - BranchSide:      'strescape.c:62,11'
              BranchSideFuncs: []
            - BranchSide:      'strescape.c:63,6'
              BranchSideFuncs: []
        - Branch String:   'strescape.c:66,2'
          Branch Sides:
            - BranchSide:      'strescape.c:67,8'
              BranchSideFuncs: []
            - BranchSide:      'strescape.c:76,3'
              BranchSideFuncs: []
        - Branch String:   'strescape.c:67,7'
          Branch Sides:
            - BranchSide:      'strescape.c:68,7'
              BranchSideFuncs: []
            - BranchSide:      'strescape.c:73,14'
              BranchSideFuncs: []
        - Branch String:   'strescape.c:69,8'
          Branch Sides:
            - BranchSide:      'strescape.c:70,5'
              BranchSideFuncs: []
            - BranchSide:      'strescape.c:71,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    str_append_unescaped
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - src_size
      BBCount:         19
      ICount:          113
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - str_append_c
        - str_append_data
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strescape.c:38,2'
          Branch Sides:
            - BranchSide:      'strescape.c:38,2'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
            - BranchSide:      'strescape.c:39,3'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
        - Branch String:   'strescape.c:39,3'
          Branch Sides:
            - BranchSide:      'strescape.c:40,8'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
            - BranchSide:      'strescape.c:44,19'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
        - Branch String:   'strescape.c:40,8'
          Branch Sides:
            - BranchSide:      'strescape.c:41,5'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
            - BranchSide:      'strescape.c:42,3'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
        - Branch String:   'strescape.c:46,7'
          Branch Sides:
            - BranchSide:      'strescape.c:47,8'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
            - BranchSide:      'strescape.c:51,11'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
        - Branch String:   'strescape.c:47,8'
          Branch Sides:
            - BranchSide:      'strescape.c:48,5'
              BranchSideFuncs: []
            - BranchSide:      'strescape.c:49,4'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
      Callsites:
        - Src:             'strescape.c:44,3'
          Dst:             str_append_data
        - Src:             'strescape.c:49,4'
          Dst:             str_append_c
    - functionName:    str_append_escaped
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 15
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - src_size
      BBCount:         27
      ICount:          146
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - str_append_c
        - str_append_data
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strescape.c:18,2'
          Branch Sides:
            - BranchSide:      'strescape.c:19,7'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_c.3703
            - BranchSide:      'strescape.c:24,18'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_c.3703
        - Branch String:   'strescape.c:19,7'
          Branch Sides:
            - BranchSide:      'strescape.c:19,7'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_c.3703
            - BranchSide:      'strescape.c:20,4'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_c.3703
        - Branch String:   'strescape.c:19,7'
          Branch Sides:
            - BranchSide:      'strescape.c:19,7'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_c.3703
            - BranchSide:      'strescape.c:20,4'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_c.3703
        - Branch String:   'strescape.c:19,7'
          Branch Sides:
            - BranchSide:      'strescape.c:20,4'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_c.3703
            - BranchSide:      'strescape.c:21,2'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_data.3701
                - str_append_c.3703
        - Branch String:   'strescape.c:26,2'
          Branch Sides:
            - BranchSide:      'strescape.c:27,7'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
            - BranchSide:      'strescape.c:31,1'
              BranchSideFuncs: []
        - Branch String:   'strescape.c:27,7'
          Branch Sides:
            - BranchSide:      'strescape.c:27,7'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
            - BranchSide:      'strescape.c:28,4'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
        - Branch String:   'strescape.c:27,7'
          Branch Sides:
            - BranchSide:      'strescape.c:27,7'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
            - BranchSide:      'strescape.c:28,4'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
        - Branch String:   'strescape.c:27,7'
          Branch Sides:
            - BranchSide:      'strescape.c:28,4'
              BranchSideFuncs:
                - str_append_c.3703
                - str_append_data.3701
            - BranchSide:      'strescape.c:29,19'
              BranchSideFuncs:
                - str_append_data.3701
                - str_append_c.3703
      Callsites:
        - Src:             'strescape.c:24,2'
          Dst:             str_append_data
        - Src:             'strescape.c:28,4'
          Dst:             str_append_c
        - Src:             'strescape.c:29,3'
          Dst:             str_append_data
    - functionName:    str_nescape
      functionSourceFile: '/src/dovecot/src/lib/strescape.c'
      linkageType:     InternalLinkage
      functionLinenumber: 8
      functionLinenumberEnd: 11
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - len
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_append_escaped
        - str_c
        - t_str_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'strescape.c:9,19'
          Dst:             t_str_new
        - Src:             'strescape.c:10,2'
          Dst:             str_append_escaped
        - Src:             'strescape.c:11,9'
          Dst:             str_c
    - functionName:    p_realloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - mem
        - old_size
        - new_size
      BBCount:         11
      ICount:          89
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:129,6'
          Branch Sides:
            - BranchSide:      './mempool.h:129,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:129,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:129,6'
          Branch Sides:
            - BranchSide:      './mempool.h:131,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:133,6'
              BranchSideFuncs: []
        - Branch String:   './mempool.h:133,6'
          Branch Sides:
            - BranchSide:      './mempool.h:134,10'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:136,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:130,3'
          Dst:             i_panic
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    4
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    split_str_slow
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 732
      functionLinenumberEnd: 784
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - pool
        - data
        - separators
        - spaces
      BBCount:         40
      ICount:          262
      EdgeCount:       51
      CyclomaticComplexity: 13
      functionsReached:
        - i_panic
        - malloc_multiply_check
        - nearest_power
        - p_malloc
        - p_realloc
        - p_strdup
        - strchr
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strfuncs.c:737,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:739,3'
              BranchSideFuncs:
                - p_strdup
                - malloc_multiply_check.3876
                - p_malloc.3879
                - i_panic
                - strchr
                - strchr
                - nearest_power
                - p_realloc.3874
                - malloc_multiply_check.3876
                - p_malloc.3879
                - strchr
            - BranchSide:      'strfuncs.c:742,7'
              BranchSideFuncs:
                - p_strdup
                - malloc_multiply_check.3876
                - p_malloc.3879
                - i_panic
                - strchr
                - strchr
                - nearest_power
                - p_realloc.3874
                - malloc_multiply_check.3876
                - p_malloc.3879
        - Branch String:   'strfuncs.c:739,24'
          Branch Sides:
            - BranchSide:      'strfuncs.c:739,34'
              BranchSideFuncs:
                - strchr
                - p_strdup
                - malloc_multiply_check.3876
                - p_malloc.3879
                - i_panic
                - strchr
                - strchr
                - nearest_power
                - p_realloc.3874
                - malloc_multiply_check.3876
                - p_malloc.3879
            - BranchSide:      'strfuncs.c:739,3'
              BranchSideFuncs:
                - p_strdup
                - malloc_multiply_check.3876
                - p_malloc.3879
                - i_panic
                - strchr
                - strchr
                - nearest_power
                - p_realloc.3874
                - malloc_multiply_check.3876
                - p_malloc.3879
                - strchr
        - Branch String:   'strfuncs.c:739,3'
          Branch Sides:
            - BranchSide:      'strfuncs.c:740,8'
              BranchSideFuncs:
                - p_strdup
                - malloc_multiply_check.3876
                - p_malloc.3879
                - i_panic
                - strchr
                - strchr
                - nearest_power
                - p_realloc.3874
                - malloc_multiply_check.3876
                - p_malloc.3879
                - strchr
            - BranchSide:      'strfuncs.c:741,2'
              BranchSideFuncs:
                - p_strdup
                - malloc_multiply_check.3876
                - p_malloc.3879
                - i_panic
                - strchr
                - strchr
                - nearest_power
                - p_realloc.3874
                - malloc_multiply_check.3876
                - p_malloc.3879
        - Branch String:   'strfuncs.c:742,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:743,10'
              BranchSideFuncs:
                - malloc_multiply_check.3876
                - p_malloc.3879
            - BranchSide:      'strfuncs.c:745,17'
              BranchSideFuncs:
                - p_strdup
                - malloc_multiply_check.3876
                - p_malloc.3879
                - i_panic
                - strchr
                - strchr
                - nearest_power
                - p_realloc.3874
        - Branch String:   'strfuncs.c:751,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:752,14'
              BranchSideFuncs:
                - strchr
                - i_panic
                - strchr
                - nearest_power
                - p_realloc.3874
            - BranchSide:      'strfuncs.c:780,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'strfuncs.c:752,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:754,8'
              BranchSideFuncs:
                - i_panic
                - strchr
                - strchr
                - nearest_power
                - p_realloc.3874
            - BranchSide:      'strfuncs.c:777,6'
              BranchSideFuncs:
                - i_panic
                - strchr
                - strchr
                - nearest_power
                - p_realloc.3874
        - Branch String:   'strfuncs.c:754,8'
          Branch Sides:
            - BranchSide:      'strfuncs.c:755,37'
              BranchSideFuncs:
                - nearest_power
                - p_realloc.3874
                - i_panic
                - strchr
                - strchr
            - BranchSide:      'strfuncs.c:763,5'
              BranchSideFuncs:
                - i_panic
                - strchr
                - nearest_power
                - p_realloc.3874
                - strchr
        - Branch String:   'strfuncs.c:764,8'
          Branch Sides:
            - BranchSide:      'strfuncs.c:765,5'
              BranchSideFuncs:
                - i_panic
                - strchr
                - nearest_power
                - p_realloc.3874
                - strchr
            - BranchSide:      'strfuncs.c:774,21'
              BranchSideFuncs:
                - i_panic
                - strchr
                - strchr
                - nearest_power
                - p_realloc.3874
        - Branch String:   'strfuncs.c:765,27'
          Branch Sides:
            - BranchSide:      'strfuncs.c:765,5'
              BranchSideFuncs:
                - strchr
                - i_panic
                - strchr
                - nearest_power
                - p_realloc.3874
            - BranchSide:      'strfuncs.c:766,19'
              BranchSideFuncs:
                - strchr
                - i_panic
                - strchr
                - nearest_power
                - p_realloc.3874
        - Branch String:   'strfuncs.c:765,5'
          Branch Sides:
            - BranchSide:      'strfuncs.c:767,9'
              BranchSideFuncs:
                - i_panic
                - strchr
                - nearest_power
                - p_realloc.3874
                - strchr
            - BranchSide:      'strfuncs.c:770,9'
              BranchSideFuncs:
                - i_panic
                - strchr
                - strchr
                - nearest_power
                - p_realloc.3874
        - Branch String:   'strfuncs.c:770,9'
          Branch Sides:
            - BranchSide:      'strfuncs.c:771,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:772,4'
              BranchSideFuncs:
                - i_panic
                - strchr
                - strchr
                - nearest_power
                - p_realloc.3874
        - Branch String:   'strfuncs.c:780,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:780,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:781,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:739,27'
          Dst:             strchr
        - Src:             'strfuncs.c:743,10'
          Dst:             malloc_multiply_check
        - Src:             'strfuncs.c:743,10'
          Dst:             p_malloc
        - Src:             'strfuncs.c:745,8'
          Dst:             p_strdup
        - Src:             'strfuncs.c:748,10'
          Dst:             malloc_multiply_check
        - Src:             'strfuncs.c:748,10'
          Dst:             p_malloc
        - Src:             'strfuncs.c:752,7'
          Dst:             strchr
        - Src:             'strfuncs.c:755,23'
          Dst:             nearest_power
        - Src:             'strfuncs.c:756,13'
          Dst:             p_realloc
        - Src:             'strfuncs.c:766,12'
          Dst:             strchr
        - Src:             'strfuncs.c:780,2'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    11
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    p_strdup
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - str
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - p_malloc
        - strlen
      functionUses:    29
      BranchProfiles:
        - Branch String:   'strfuncs.c:53,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:54,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:56,15'
              BranchSideFuncs:
                - strlen
                - p_malloc.3879
      Callsites:
        - Src:             'strfuncs.c:56,8'
          Dst:             strlen
        - Src:             'strfuncs.c:57,8'
          Dst:             p_malloc
    - functionName:    split_str_fast
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 788
      functionLinenumberEnd: 818
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - pool
        - data
        - sep
      BBCount:         20
      ICount:          161
      EdgeCount:       23
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - malloc_multiply_check
        - nearest_power
        - p_malloc
        - p_realloc
        - p_strdup
        - strchr
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strfuncs.c:792,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:793,10'
              BranchSideFuncs:
                - malloc_multiply_check.3876
                - p_malloc.3879
            - BranchSide:      'strfuncs.c:795,17'
              BranchSideFuncs:
                - p_strdup
                - malloc_multiply_check.3876
                - p_malloc.3879
                - strchr
                - i_panic
                - i_panic
                - nearest_power
                - p_realloc.3874
        - Branch String:   'strfuncs.c:801,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:803,7'
              BranchSideFuncs:
                - strchr
                - i_panic
                - i_panic
                - nearest_power
                - p_realloc.3874
            - BranchSide:      'strfuncs.c:814,2'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'strfuncs.c:803,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:804,36'
              BranchSideFuncs:
                - nearest_power
                - p_realloc.3874
                - strchr
                - i_panic
                - i_panic
            - BranchSide:      'strfuncs.c:811,7'
              BranchSideFuncs:
                - strchr
                - i_panic
                - i_panic
                - nearest_power
                - p_realloc.3874
        - Branch String:   'strfuncs.c:814,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:814,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:815,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'strfuncs.c:815,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:815,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:817,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:793,10'
          Dst:             malloc_multiply_check
        - Src:             'strfuncs.c:793,10'
          Dst:             p_malloc
        - Src:             'strfuncs.c:795,8'
          Dst:             p_strdup
        - Src:             'strfuncs.c:798,10'
          Dst:             malloc_multiply_check
        - Src:             'strfuncs.c:798,10'
          Dst:             p_malloc
        - Src:             'strfuncs.c:801,16'
          Dst:             strchr
        - Src:             'strfuncs.c:804,22'
          Dst:             nearest_power
        - Src:             'strfuncs.c:805,12'
          Dst:             p_realloc
        - Src:             'strfuncs.c:814,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:815,2'
          Dst:             i_panic
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_idx_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
      BBCount:         7
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './array.h:275,2'
          Branch Sides:
            - BranchSide:      './array.h:275,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './array.h:275,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './array.h:275,2'
          Dst:             i_panic
    - functionName:    array_is_created_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    p_array_const_string_join
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 994
      functionLinenumberEnd: 999
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - arr
        - separator
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - array_count_i
        - array_idx_i
        - array_is_created_i
        - p_strarray_join_n
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strfuncs.c:995,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:995,6'
              BranchSideFuncs:
                - array_idx_i.3887
                - array_count_i.3886
                - p_strarray_join_n
            - BranchSide:      'strfuncs.c:996,3'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:995,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:996,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:997,27'
              BranchSideFuncs:
                - array_idx_i.3887
                - array_count_i.3886
                - p_strarray_join_n
      Callsites:
        - Src:             'strfuncs.c:995,6'
          Dst:             array_is_created_i
        - Src:             'strfuncs.c:997,33'
          Dst:             array_idx_i
        - Src:             'strfuncs.c:997,51'
          Dst:             array_count_i
        - Src:             'strfuncs.c:997,9'
          Dst:             p_strarray_join_n
    - functionName:    p_strarray_join_n
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 876
      functionLinenumberEnd: 907
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - arr
        - arr_len
        - separator
      BBCount:         16
      ICount:          162
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - nearest_power
        - p_memdup
        - strlen
        - t_buffer_alloc
        - t_buffer_get
        - t_buffer_reget
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strfuncs.c:886,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:887,16'
              BranchSideFuncs:
                - strlen
                - p_memdup
                - t_buffer_alloc
                - nearest_power
                - t_buffer_reget
            - BranchSide:      'strfuncs.c:902,2'
              BranchSideFuncs:
                - p_memdup
                - t_buffer_alloc
        - Branch String:   'strfuncs.c:889,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:890,30'
              BranchSideFuncs:
                - nearest_power
                - t_buffer_reget
                - p_memdup
                - t_buffer_alloc
                - strlen
            - BranchSide:      'strfuncs.c:894,7'
              BranchSideFuncs:
                - p_memdup
                - t_buffer_alloc
                - strlen
                - nearest_power
                - t_buffer_reget
        - Branch String:   'strfuncs.c:894,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:895,11'
              BranchSideFuncs:
                - p_memdup
                - t_buffer_alloc
                - strlen
                - nearest_power
                - t_buffer_reget
            - BranchSide:      'strfuncs.c:899,10'
              BranchSideFuncs:
                - p_memdup
                - t_buffer_alloc
                - strlen
                - nearest_power
                - t_buffer_reget
        - Branch String:   'strfuncs.c:903,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:904,19'
              BranchSideFuncs:
                - t_buffer_alloc
            - BranchSide:      'strfuncs.c:905,17'
              BranchSideFuncs:
                - t_buffer_alloc
      Callsites:
        - Src:             'strfuncs.c:881,12'
          Dst:             strlen
        - Src:             'strfuncs.c:883,8'
          Dst:             t_buffer_get
        - Src:             'strfuncs.c:887,9'
          Dst:             strlen
        - Src:             'strfuncs.c:890,16'
          Dst:             nearest_power
        - Src:             'strfuncs.c:891,10'
          Dst:             t_buffer_reget
        - Src:             'strfuncs.c:904,10'
          Dst:             p_memdup
        - Src:             'strfuncs.c:905,2'
          Dst:             t_buffer_alloc
    - functionName:    p_memdup
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - data
        - size
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:66,8'
          Dst:             p_malloc
    - functionName:    dec2str_buf
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 978
      functionLinenumberEnd: 989
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - buffer
        - number
      BBCount:         14
      ICount:          88
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strfuncs.c:986,23'
          Branch Sides:
            - BranchSide:      'strfuncs.c:986,26'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:986,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'strfuncs.c:986,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:984,20'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:988,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'strfuncs.c:988,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:988,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:988,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:988,2'
          Dst:             i_panic
    - functionName:    dec2str
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 973
      functionLinenumberEnd: 974
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - number
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dec2str_buf
        - t_malloc_no0
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:974,21'
          Dst:             t_malloc_no0
        - Src:             'strfuncs.c:974,9'
          Dst:             dec2str_buf
    - functionName:    p_strarray_dup
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 950
      functionLinenumberEnd: 969
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - arr
      BBCount:         15
      ICount:          137
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - p_malloc
        - strlen
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:957,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:958,41'
              BranchSideFuncs:
                - strlen
                - p_malloc.3879
                - i_panic
                - strlen
            - BranchSide:      'strfuncs.c:960,17'
              BranchSideFuncs:
                - p_malloc.3879
                - i_panic
                - strlen
        - Branch String:   'strfuncs.c:962,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:963,16'
              BranchSideFuncs:
                - strlen
                - i_panic
            - BranchSide:      'strfuncs.c:968,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'strfuncs.c:968,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:968,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:968,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:958,34'
          Dst:             strlen
        - Src:             'strfuncs.c:960,8'
          Dst:             p_malloc
        - Src:             'strfuncs.c:963,9'
          Dst:             strlen
        - Src:             'strfuncs.c:968,2'
          Dst:             i_panic
    - functionName:    str_array_icase_find
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 941
      functionLinenumberEnd: 947
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - arr
        - value
      BBCount:         10
      ICount:          49
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - strcasecmp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:942,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:943,19'
              BranchSideFuncs:
                - strcasecmp
            - BranchSide:      'strfuncs.c:946,2'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:943,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:944,4'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:945,2'
              BranchSideFuncs:
                - strcasecmp
      Callsites:
        - Src:             'strfuncs.c:943,7'
          Dst:             strcasecmp
    - functionName:    str_array_find
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 932
      functionLinenumberEnd: 938
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - arr
        - value
      BBCount:         10
      ICount:          49
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:933,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:934,15'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'strfuncs.c:937,2'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:934,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:935,4'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:936,2'
              BranchSideFuncs:
                - strcmp
      Callsites:
        - Src:             'strfuncs.c:934,7'
          Dst:             strcmp
    - functionName:    str_array_remove
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 916
      functionLinenumberEnd: 929
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - arr
        - value
      BBCount:         14
      ICount:          78
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:919,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:920,15'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'strfuncs.c:928,2'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:920,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:922,16'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:927,2'
              BranchSideFuncs:
                - strcmp
        - Branch String:   'strfuncs.c:922,4'
          Branch Sides:
            - BranchSide:      'strfuncs.c:923,14'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:924,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:920,7'
          Dst:             strcmp
    - functionName:    t_strarray_join
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 910
      functionLinenumberEnd: 912
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - arr
        - separator
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_strarray_join_n
        - str_array_length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:912,6'
          Dst:             str_array_length
        - Src:             'strfuncs.c:911,9'
          Dst:             p_strarray_join_n
    - functionName:    str_array_length
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 861
      functionLinenumberEnd: 871
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - arr
      BBCount:         8
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strfuncs.c:864,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:865,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:867,13'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:867,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:868,8'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:870,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    p_strsplit_free
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 855
      functionLinenumberEnd: 858
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - arr
      BBCount:         7
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:856,2'
          Dst:             p_free_internal
        - Src:             'strfuncs.c:857,2'
          Dst:             p_free_internal
    - functionName:    p_strsplit_spaces
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 850
      functionLinenumberEnd: 851
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - data
        - separators
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - split_str
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:851,9'
          Dst:             split_str
    - functionName:    split_str
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 822
      functionLinenumberEnd: 829
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - pool
        - data
        - separators
        - spaces
      BBCount:         13
      ICount:          82
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - split_str_fast
        - split_str_slow
      functionUses:    4
      BranchProfiles:
        - Branch String:   'strfuncs.c:823,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:823,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:825,6'
              BranchSideFuncs:
                - split_str_slow
                - split_str_fast
        - Branch String:   'strfuncs.c:825,28'
          Branch Sides:
            - BranchSide:      'strfuncs.c:825,32'
              BranchSideFuncs:
                - split_str_fast
                - split_str_slow
            - BranchSide:      'strfuncs.c:828,25'
              BranchSideFuncs:
                - split_str_slow
        - Branch String:   'strfuncs.c:825,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:826,25'
              BranchSideFuncs:
                - split_str_slow
            - BranchSide:      'strfuncs.c:828,25'
              BranchSideFuncs:
                - split_str_slow
      Callsites:
        - Src:             'strfuncs.c:823,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:826,10'
          Dst:             split_str_fast
        - Src:             'strfuncs.c:828,10'
          Dst:             split_str_slow
    - functionName:    p_strsplit
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 844
      functionLinenumberEnd: 845
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - data
        - separators
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - split_str
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:845,9'
          Dst:             split_str
    - functionName:    t_strsplit_spaces
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 838
      functionLinenumberEnd: 840
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - separators
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - split_str
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:839,24'
          Dst:             split_str
    - functionName:    t_strsplit
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 832
      functionLinenumberEnd: 834
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - separators
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - split_str
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:833,24'
          Dst:             split_str
    - functionName:    t_split_key_value
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 719
      functionLinenumberEnd: 728
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - arg
        - separator
        - key_r
        - value_r
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strchr
        - t_strdup_until
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:720,13'
          Branch Sides:
            - BranchSide:      'strfuncs.c:720,3'
              BranchSideFuncs:
                - t_strdup_until
            - BranchSide:      'strfuncs.c:720,41'
              BranchSideFuncs:
                - strchr
                - t_strdup_until
        - Branch String:   'strfuncs.c:721,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:722,27'
              BranchSideFuncs:
                - t_strdup_until
            - BranchSide:      'strfuncs.c:725,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:720,34'
          Dst:             strchr
        - Src:             'strfuncs.c:722,12'
          Dst:             t_strdup_until
    - functionName:    t_strdup_until
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 272
      functionLinenumberEnd: 283
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - start
        - end
      BBCount:         7
      ICount:          60
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - t_malloc_no0
      functionUses:    11
      BranchProfiles:
        - Branch String:   'strfuncs.c:276,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:276,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:276,2'
              BranchSideFuncs:
                - t_malloc_no0
      Callsites:
        - Src:             'strfuncs.c:276,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:280,8'
          Dst:             t_malloc_no0
    - functionName:    i_memcspn
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 715
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - data
        - data_len
        - reject
        - reject_len
      BBCount:         32
      ICount:          177
      EdgeCount:       39
      CyclomaticComplexity: 9
      functionsReached:
        - i_panic
        - memchr
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:700,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:700,2'
              BranchSideFuncs:
                - memchr
                - i_panic
                - i_panic
            - BranchSide:      'strfuncs.c:700,2'
              BranchSideFuncs:
                - memchr
                - i_panic
                - i_panic
        - Branch String:   'strfuncs.c:700,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:700,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:701,2'
              BranchSideFuncs:
                - memchr
                - i_panic
        - Branch String:   'strfuncs.c:701,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:701,2'
              BranchSideFuncs:
                - memchr
                - i_panic
            - BranchSide:      'strfuncs.c:701,2'
              BranchSideFuncs:
                - memchr
                - i_panic
        - Branch String:   'strfuncs.c:701,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:701,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:703,6'
              BranchSideFuncs:
                - memchr
        - Branch String:   'strfuncs.c:703,22'
          Branch Sides:
            - BranchSide:      'strfuncs.c:703,25'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:704,10'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:703,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:704,10'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:708,14'
              BranchSideFuncs:
                - memchr
        - Branch String:   'strfuncs.c:708,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:710,11'
              BranchSideFuncs:
                - memchr
            - BranchSide:      'strfuncs.c:714,9'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:711,20'
          Branch Sides:
            - BranchSide:      'strfuncs.c:711,23'
              BranchSideFuncs:
                - memchr
            - BranchSide:      'strfuncs.c:713,2'
              BranchSideFuncs:
                - memchr
        - Branch String:   'strfuncs.c:711,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:712,10'
              BranchSideFuncs:
                - memchr
            - BranchSide:      'strfuncs.c:713,2'
              BranchSideFuncs:
                - memchr
      Callsites:
        - Src:             'strfuncs.c:700,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:701,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:710,4'
          Dst:             memchr
    - functionName:    i_memspn
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 679
      functionLinenumberEnd: 692
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - data
        - data_len
        - accept
        - accept_len
      BBCount:         27
      ICount:          134
      EdgeCount:       32
      CyclomaticComplexity: 7
      functionsReached:
        - i_panic
        - memchr
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:681,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:681,2'
              BranchSideFuncs:
                - memchr
                - i_panic
                - i_panic
            - BranchSide:      'strfuncs.c:681,2'
              BranchSideFuncs:
                - memchr
                - i_panic
                - i_panic
        - Branch String:   'strfuncs.c:681,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:681,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:682,2'
              BranchSideFuncs:
                - memchr
                - i_panic
        - Branch String:   'strfuncs.c:682,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:682,2'
              BranchSideFuncs:
                - memchr
                - i_panic
            - BranchSide:      'strfuncs.c:682,2'
              BranchSideFuncs:
                - memchr
                - i_panic
        - Branch String:   'strfuncs.c:682,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:682,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:683,9'
              BranchSideFuncs:
                - memchr
        - Branch String:   'strfuncs.c:685,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:686,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:687,2'
              BranchSideFuncs:
                - memchr
        - Branch String:   'strfuncs.c:687,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:688,14'
              BranchSideFuncs:
                - memchr
            - BranchSide:      'strfuncs.c:691,9'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:688,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:689,4'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:690,2'
              BranchSideFuncs:
                - memchr
      Callsites:
        - Src:             'strfuncs.c:681,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:682,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:688,7'
          Dst:             memchr
    - functionName:    str_begins_icase
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 675
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - haystack
        - needle
        - suffix_r
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - str_match_icase
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strfuncs.c:671,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:672,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:673,14'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:670,22'
          Dst:             str_match_icase
    - functionName:    str_match_icase
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 647
      functionLinenumberEnd: 653
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - p1
        - p2
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - tolower
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strfuncs.c:650,23'
          Branch Sides:
            - BranchSide:      'strfuncs.c:650,26'
              BranchSideFuncs:
                - tolower
                - tolower
            - BranchSide:      'strfuncs.c:650,2'
              BranchSideFuncs:
                - tolower
                - tolower
        - Branch String:   'strfuncs.c:650,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:651,4'
              BranchSideFuncs:
                - tolower
                - tolower
            - BranchSide:      'strfuncs.c:653,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:650,26'
          Dst:             tolower
        - Src:             'strfuncs.c:650,46'
          Dst:             tolower
    - functionName:    str_begins
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 658
      functionLinenumberEnd: 664
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - haystack
        - needle
        - suffix_r
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - str_match
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strfuncs.c:660,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:661,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:662,14'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:659,22'
          Dst:             str_match
    - functionName:    str_match
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 637
      functionLinenumberEnd: 643
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - p1
        - p2
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'strfuncs.c:640,22'
          Branch Sides:
            - BranchSide:      'strfuncs.c:640,25'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:640,2'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:640,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:641,4'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:643,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    str_equals_timing_almost_safe
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 632
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - s1
        - s2
      BBCount:         8
      ICount:          86
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:625,28'
          Branch Sides:
            - BranchSide:      'strfuncs.c:625,31'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:625,2'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:625,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:626,10'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:627,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    mem_equals_timing_safe
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 606
      functionLinenumberEnd: 617
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - p1
        - p2
        - size
      BBCount:         5
      ICount:          63
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:611,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:612,10'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:616,33'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_strcasecmp_p
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 601
      functionLinenumberEnd: 602
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - p1
        - p2
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strcasecmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:602,9'
          Dst:             strcasecmp
    - functionName:    i_strcmp_p
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 597
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - p1
        - p2
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:597,9'
          Dst:             strcmp
    - functionName:    i_memcasecmp
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 593
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - p1
        - p2
        - size
      BBCount:         9
      ICount:          78
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - toupper
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:584,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:585,9'
              BranchSideFuncs:
                - toupper
                - toupper
            - BranchSide:      'strfuncs.c:592,2'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:586,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:587,11'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:589,5'
              BranchSideFuncs:
                - toupper
                - toupper
      Callsites:
        - Src:             'strfuncs.c:585,9'
          Dst:             toupper
        - Src:             'strfuncs.c:585,26'
          Dst:             toupper
    - functionName:    toupper
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    null_strcasecmp
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 569
      functionLinenumberEnd: 576
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - s1
        - s2
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strcasecmp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:570,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:571,10'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:572,6'
              BranchSideFuncs:
                - strcasecmp
        - Branch String:   'strfuncs.c:572,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:573,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:575,20'
              BranchSideFuncs:
                - strcasecmp
      Callsites:
        - Src:             'strfuncs.c:575,9'
          Dst:             strcasecmp
    - functionName:    null_strcmp
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 559
      functionLinenumberEnd: 566
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - s1
        - s2
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strfuncs.c:560,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:561,10'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:562,6'
              BranchSideFuncs:
                - strcmp
        - Branch String:   'strfuncs.c:562,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:563,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:565,16'
              BranchSideFuncs:
                - strcmp
      Callsites:
        - Src:             'strfuncs.c:565,9'
          Dst:             strcmp
    - functionName:    p_str_rtrim
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 549
      functionLinenumberEnd: 556
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - str
        - chars
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - p_strdup_until
        - str_trim_parse
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:553,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:554,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:555,24'
              BranchSideFuncs:
                - p_strdup_until
      Callsites:
        - Src:             'strfuncs.c:552,2'
          Dst:             str_trim_parse
        - Src:             'strfuncs.c:555,9'
          Dst:             p_strdup_until
    - functionName:    str_trim_parse
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - chars
        - sides
        - begin_r
        - end_r
      BBCount:         28
      ICount:          165
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - strchr
        - strlen
      functionUses:    5
      BranchProfiles:
        - Branch String:   'strfuncs.c:471,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:472,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:474,6'
              BranchSideFuncs:
                - strchr
                - strchr
        - Branch String:   'strfuncs.c:475,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:476,3'
              BranchSideFuncs:
                - strchr
                - strchr
            - BranchSide:      'strfuncs.c:481,10'
              BranchSideFuncs:
                - strchr
        - Branch String:   'strfuncs.c:476,19'
          Branch Sides:
            - BranchSide:      'strfuncs.c:476,29'
              BranchSideFuncs:
                - strchr
                - strchr
            - BranchSide:      'strfuncs.c:476,3'
              BranchSideFuncs:
                - strchr
                - strchr
        - Branch String:   'strfuncs.c:476,3'
          Branch Sides:
            - BranchSide:      'strfuncs.c:477,5'
              BranchSideFuncs:
                - strchr
                - strchr
            - BranchSide:      'strfuncs.c:478,7'
              BranchSideFuncs:
                - strchr
        - Branch String:   'strfuncs.c:478,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:479,4'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:480,2'
              BranchSideFuncs:
                - strchr
        - Branch String:   'strfuncs.c:484,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:485,3'
              BranchSideFuncs:
                - strchr
            - BranchSide:      'strfuncs.c:490,8'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:485,20'
          Branch Sides:
            - BranchSide:      'strfuncs.c:485,30'
              BranchSideFuncs:
                - strchr
            - BranchSide:      'strfuncs.c:485,3'
              BranchSideFuncs:
                - strchr
        - Branch String:   'strfuncs.c:485,3'
          Branch Sides:
            - BranchSide:      'strfuncs.c:486,5'
              BranchSideFuncs:
                - strchr
            - BranchSide:      'strfuncs.c:487,7'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:487,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:488,4'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:489,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:470,15'
          Dst:             strlen
        - Src:             'strfuncs.c:476,22'
          Dst:             strchr
        - Src:             'strfuncs.c:485,23'
          Dst:             strchr
    - functionName:    p_strdup_until
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - start
        - end
      BBCount:         7
      ICount:          60
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - p_malloc
      functionUses:    4
      BranchProfiles:
        - Branch String:   'strfuncs.c:84,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:84,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:84,2'
              BranchSideFuncs:
                - p_malloc.3879
      Callsites:
        - Src:             'strfuncs.c:84,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:88,8'
          Dst:             p_malloc
    - functionName:    t_str_rtrim
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 539
      functionLinenumberEnd: 546
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - chars
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - str_trim_parse
        - t_strdup_until
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:543,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:544,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:545,24'
              BranchSideFuncs:
                - t_strdup_until
      Callsites:
        - Src:             'strfuncs.c:542,2'
          Dst:             str_trim_parse
        - Src:             'strfuncs.c:545,9'
          Dst:             t_strdup_until
    - functionName:    p_str_ltrim
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 534
      functionLinenumberEnd: 535
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - str
        - chars
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_strdup
        - str_ltrim
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:535,24'
          Dst:             str_ltrim
        - Src:             'strfuncs.c:535,9'
          Dst:             p_strdup
    - functionName:    str_ltrim
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 519
      functionLinenumberEnd: 526
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - chars
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - str_trim_parse
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strfuncs.c:523,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:524,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:525,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:522,2'
          Dst:             str_trim_parse
    - functionName:    t_str_ltrim
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 529
      functionLinenumberEnd: 530
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - chars
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_ltrim
        - t_strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:530,18'
          Dst:             str_ltrim
        - Src:             'strfuncs.c:530,9'
          Dst:             t_strdup
    - functionName:    t_strdup
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_strdup_noconst
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:253,9'
          Dst:             t_strdup_noconst
    - functionName:    t_strdup_noconst
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
        - t_memdup_noconst
      functionUses:    6
      BranchProfiles:
        - Branch String:   'strfuncs.c:258,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:259,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:260,26'
              BranchSideFuncs:
                - strlen
                - t_memdup_noconst
      Callsites:
        - Src:             'strfuncs.c:260,31'
          Dst:             strlen
        - Src:             'strfuncs.c:260,9'
          Dst:             t_memdup_noconst
    - functionName:    t_memdup_noconst
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - data
        - size
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_malloc_no0
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:241,14'
          Dst:             t_malloc_no0
    - functionName:    p_str_trim
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 508
      functionLinenumberEnd: 516
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - str
        - chars
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - p_strdup_until
        - str_trim_parse
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:513,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:514,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:515,24'
              BranchSideFuncs:
                - p_strdup_until
      Callsites:
        - Src:             'strfuncs.c:511,2'
          Dst:             str_trim_parse
        - Src:             'strfuncs.c:515,9'
          Dst:             p_strdup_until
    - functionName:    t_str_trim
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 505
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - chars
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - str_trim_parse
        - t_strdup_until
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:502,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:503,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:504,24'
              BranchSideFuncs:
                - t_strdup_until
      Callsites:
        - Src:             'strfuncs.c:500,2'
          Dst:             str_trim_parse
        - Src:             'strfuncs.c:504,9'
          Dst:             t_strdup_until
    - functionName:    i_strstr_arr
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 454
      functionLinenumberEnd: 460
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - haystack
        - needles
      BBCount:         10
      ICount:          52
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - strstr
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:456,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:457,21'
              BranchSideFuncs:
                - strstr
            - BranchSide:      'strfuncs.c:459,2'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:457,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:457,45'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:458,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:457,14'
          Dst:             strstr
    - functionName:    t_str_ucase
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 447
      functionLinenumberEnd: 450
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         7
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - str_ucase
        - t_strdup_noconst
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:448,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:448,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:448,2'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_ucase
      Callsites:
        - Src:             'strfuncs.c:448,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:450,19'
          Dst:             t_strdup_noconst
        - Src:             'strfuncs.c:450,9'
          Dst:             str_ucase
    - functionName:    str_ucase
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 422
      functionLinenumberEnd: 427
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - toupper
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strfuncs.c:425,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:426,8'
              BranchSideFuncs:
                - toupper
            - BranchSide:      'strfuncs.c:427,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:426,8'
          Dst:             toupper
    - functionName:    t_str_lcase
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 443
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         7
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - str_lcase
        - t_strdup_noconst
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:441,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:441,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:441,2'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_lcase
      Callsites:
        - Src:             'strfuncs.c:441,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:443,19'
          Dst:             t_strdup_noconst
        - Src:             'strfuncs.c:443,9'
          Dst:             str_lcase
    - functionName:    str_lcase
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 431
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - tolower
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strfuncs.c:434,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:435,8'
              BranchSideFuncs:
                - tolower
            - BranchSide:      'strfuncs.c:436,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:435,8'
          Dst:             tolower
    - functionName:    i_strocpy
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - dstsize
      BBCount:         10
      ICount:          73
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strfuncs.c:409,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:410,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:412,2'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:412,22'
          Branch Sides:
            - BranchSide:      'strfuncs.c:412,25'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:412,2'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:412,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:413,17'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:417,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    str_truncate
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - len
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_set_used_size
        - str_len
      functionUses:    1
      BranchProfiles:
        - Branch String:   './str.h:90,6'
          Branch Sides:
            - BranchSide:      './str.h:90,6'
              BranchSideFuncs:
                - buffer_set_used_size
            - BranchSide:      './str.h:91,24'
              BranchSideFuncs:
                - buffer_set_used_size
      Callsites:
        - Src:             './str.h:90,6'
          Dst:             str_len
        - Src:             './str.h:91,3'
          Dst:             buffer_set_used_size
    - functionName:    str_len
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_append_c
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - str
        - chr
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_c
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:44,2'
          Dst:             buffer_append_c
    - functionName:    str_append_data
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - data
        - len
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:39,2'
          Dst:             buffer_append
    - functionName:    t_str_oneline
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 359
      functionLinenumberEnd: 405
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         31
      ICount:          185
      EdgeCount:       38
      CyclomaticComplexity: 9
      functionsReached:
        - str_append_c
        - str_append_data
        - str_c
        - str_len
        - str_truncate
        - strlen
        - strpbrk
        - t_str_new
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:365,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:366,10'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:368,15'
              BranchSideFuncs:
                - strlen
                - t_str_new
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_len.3935
                - str_truncate.3934
                - str_append_c.3936
                - str_append_data.3937
                - str_append_data.3937
        - Branch String:   'strfuncs.c:373,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:374,12'
              BranchSideFuncs:
                - str_append_c.3936
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_len.3935
                - str_truncate.3934
                - str_append_data.3937
                - str_append_data.3937
            - BranchSide:      'strfuncs.c:400,6'
              BranchSideFuncs:
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_len.3935
                - str_truncate.3934
        - Branch String:   'strfuncs.c:374,3'
          Branch Sides:
            - BranchSide:      'strfuncs.c:376,8'
              BranchSideFuncs:
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_len.3935
                - str_truncate.3934
                - str_append_c.3936
                - str_append_data.3937
                - str_append_data.3937
            - BranchSide:      'strfuncs.c:382,8'
              BranchSideFuncs:
                - str_append_c.3936
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_len.3935
                - str_truncate.3934
                - str_append_data.3937
                - str_append_data.3937
            - BranchSide:      'strfuncs.c:394,13'
              BranchSideFuncs:
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_len.3935
                - str_truncate.3934
                - str_append_c.3936
                - str_append_data.3937
                - str_append_data.3937
        - Branch String:   'strfuncs.c:376,8'
          Branch Sides:
            - BranchSide:      'strfuncs.c:377,21'
              BranchSideFuncs:
                - str_append_data.3937
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_len.3935
                - str_truncate.3934
                - str_append_c.3936
                - str_append_data.3937
            - BranchSide:      'strfuncs.c:379,11'
              BranchSideFuncs:
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_len.3935
                - str_truncate.3934
                - str_append_c.3936
                - str_append_data.3937
                - str_append_data.3937
        - Branch String:   'strfuncs.c:382,8'
          Branch Sides:
            - BranchSide:      'strfuncs.c:383,21'
              BranchSideFuncs:
                - str_append_data.3937
                - str_append_c.3936
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_len.3935
                - str_truncate.3934
                - str_append_data.3937
            - BranchSide:      'strfuncs.c:384,8'
              BranchSideFuncs:
                - str_append_c.3936
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_len.3935
                - str_truncate.3934
                - str_append_data.3937
                - str_append_data.3937
        - Branch String:   'strfuncs.c:384,8'
          Branch Sides:
            - BranchSide:      'strfuncs.c:386,4'
              BranchSideFuncs:
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_len.3935
                - str_truncate.3934
                - str_append_c.3936
                - str_append_data.3937
                - str_append_data.3937
            - BranchSide:      'strfuncs.c:388,5'
              BranchSideFuncs:
                - str_append_c.3936
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_len.3935
                - str_truncate.3934
                - str_append_data.3937
                - str_append_data.3937
        - Branch String:   'strfuncs.c:400,15'
          Branch Sides:
            - BranchSide:      'strfuncs.c:400,26'
              BranchSideFuncs:
                - str_len.3935
                - str_c
                - str_append_data.3937
                - str_len.3935
                - str_truncate.3934
            - BranchSide:      'strfuncs.c:402,11'
              BranchSideFuncs:
                - str_c
                - str_append_data.3937
        - Branch String:   'strfuncs.c:400,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:401,16'
              BranchSideFuncs:
                - str_len.3935
                - str_truncate.3934
                - str_c
            - BranchSide:      'strfuncs.c:402,11'
              BranchSideFuncs:
                - str_c
                - str_append_data.3937
      Callsites:
        - Src:             'strfuncs.c:365,6'
          Dst:             strpbrk
        - Src:             'strfuncs.c:368,8'
          Dst:             strlen
        - Src:             'strfuncs.c:369,8'
          Dst:             t_str_new
        - Src:             'strfuncs.c:377,5'
          Dst:             str_append_data
        - Src:             'strfuncs.c:383,5'
          Dst:             str_append_data
        - Src:             'strfuncs.c:388,5'
          Dst:             str_append_c
        - Src:             'strfuncs.c:400,18'
          Dst:             str_len
        - Src:             'strfuncs.c:401,21'
          Dst:             str_len
        - Src:             'strfuncs.c:401,3'
          Dst:             str_truncate
        - Src:             'strfuncs.c:403,3'
          Dst:             str_append_data
        - Src:             'strfuncs.c:404,9'
          Dst:             str_c
    - functionName:    t_str_replace
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 339
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - str
        - from
        - to
      BBCount:         13
      ICount:          103
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - strchr
        - strlen
        - t_malloc_no0
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strfuncs.c:343,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:344,10'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:346,15'
              BranchSideFuncs:
                - strlen
                - t_malloc_no0
        - Branch String:   'strfuncs.c:348,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:349,7'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:354,2'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:349,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:350,13'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:352,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:343,6'
          Dst:             strchr
        - Src:             'strfuncs.c:346,8'
          Dst:             strlen
        - Src:             'strfuncs.c:347,8'
          Dst:             t_malloc_no0
    - functionName:    t_strcut
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - str
        - cutchar
      BBCount:         10
      ICount:          60
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - t_strdup_until
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:330,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:331,8'
              BranchSideFuncs:
                - t_strdup_until
            - BranchSide:      'strfuncs.c:335,9'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:331,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:332,26'
              BranchSideFuncs:
                - t_strdup_until
            - BranchSide:      'strfuncs.c:333,2'
              BranchSideFuncs:
                - t_strdup_until
      Callsites:
        - Src:             'strfuncs.c:332,11'
          Dst:             t_strdup_until
    - functionName:    t_strconcat
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str1
      BBCount:         7
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - t_buffer_alloc
        - vstrconcat
      functionUses:    12
      BranchProfiles:
        - Branch String:   'strfuncs.c:315,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:315,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:315,2'
              BranchSideFuncs:
                - vstrconcat
                - t_buffer_alloc
      Callsites:
        - Src:             'strfuncs.c:315,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:319,8'
          Dst:             vstrconcat
        - Src:             'strfuncs.c:320,2'
          Dst:             t_buffer_alloc
    - functionName:    vstrconcat
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str1
        - args
        - ret_len
      BBCount:         21
      ICount:          157
      EdgeCount:       24
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
        - nearest_power
        - strlen
        - t_buffer_get
        - t_buffer_reget
      functionUses:    4
      BranchProfiles:
        - Branch String:   'strfuncs.c:187,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:187,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:189,8'
              BranchSideFuncs:
                - t_buffer_get
                - strlen
                - i_panic
                - nearest_power
                - t_buffer_reget
        - Branch String:   'strfuncs.c:197,7'
          Branch Sides:
            - BranchSide:      'strfuncs.c:199,28'
              BranchSideFuncs:
                - nearest_power
                - t_buffer_reget
                - i_panic
                - strlen
            - BranchSide:      'strfuncs.c:203,10'
              BranchSideFuncs:
                - i_panic
                - strlen
                - nearest_power
                - t_buffer_reget
        - Branch String:   'strfuncs.c:206,9'
          Branch Sides:
            - BranchSide:      'strfuncs.c:207,11'
              BranchSideFuncs:
                - i_panic
                - strlen
                - nearest_power
                - t_buffer_reget
            - BranchSide:      'strfuncs.c:207,11'
              BranchSideFuncs:
                - i_panic
                - strlen
                - nearest_power
                - t_buffer_reget
        - Branch String:   'strfuncs.c:207,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:195,16'
              BranchSideFuncs:
                - strlen
                - i_panic
                - nearest_power
                - t_buffer_reget
            - BranchSide:      'strfuncs.c:209,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'strfuncs.c:209,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:209,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:209,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:187,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:191,9'
          Dst:             t_buffer_get
        - Src:             'strfuncs.c:195,9'
          Dst:             strlen
        - Src:             'strfuncs.c:199,14'
          Dst:             nearest_power
        - Src:             'strfuncs.c:200,11'
          Dst:             t_buffer_reget
        - Src:             'strfuncs.c:209,2'
          Dst:             i_panic
    - functionName:    t_strdup_vprintf
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 305
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
        - args
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_strdup_vprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:306,9'
          Dst:             p_strdup_vprintf
    - functionName:    p_strdup_vprintf
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - format
        - args
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - p_malloc
        - t_buffer_alloc
        - t_noalloc_strdup_vprintf
      functionUses:    5
      BranchProfiles:
        - Branch String:   'strfuncs.c:171,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:172,18'
              BranchSideFuncs:
                - t_buffer_alloc
            - BranchSide:      'strfuncs.c:175,18'
              BranchSideFuncs:
                - p_malloc.3879
      Callsites:
        - Src:             'strfuncs.c:170,8'
          Dst:             t_noalloc_strdup_vprintf
        - Src:             'strfuncs.c:172,3'
          Dst:             t_buffer_alloc
        - Src:             'strfuncs.c:175,9'
          Dst:             p_malloc
    - functionName:    t_noalloc_strdup_vprintf
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
        - args
        - size_r
      BBCount:         14
      ICount:          117
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - printf_format_fix_get_len
        - t_buffer_get
        - vsnprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strfuncs.c:147,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:147,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:149,12'
              BranchSideFuncs:
                - t_buffer_get
                - vsnprintf
                - i_panic
        - Branch String:   'strfuncs.c:150,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:150,6'
              BranchSideFuncs:
                - t_buffer_get
                - vsnprintf
                - i_panic
            - BranchSide:      'strfuncs.c:153,23'
              BranchSideFuncs:
                - t_buffer_get
                - vsnprintf
                - i_panic
        - Branch String:   'strfuncs.c:155,3'
          Branch Sides:
            - BranchSide:      'strfuncs.c:155,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:156,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:142,11'
          Dst:             printf_format_fix_get_len
        - Src:             'strfuncs.c:145,8'
          Dst:             t_buffer_get
        - Src:             'strfuncs.c:146,8'
          Dst:             vsnprintf
        - Src:             'strfuncs.c:147,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:153,9'
          Dst:             t_buffer_get
        - Src:             'strfuncs.c:154,9'
          Dst:             vsnprintf
        - Src:             'strfuncs.c:155,3'
          Dst:             i_panic
    - functionName:    t_strdup_printf
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - format
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_strdup_vprintf
      functionUses:    46
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:298,8'
          Dst:             p_strdup_vprintf
    - functionName:    t_strndup
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 287
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - max_chars
      BBCount:         7
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - p_strndup
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strfuncs.c:288,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:288,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:288,2'
              BranchSideFuncs:
                - p_strndup
      Callsites:
        - Src:             'strfuncs.c:288,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:289,9'
          Dst:             p_strndup
    - functionName:    p_strndup
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - str
        - max_chars
      BBCount:         14
      ICount:          92
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - memchr
        - p_malloc
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strfuncs.c:99,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:99,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:100,2'
              BranchSideFuncs:
                - memchr
                - p_malloc.3879
                - i_panic
        - Branch String:   'strfuncs.c:100,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:100,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:102,13'
              BranchSideFuncs:
                - memchr
                - p_malloc.3879
        - Branch String:   'strfuncs.c:103,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:104,9'
              BranchSideFuncs:
                - p_malloc.3879
            - BranchSide:      'strfuncs.c:106,9'
              BranchSideFuncs:
                - p_malloc.3879
      Callsites:
        - Src:             'strfuncs.c:99,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:100,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:102,6'
          Dst:             memchr
        - Src:             'strfuncs.c:108,8'
          Dst:             p_malloc
    - functionName:    t_strdup_empty
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         9
      ICount:          42
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - t_strdup
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:265,18'
          Branch Sides:
            - BranchSide:      'strfuncs.c:265,22'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:266,3'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:265,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:266,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:268,18'
              BranchSideFuncs:
                - t_strdup
      Callsites:
        - Src:             'strfuncs.c:268,9'
          Dst:             t_strdup
    - functionName:    t_memdup
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - data
        - size
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_memdup_noconst
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:248,9'
          Dst:             t_memdup_noconst
    - functionName:    p_strconcat
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - str1
      BBCount:         10
      ICount:          79
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - p_malloc
        - t_buffer_alloc
        - vstrconcat
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strfuncs.c:222,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:222,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:224,2'
              BranchSideFuncs:
                - vstrconcat
                - p_malloc.3879
                - vstrconcat
                - t_buffer_alloc
        - Branch String:   'strfuncs.c:226,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:227,20'
              BranchSideFuncs:
                - vstrconcat
                - t_buffer_alloc
            - BranchSide:      'strfuncs.c:230,21'
              BranchSideFuncs:
                - vstrconcat
                - p_malloc.3879
      Callsites:
        - Src:             'strfuncs.c:222,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:227,9'
          Dst:             vstrconcat
        - Src:             'strfuncs.c:228,3'
          Dst:             t_buffer_alloc
        - Src:             'strfuncs.c:230,10'
          Dst:             vstrconcat
        - Src:             'strfuncs.c:231,9'
          Dst:             p_malloc
    - functionName:    p_strdup_printf
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - format
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - p_strdup_vprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'strfuncs.c:119,8'
          Dst:             p_strdup_vprintf
    - functionName:    p_strdup_empty
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - str
      BBCount:         9
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - p_strdup
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strfuncs.c:73,18'
          Branch Sides:
            - BranchSide:      'strfuncs.c:73,22'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:74,3'
              BranchSideFuncs: []
        - Branch String:   'strfuncs.c:73,6'
          Branch Sides:
            - BranchSide:      'strfuncs.c:74,3'
              BranchSideFuncs: []
            - BranchSide:      'strfuncs.c:76,18'
              BranchSideFuncs:
                - p_strdup
      Callsites:
        - Src:             'strfuncs.c:76,9'
          Dst:             p_strdup
    - functionName:    i_snprintf
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - dest
        - max_chars
        - format
      BBCount:         11
      ICount:          79
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - printf_format_fix_unsafe
        - vsnprintf
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strfuncs.c:37,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:37,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:39,2'
              BranchSideFuncs:
                - printf_format_fix_unsafe
                - vsnprintf
                - i_panic
        - Branch String:   'strfuncs.c:44,2'
          Branch Sides:
            - BranchSide:      'strfuncs.c:44,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'strfuncs.c:44,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strfuncs.c:37,2'
          Dst:             i_panic
        - Src:             'strfuncs.c:40,35'
          Dst:             printf_format_fix_unsafe
        - Src:             'strfuncs.c:40,8'
          Dst:             vsnprintf
        - Src:             'strfuncs.c:44,2'
          Dst:             i_panic
    - functionName:    str_num_error
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 490
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         10
      ICount:          49
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - str_is_numeric
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:481,6'
          Branch Sides:
            - BranchSide:      'strnum.c:482,23'
              BranchSideFuncs:
                - str_is_numeric
            - BranchSide:      'strnum.c:486,23'
              BranchSideFuncs:
                - str_is_numeric
        - Branch String:   'strnum.c:482,7'
          Branch Sides:
            - BranchSide:      'strnum.c:483,4'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:484,3'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:486,7'
          Branch Sides:
            - BranchSide:      'strnum.c:487,4'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:488,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:482,8'
          Dst:             str_is_numeric
        - Src:             'strnum.c:486,8'
          Dst:             str_is_numeric
    - functionName:    str_is_numeric
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 7
      functionLinenumberEnd: 18
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - str
        - end_char
      BBCount:         18
      ICount:          93
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strnum.c:8,19'
          Branch Sides:
            - BranchSide:      'strnum.c:8,23'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:9,3'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:8,6'
          Branch Sides:
            - BranchSide:      'strnum.c:9,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:11,2'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:11,22'
          Branch Sides:
            - BranchSide:      'strnum.c:11,26'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:11,2'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:11,2'
          Branch Sides:
            - BranchSide:      'strnum.c:12,8'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:17,2'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:12,18'
          Branch Sides:
            - BranchSide:      'strnum.c:12,22'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:13,4'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:12,7'
          Branch Sides:
            - BranchSide:      'strnum.c:13,4'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:14,6'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    str_to_double
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strtod
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:468,6'
          Branch Sides:
            - BranchSide:      'strnum.c:469,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:471,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:467,15'
          Dst:             strtod
    - functionName:    strtod
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      double
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_to_float
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 454
      functionLinenumberEnd: 462
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strtof
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:457,6'
          Branch Sides:
            - BranchSide:      'strnum.c:458,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:460,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:456,14'
          Dst:             strtof
    - functionName:    strtof
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      float
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_parse_uoff
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 447
      functionLinenumberEnd: 447
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:447,1'
          Branch Sides:
            - BranchSide:      'strnum.c:447,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:447,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:447,1'
          Branch Sides:
            - BranchSide:      'strnum.c:447,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:447,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:447,1'
          Dst:             str_parse_uintmax
    - functionName:    str_parse_uintmax
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         24
      ICount:          132
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    10
      BranchProfiles:
        - Branch String:   'strnum.c:87,17'
          Branch Sides:
            - BranchSide:      'strnum.c:87,21'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:88,3'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:87,6'
          Branch Sides:
            - BranchSide:      'strnum.c:88,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:90,2'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:91,7'
          Branch Sides:
            - BranchSide:      'strnum.c:92,8'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:97,7'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:92,8'
          Branch Sides:
            - BranchSide:      'strnum.c:93,5'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:94,21'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:94,8'
          Branch Sides:
            - BranchSide:      'strnum.c:95,5'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:96,3'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:99,23'
          Branch Sides:
            - BranchSide:      'strnum.c:99,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:99,2'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:99,2'
          Branch Sides:
            - BranchSide:      'strnum.c:91,7'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:101,6'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:101,6'
          Branch Sides:
            - BranchSide:      'strnum.c:102,13'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:103,11'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    str_to_time
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 437
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - str_to_intmax
      functionUses:    3
      BranchProfiles:
        - Branch String:   'strnum.c:440,6'
          Branch Sides:
            - BranchSide:      'strnum.c:441,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:443,19'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:440,6'
          Dst:             str_to_intmax
    - functionName:    str_to_intmax
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 350
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_intmax
      functionUses:    8
      BranchProfiles:
        - Branch String:   'strnum.c:346,17'
          Branch Sides:
            - BranchSide:      'strnum.c:346,22'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:347,3'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:346,6'
          Branch Sides:
            - BranchSide:      'strnum.c:347,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:348,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:345,12'
          Dst:             str_parse_intmax
    - functionName:    str_parse_intmax
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 340
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         16
      ICount:          95
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - str_parse_uintmax
      functionUses:    6
      BranchProfiles:
        - Branch String:   'strnum.c:323,6'
          Branch Sides:
            - BranchSide:      'strnum.c:324,7'
              BranchSideFuncs:
                - str_parse_uintmax
            - BranchSide:      'strnum.c:327,24'
              BranchSideFuncs:
                - str_parse_uintmax
        - Branch String:   'strnum.c:327,6'
          Branch Sides:
            - BranchSide:      'strnum.c:328,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:330,7'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:330,6'
          Branch Sides:
            - BranchSide:      'strnum.c:331,7'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:335,7'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:331,7'
          Branch Sides:
            - BranchSide:      'strnum.c:332,4'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:333,22'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:335,7'
          Branch Sides:
            - BranchSide:      'strnum.c:336,4'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:337,23'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:327,6'
          Dst:             str_parse_uintmax
    - functionName:    str_to_uoff
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 434
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         8
      ICount:          48
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:427,6'
          Branch Sides:
            - BranchSide:      'strnum.c:428,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:430,6'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:430,6'
          Branch Sides:
            - BranchSide:      'strnum.c:431,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:432,19'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:427,6'
          Dst:             str_to_uintmax
    - functionName:    str_to_uintmax
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax
      functionUses:    13
      BranchProfiles:
        - Branch String:   'strnum.c:111,17'
          Branch Sides:
            - BranchSide:      'strnum.c:111,22'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:112,3'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:111,6'
          Branch Sides:
            - BranchSide:      'strnum.c:112,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:113,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:110,12'
          Dst:             str_parse_uintmax
    - functionName:    str_to_ino
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 421
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax
        - verify_xid
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:414,6'
          Branch Sides:
            - BranchSide:      'strnum.c:415,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:417,17'
              BranchSideFuncs:
                - verify_xid
        - Branch String:   'strnum.c:417,6'
          Branch Sides:
            - BranchSide:      'strnum.c:418,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:419,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:414,6'
          Dst:             str_to_uintmax
        - Src:             'strnum.c:417,6'
          Dst:             verify_xid
    - functionName:    verify_xid
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - int
      constantsTouched: []
      argNames:
        - l
        - result_size
      BBCount:         4
      ICount:          35
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'strnum.c:363,6'
          Branch Sides:
            - BranchSide:      'strnum.c:364,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:365,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    str_to_pid
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 408
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         8
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax
        - verify_xid
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:401,6'
          Branch Sides:
            - BranchSide:      'strnum.c:402,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:404,17'
              BranchSideFuncs:
                - verify_xid
        - Branch String:   'strnum.c:404,6'
          Branch Sides:
            - BranchSide:      'strnum.c:405,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:406,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:401,6'
          Dst:             str_to_uintmax
        - Src:             'strnum.c:404,6'
          Dst:             verify_xid
    - functionName:    str_to_gid
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 382
      functionLinenumberEnd: 395
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         8
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax
        - verify_xid
      functionUses:    5
      BranchProfiles:
        - Branch String:   'strnum.c:385,6'
          Branch Sides:
            - BranchSide:      'strnum.c:386,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:390,17'
              BranchSideFuncs:
                - verify_xid
        - Branch String:   'strnum.c:390,6'
          Branch Sides:
            - BranchSide:      'strnum.c:391,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:393,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:385,6'
          Dst:             str_to_uintmax
        - Src:             'strnum.c:390,6'
          Dst:             verify_xid
    - functionName:    str_to_uid
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 369
      functionLinenumberEnd: 379
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         8
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax
        - verify_xid
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strnum.c:372,6'
          Branch Sides:
            - BranchSide:      'strnum.c:373,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:375,17'
              BranchSideFuncs:
                - verify_xid
        - Branch String:   'strnum.c:375,6'
          Branch Sides:
            - BranchSide:      'strnum.c:376,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:377,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:372,6'
          Dst:             str_to_uintmax
        - Src:             'strnum.c:375,6'
          Dst:             verify_xid
    - functionName:    str_to_int64
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 315
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         11
      ICount:          57
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - str_to_intmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:315,1'
          Branch Sides:
            - BranchSide:      'strnum.c:315,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:315,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:315,1'
          Branch Sides:
            - BranchSide:      'strnum.c:315,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:315,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:315,1'
          Branch Sides:
            - BranchSide:      'strnum.c:315,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:315,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:315,1'
          Dst:             str_to_intmax
    - functionName:    str_to_int32
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         11
      ICount:          58
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - str_to_intmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:314,1'
          Branch Sides:
            - BranchSide:      'strnum.c:314,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:314,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:314,1'
          Branch Sides:
            - BranchSide:      'strnum.c:314,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:314,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:314,1'
          Branch Sides:
            - BranchSide:      'strnum.c:314,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:314,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:314,1'
          Dst:             str_to_intmax
    - functionName:    str_to_llong
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         11
      ICount:          57
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - str_to_intmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:313,1'
          Branch Sides:
            - BranchSide:      'strnum.c:313,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:313,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:313,1'
          Branch Sides:
            - BranchSide:      'strnum.c:313,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:313,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:313,1'
          Branch Sides:
            - BranchSide:      'strnum.c:313,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:313,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:313,1'
          Dst:             str_to_intmax
    - functionName:    str_to_long
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 312
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         11
      ICount:          57
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - str_to_intmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:312,1'
          Branch Sides:
            - BranchSide:      'strnum.c:312,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:312,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:312,1'
          Branch Sides:
            - BranchSide:      'strnum.c:312,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:312,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:312,1'
          Branch Sides:
            - BranchSide:      'strnum.c:312,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:312,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:312,1'
          Dst:             str_to_intmax
    - functionName:    str_to_int
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         11
      ICount:          58
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - str_to_intmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:311,1'
          Branch Sides:
            - BranchSide:      'strnum.c:311,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:311,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:311,1'
          Branch Sides:
            - BranchSide:      'strnum.c:311,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:311,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:311,1'
          Branch Sides:
            - BranchSide:      'strnum.c:311,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:311,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:311,1'
          Dst:             str_to_intmax
    - functionName:    str_parse_int64
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         11
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - str_parse_intmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:297,1'
          Branch Sides:
            - BranchSide:      'strnum.c:297,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:297,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:297,1'
          Branch Sides:
            - BranchSide:      'strnum.c:297,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:297,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:297,1'
          Branch Sides:
            - BranchSide:      'strnum.c:297,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:297,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:297,1'
          Dst:             str_parse_intmax
    - functionName:    str_parse_int32
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         11
      ICount:          62
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - str_parse_intmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:296,1'
          Branch Sides:
            - BranchSide:      'strnum.c:296,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:296,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:296,1'
          Branch Sides:
            - BranchSide:      'strnum.c:296,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:296,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:296,1'
          Branch Sides:
            - BranchSide:      'strnum.c:296,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:296,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:296,1'
          Dst:             str_parse_intmax
    - functionName:    str_parse_llong
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         11
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - str_parse_intmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:295,1'
          Branch Sides:
            - BranchSide:      'strnum.c:295,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:295,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:295,1'
          Branch Sides:
            - BranchSide:      'strnum.c:295,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:295,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:295,1'
          Branch Sides:
            - BranchSide:      'strnum.c:295,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:295,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:295,1'
          Dst:             str_parse_intmax
    - functionName:    str_parse_long
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         11
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - str_parse_intmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:294,1'
          Branch Sides:
            - BranchSide:      'strnum.c:294,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:294,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:294,1'
          Branch Sides:
            - BranchSide:      'strnum.c:294,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:294,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:294,1'
          Branch Sides:
            - BranchSide:      'strnum.c:294,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:294,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:294,1'
          Dst:             str_parse_intmax
    - functionName:    str_parse_int
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         11
      ICount:          62
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - str_parse_intmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:293,1'
          Branch Sides:
            - BranchSide:      'strnum.c:293,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:293,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:293,1'
          Branch Sides:
            - BranchSide:      'strnum.c:293,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:293,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:293,1'
          Branch Sides:
            - BranchSide:      'strnum.c:293,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:293,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:293,1'
          Dst:             str_parse_intmax
    - functionName:    str_to_uint64_oct
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax_oct
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:246,1'
          Branch Sides:
            - BranchSide:      'strnum.c:246,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:246,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:246,1'
          Branch Sides:
            - BranchSide:      'strnum.c:246,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:246,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:246,1'
          Dst:             str_to_uintmax_oct
    - functionName:    str_to_uintmax_oct
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax_oct
      functionUses:    5
      BranchProfiles:
        - Branch String:   'strnum.c:271,17'
          Branch Sides:
            - BranchSide:      'strnum.c:271,22'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:272,3'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:271,6'
          Branch Sides:
            - BranchSide:      'strnum.c:272,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:273,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:270,12'
          Dst:             str_parse_uintmax_oct
    - functionName:    str_parse_uintmax_oct
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         19
      ICount:          107
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   'strnum.c:253,17'
          Branch Sides:
            - BranchSide:      'strnum.c:253,21'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:254,3'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:253,6'
          Branch Sides:
            - BranchSide:      'strnum.c:254,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:256,2'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:256,21'
          Branch Sides:
            - BranchSide:      'strnum.c:256,25'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:256,2'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:256,2'
          Branch Sides:
            - BranchSide:      'strnum.c:257,7'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:261,6'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:257,7'
          Branch Sides:
            - BranchSide:      'strnum.c:258,4'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:259,8'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:261,6'
          Branch Sides:
            - BranchSide:      'strnum.c:262,13'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:263,11'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    str_to_uint32_oct
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax_oct
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:245,1'
          Branch Sides:
            - BranchSide:      'strnum.c:245,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:245,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:245,1'
          Branch Sides:
            - BranchSide:      'strnum.c:245,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:245,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:245,1'
          Dst:             str_to_uintmax_oct
    - functionName:    str_to_ullong_oct
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax_oct
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:244,1'
          Branch Sides:
            - BranchSide:      'strnum.c:244,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:244,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:244,1'
          Branch Sides:
            - BranchSide:      'strnum.c:244,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:244,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:244,1'
          Dst:             str_to_uintmax_oct
    - functionName:    str_to_ulong_oct
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax_oct
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:243,1'
          Branch Sides:
            - BranchSide:      'strnum.c:243,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:243,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:243,1'
          Branch Sides:
            - BranchSide:      'strnum.c:243,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:243,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:243,1'
          Dst:             str_to_uintmax_oct
    - functionName:    str_to_uint_oct
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax_oct
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:242,1'
          Branch Sides:
            - BranchSide:      'strnum.c:242,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:242,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:242,1'
          Branch Sides:
            - BranchSide:      'strnum.c:242,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:242,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:242,1'
          Dst:             str_to_uintmax_oct
    - functionName:    str_parse_uint64_oct
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax_oct
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:230,1'
          Branch Sides:
            - BranchSide:      'strnum.c:230,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:230,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:230,1'
          Branch Sides:
            - BranchSide:      'strnum.c:230,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:230,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:230,1'
          Dst:             str_parse_uintmax_oct
    - functionName:    str_parse_uint32_oct
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax_oct
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:229,1'
          Branch Sides:
            - BranchSide:      'strnum.c:229,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:229,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:229,1'
          Branch Sides:
            - BranchSide:      'strnum.c:229,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:229,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:229,1'
          Dst:             str_parse_uintmax_oct
    - functionName:    str_parse_ullong_oct
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax_oct
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:228,1'
          Branch Sides:
            - BranchSide:      'strnum.c:228,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:228,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:228,1'
          Branch Sides:
            - BranchSide:      'strnum.c:228,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:228,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:228,1'
          Dst:             str_parse_uintmax_oct
    - functionName:    str_parse_ulong_oct
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax_oct
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:227,1'
          Branch Sides:
            - BranchSide:      'strnum.c:227,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:227,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:227,1'
          Branch Sides:
            - BranchSide:      'strnum.c:227,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:227,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:227,1'
          Dst:             str_parse_uintmax_oct
    - functionName:    str_parse_uint_oct
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax_oct
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:226,1'
          Branch Sides:
            - BranchSide:      'strnum.c:226,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:226,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:226,1'
          Branch Sides:
            - BranchSide:      'strnum.c:226,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:226,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:226,1'
          Dst:             str_parse_uintmax_oct
    - functionName:    _str_parse_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ch
        - hex_r
      BBCount:         29
      ICount:          134
      EdgeCount:       56
      CyclomaticComplexity: 29
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'strnum.c:165,2'
          Branch Sides:
            - BranchSide:      'strnum.c:167,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:167,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:167,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:167,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:167,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:167,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:170,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:170,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:170,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:170,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:170,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:170,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:174,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:174,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:174,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:174,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:174,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:174,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:174,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:174,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:174,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:174,27'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:177,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    str_to_uint64_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax_hex
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:160,1'
          Branch Sides:
            - BranchSide:      'strnum.c:160,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:160,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:160,1'
          Branch Sides:
            - BranchSide:      'strnum.c:160,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:160,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:160,1'
          Dst:             str_to_uintmax_hex
    - functionName:    str_to_uintmax_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax_hex
      functionUses:    5
      BranchProfiles:
        - Branch String:   'strnum.c:206,17'
          Branch Sides:
            - BranchSide:      'strnum.c:206,22'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:207,3'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:206,6'
          Branch Sides:
            - BranchSide:      'strnum.c:207,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:208,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:205,12'
          Dst:             str_parse_uintmax_hex
    - functionName:    str_parse_uintmax_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         15
      ICount:          86
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - _str_parse_hex
      functionUses:    6
      BranchProfiles:
        - Branch String:   'strnum.c:187,6'
          Branch Sides:
            - BranchSide:      'strnum.c:188,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:190,2'
              BranchSideFuncs:
                - _str_parse_hex
        - Branch String:   'strnum.c:191,7'
          Branch Sides:
            - BranchSide:      'strnum.c:192,4'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:193,8'
              BranchSideFuncs:
                - _str_parse_hex
        - Branch String:   'strnum.c:195,2'
          Branch Sides:
            - BranchSide:      'strnum.c:191,7'
              BranchSideFuncs:
                - _str_parse_hex
            - BranchSide:      'strnum.c:196,6'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:196,6'
          Branch Sides:
            - BranchSide:      'strnum.c:197,13'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:198,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:187,6'
          Dst:             _str_parse_hex
        - Src:             'strnum.c:195,11'
          Dst:             _str_parse_hex
    - functionName:    str_to_uint32_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax_hex
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:159,1'
          Branch Sides:
            - BranchSide:      'strnum.c:159,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:159,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:159,1'
          Branch Sides:
            - BranchSide:      'strnum.c:159,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:159,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:159,1'
          Dst:             str_to_uintmax_hex
    - functionName:    str_to_ullong_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax_hex
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:158,1'
          Branch Sides:
            - BranchSide:      'strnum.c:158,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:158,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:158,1'
          Branch Sides:
            - BranchSide:      'strnum.c:158,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:158,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:158,1'
          Dst:             str_to_uintmax_hex
    - functionName:    str_to_ulong_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax_hex
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:157,1'
          Branch Sides:
            - BranchSide:      'strnum.c:157,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:157,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:157,1'
          Branch Sides:
            - BranchSide:      'strnum.c:157,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:157,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:157,1'
          Dst:             str_to_uintmax_hex
    - functionName:    str_to_uint_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax_hex
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:156,1'
          Branch Sides:
            - BranchSide:      'strnum.c:156,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:156,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:156,1'
          Branch Sides:
            - BranchSide:      'strnum.c:156,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:156,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:156,1'
          Dst:             str_to_uintmax_hex
    - functionName:    str_parse_uint64_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax_hex
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:144,1'
          Branch Sides:
            - BranchSide:      'strnum.c:144,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:144,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:144,1'
          Branch Sides:
            - BranchSide:      'strnum.c:144,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:144,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:144,1'
          Dst:             str_parse_uintmax_hex
    - functionName:    str_parse_uint32_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax_hex
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:143,1'
          Branch Sides:
            - BranchSide:      'strnum.c:143,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:143,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:143,1'
          Branch Sides:
            - BranchSide:      'strnum.c:143,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:143,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:143,1'
          Dst:             str_parse_uintmax_hex
    - functionName:    str_parse_ullong_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax_hex
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:142,1'
          Branch Sides:
            - BranchSide:      'strnum.c:142,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:142,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:142,1'
          Branch Sides:
            - BranchSide:      'strnum.c:142,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:142,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:142,1'
          Dst:             str_parse_uintmax_hex
    - functionName:    str_parse_ulong_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax_hex
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:141,1'
          Branch Sides:
            - BranchSide:      'strnum.c:141,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:141,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:141,1'
          Branch Sides:
            - BranchSide:      'strnum.c:141,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:141,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:141,1'
          Dst:             str_parse_uintmax_hex
    - functionName:    str_parse_uint_hex
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax_hex
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:140,1'
          Branch Sides:
            - BranchSide:      'strnum.c:140,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:140,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:140,1'
          Branch Sides:
            - BranchSide:      'strnum.c:140,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:140,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:140,1'
          Dst:             str_parse_uintmax_hex
    - functionName:    str_uint_equals
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - num
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - str_to_uintmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:121,6'
          Branch Sides:
            - BranchSide:      'strnum.c:122,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:123,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:121,6'
          Dst:             str_to_uintmax
    - functionName:    str_to_uint64
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:80,1'
          Branch Sides:
            - BranchSide:      'strnum.c:80,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:80,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:80,1'
          Branch Sides:
            - BranchSide:      'strnum.c:80,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:80,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:80,1'
          Dst:             str_to_uintmax
    - functionName:    str_to_uint32
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:79,1'
          Branch Sides:
            - BranchSide:      'strnum.c:79,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:79,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:79,1'
          Branch Sides:
            - BranchSide:      'strnum.c:79,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:79,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:79,1'
          Dst:             str_to_uintmax
    - functionName:    str_to_ullong
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:78,1'
          Branch Sides:
            - BranchSide:      'strnum.c:78,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:78,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:78,1'
          Branch Sides:
            - BranchSide:      'strnum.c:78,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:78,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:78,1'
          Dst:             str_to_uintmax
    - functionName:    str_to_ulong
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:77,1'
          Branch Sides:
            - BranchSide:      'strnum.c:77,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:77,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:77,1'
          Branch Sides:
            - BranchSide:      'strnum.c:77,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:77,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:77,1'
          Dst:             str_to_uintmax
    - functionName:    str_to_uint
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_to_uintmax
      functionUses:    5
      BranchProfiles:
        - Branch String:   'strnum.c:76,1'
          Branch Sides:
            - BranchSide:      'strnum.c:76,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:76,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:76,1'
          Branch Sides:
            - BranchSide:      'strnum.c:76,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:76,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:76,1'
          Dst:             str_to_uintmax
    - functionName:    str_parse_uint64
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:64,1'
          Branch Sides:
            - BranchSide:      'strnum.c:64,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:64,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:64,1'
          Branch Sides:
            - BranchSide:      'strnum.c:64,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:64,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:64,1'
          Dst:             str_parse_uintmax
    - functionName:    str_parse_uint32
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:63,1'
          Branch Sides:
            - BranchSide:      'strnum.c:63,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:63,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:63,1'
          Branch Sides:
            - BranchSide:      'strnum.c:63,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:63,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:63,1'
          Dst:             str_parse_uintmax
    - functionName:    str_parse_ullong
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:62,1'
          Branch Sides:
            - BranchSide:      'strnum.c:62,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:62,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:62,1'
          Branch Sides:
            - BranchSide:      'strnum.c:62,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:62,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:62,1'
          Dst:             str_parse_uintmax
    - functionName:    str_parse_ulong
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:61,1'
          Branch Sides:
            - BranchSide:      'strnum.c:61,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:61,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:61,1'
          Branch Sides:
            - BranchSide:      'strnum.c:61,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:61,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:61,1'
          Dst:             str_parse_uintmax
    - functionName:    str_parse_uint
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - num_r
        - endp_r
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - str_parse_uintmax
      functionUses:    4
      BranchProfiles:
        - Branch String:   'strnum.c:60,1'
          Branch Sides:
            - BranchSide:      'strnum.c:60,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:60,1'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:60,1'
          Branch Sides:
            - BranchSide:      'strnum.c:60,1'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:60,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strnum.c:60,1'
          Dst:             str_parse_uintmax
    - functionName:    str_is_float
      functionSourceFile: '/src/dovecot/src/lib/strnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - str
        - end_char
      BBCount:         25
      ICount:          133
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strnum.c:25,19'
          Branch Sides:
            - BranchSide:      'strnum.c:25,23'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:26,3'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:25,6'
          Branch Sides:
            - BranchSide:      'strnum.c:26,3'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:28,2'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:28,22'
          Branch Sides:
            - BranchSide:      'strnum.c:28,26'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:28,2'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:28,2'
          Branch Sides:
            - BranchSide:      'strnum.c:29,8'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:43,9'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:29,7'
          Branch Sides:
            - BranchSide:      'strnum.c:30,8'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:37,8'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:30,17'
          Branch Sides:
            - BranchSide:      'strnum.c:30,31'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:30,21'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:30,8'
          Branch Sides:
            - BranchSide:      'strnum.c:30,31'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:31,13'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:37,18'
          Branch Sides:
            - BranchSide:      'strnum.c:37,22'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:38,4'
              BranchSideFuncs: []
        - Branch String:   'strnum.c:37,7'
          Branch Sides:
            - BranchSide:      'strnum.c:38,4'
              BranchSideFuncs: []
            - BranchSide:      'strnum.c:39,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    str_to_timeval
      functionSourceFile: '/src/dovecot/src/lib/time-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - tv_r
      BBCount:         21
      ICount:          137
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - i_memcpy
        - i_panic
        - str_to_time
        - str_to_uint
        - strchr
        - strlen
        - t_pop
        - t_push
        - t_strdup_until
      functionUses:    0
      BranchProfiles:
        - Branch String:   'time-util.c:138,6'
          Branch Sides:
            - BranchSide:      'time-util.c:139,22'
              BranchSideFuncs:
                - str_to_time
            - BranchSide:      'time-util.c:142,2'
              BranchSideFuncs:
                - t_push
                - t_strdup_until
                - str_to_time
                - t_pop
                - strlen
                - i_memcpy.4144
                - str_to_uint
                - i_panic
        - Branch String:   'time-util.c:144,4'
          Branch Sides:
            - BranchSide:      'time-util.c:144,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'time-util.c:144,4'
              BranchSideFuncs:
                - strlen
                - i_memcpy.4144
                - str_to_uint
        - Branch String:   'time-util.c:145,14'
          Branch Sides:
            - BranchSide:      'time-util.c:145,17'
              BranchSideFuncs: []
            - BranchSide:      'time-util.c:146,3'
              BranchSideFuncs: []
        - Branch String:   'time-util.c:145,6'
          Branch Sides:
            - BranchSide:      'time-util.c:146,3'
              BranchSideFuncs: []
            - BranchSide:      'time-util.c:148,28'
              BranchSideFuncs:
                - strlen
                - i_memcpy.4144
                - str_to_uint
        - Branch String:   'time-util.c:149,6'
          Branch Sides:
            - BranchSide:      'time-util.c:150,3'
              BranchSideFuncs: []
            - BranchSide:      'time-util.c:151,7'
              BranchSideFuncs:
                - i_memcpy.4144
                - str_to_uint
        - Branch String:   'time-util.c:155,6'
          Branch Sides:
            - BranchSide:      'time-util.c:156,3'
              BranchSideFuncs: []
            - BranchSide:      'time-util.c:157,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'time-util.c:137,18'
          Dst:             strchr
        - Src:             'time-util.c:139,10'
          Dst:             str_to_time
        - Src:             'time-util.c:142,2'
          Dst:             t_push
        - Src:             'time-util.c:143,21'
          Dst:             t_strdup_until
        - Src:             'time-util.c:143,9'
          Dst:             str_to_time
        - Src:             'time-util.c:144,4'
          Dst:             t_pop
        - Src:             'time-util.c:144,4'
          Dst:             i_panic
        - Src:             'time-util.c:148,21'
          Dst:             strlen
        - Src:             'time-util.c:152,2'
          Dst:             i_memcpy
        - Src:             'time-util.c:155,6'
          Dst:             str_to_uint
    - functionName:    t_strfgmtime
      functionSourceFile: '/src/dovecot/src/lib/time-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - fmt
        - t
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gmtime
        - strftime_real
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'time-util.c:130,28'
          Dst:             gmtime
        - Src:             'time-util.c:130,9'
          Dst:             strftime_real
    - functionName:    gmtime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strftime_real
      functionSourceFile: '/src/dovecot/src/lib/time-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fmt
        - tm
      BBCount:         10
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - strftime
        - strlen
        - t_buffer_alloc
        - t_buffer_get
      functionUses:    3
      BranchProfiles:
        - Branch String:   'time-util.c:109,2'
          Branch Sides:
            - BranchSide:      'time-util.c:110,11'
              BranchSideFuncs:
                - t_buffer_get
                - strftime
                - t_buffer_alloc
                - i_panic
            - BranchSide:      'time-util.c:114,17'
              BranchSideFuncs:
                - t_buffer_alloc
        - Branch String:   'time-util.c:111,3'
          Branch Sides:
            - BranchSide:      'time-util.c:111,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'time-util.c:112,22'
              BranchSideFuncs:
                - t_buffer_get
                - strftime
                - t_buffer_alloc
                - i_panic
      Callsites:
        - Src:             'time-util.c:105,19'
          Dst:             strlen
        - Src:             'time-util.c:106,14'
          Dst:             t_buffer_get
        - Src:             'time-util.c:109,16'
          Dst:             strftime
        - Src:             'time-util.c:111,3'
          Dst:             i_panic
        - Src:             'time-util.c:112,9'
          Dst:             t_buffer_get
        - Src:             'time-util.c:114,2'
          Dst:             t_buffer_alloc
    - functionName:    t_strflocaltime
      functionSourceFile: '/src/dovecot/src/lib/time-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - fmt
        - t
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - localtime
        - strftime_real
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'time-util.c:125,28'
          Dst:             localtime
        - Src:             'time-util.c:125,9'
          Dst:             strftime_real
    - functionName:    t_strftime
      functionSourceFile: '/src/dovecot/src/lib/time-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fmt
        - tm
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strftime_real
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'time-util.c:120,9'
          Dst:             strftime_real
    - functionName:    time_to_local_day_start
      functionSourceFile: '/src/dovecot/src/lib/time-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - t
      BBCount:         7
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - localtime
        - mktime
      functionUses:    0
      BranchProfiles:
        - Branch String:   'time-util.c:99,2'
          Branch Sides:
            - BranchSide:      'time-util.c:99,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'time-util.c:99,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'time-util.c:92,11'
          Dst:             localtime
        - Src:             'time-util.c:98,19'
          Dst:             mktime
        - Src:             'time-util.c:99,2'
          Dst:             i_panic
    - functionName:    mktime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    timeval_diff_usecs
      functionSourceFile: '/src/dovecot/src/lib/time-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - tv1
        - tv2
      BBCount:         4
      ICount:          52
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:
        - Branch String:   'time-util.c:79,6'
          Branch Sides:
            - BranchSide:      'time-util.c:79,6'
              BranchSideFuncs: []
            - BranchSide:      'time-util.c:80,7'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    timeval_cmp_margin
      functionSourceFile: '/src/dovecot/src/lib/time-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - tv1
        - tv2
        - usec_margin
      BBCount:         24
      ICount:          198
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'time-util.c:44,6'
          Branch Sides:
            - BranchSide:      'time-util.c:45,22'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'time-util.c:52,13'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'time-util.c:47,7'
          Branch Sides:
            - BranchSide:      'time-util.c:48,4'
              BranchSideFuncs: []
            - BranchSide:      'time-util.c:49,16'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'time-util.c:52,13'
          Branch Sides:
            - BranchSide:      'time-util.c:53,22'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'time-util.c:60,13'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'time-util.c:55,7'
          Branch Sides:
            - BranchSide:      'time-util.c:56,4'
              BranchSideFuncs: []
            - BranchSide:      'time-util.c:57,16'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'time-util.c:60,13'
          Branch Sides:
            - BranchSide:      'time-util.c:61,16'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'time-util.c:64,16'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'time-util.c:67,2'
          Branch Sides:
            - BranchSide:      'time-util.c:67,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'time-util.c:68,29'
              BranchSideFuncs: []
        - Branch String:   'time-util.c:68,9'
          Branch Sides:
            - BranchSide:      'time-util.c:68,56'
              BranchSideFuncs: []
            - BranchSide:      'time-util.c:68,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'time-util.c:67,2'
          Dst:             i_panic
    - functionName:    timeval_cmp
      functionSourceFile: '/src/dovecot/src/lib/time-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - tv1
        - tv2
      BBCount:         10
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'time-util.c:27,6'
          Branch Sides:
            - BranchSide:      'time-util.c:28,3'
              BranchSideFuncs: []
            - BranchSide:      'time-util.c:29,6'
              BranchSideFuncs: []
        - Branch String:   'time-util.c:29,6'
          Branch Sides:
            - BranchSide:      'time-util.c:30,3'
              BranchSideFuncs: []
            - BranchSide:      'time-util.c:31,6'
              BranchSideFuncs: []
        - Branch String:   'time-util.c:31,6'
          Branch Sides:
            - BranchSide:      'time-util.c:32,3'
              BranchSideFuncs: []
            - BranchSide:      'time-util.c:33,6'
              BranchSideFuncs: []
        - Branch String:   'time-util.c:33,6'
          Branch Sides:
            - BranchSide:      'time-util.c:34,3'
              BranchSideFuncs: []
            - BranchSide:      'time-util.c:35,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_nanoseconds
      functionSourceFile: '/src/dovecot/src/lib/time-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 17
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          31
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - clock_gettime
        - i_fatal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'time-util.c:20,6'
          Branch Sides:
            - BranchSide:      'time-util.c:18,18'
              BranchSideFuncs:
                - clock_gettime
                - i_fatal
            - BranchSide:      'time-util.c:20,6'
              BranchSideFuncs:
                - clock_gettime
                - i_fatal
        - Branch String:   'time-util.c:20,6'
          Branch Sides:
            - BranchSide:      'time-util.c:21,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'time-util.c:22,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'time-util.c:20,6'
          Dst:             clock_gettime
        - Src:             'time-util.c:21,3'
          Dst:             i_fatal
    - functionName:    clock_gettime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_gettimeofday
      functionSourceFile: '/src/dovecot/src/lib/time-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 14
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - tv_r
      BBCount:         5
      ICount:          27
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - gettimeofday
        - i_fatal
      functionUses:    13
      BranchProfiles:
        - Branch String:   'time-util.c:12,6'
          Branch Sides:
            - BranchSide:      'time-util.c:13,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'time-util.c:14,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'time-util.c:12,6'
          Dst:             gettimeofday
        - Src:             'time-util.c:13,3'
          Dst:             i_fatal
    - functionName:    gettimeofday
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uni_utf8_data_truncate
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 446
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - data
        - old_size
        - max_new_size
      BBCount:         19
      ICount:          113
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'unichar.c:447,6'
          Branch Sides:
            - BranchSide:      'unichar.c:448,10'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:449,6'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:449,6'
          Branch Sides:
            - BranchSide:      'unichar.c:450,3'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:452,7'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:452,6'
          Branch Sides:
            - BranchSide:      'unichar.c:453,10'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:454,2'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:454,26'
          Branch Sides:
            - BranchSide:      'unichar.c:454,30'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:454,2'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:454,2'
          Branch Sides:
            - BranchSide:      'unichar.c:455,15'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:456,6'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:456,23'
          Branch Sides:
            - BranchSide:      'unichar.c:456,27'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:458,9'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:456,6'
          Branch Sides:
            - BranchSide:      'unichar.c:457,15'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:458,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    uni_utf8_data_is_valid
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 441
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - data
        - size
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uni_utf8_find_invalid_pos
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'unichar.c:441,9'
          Dst:             uni_utf8_find_invalid_pos
    - functionName:    uni_utf8_find_invalid_pos
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - size
        - pos_r
      BBCount:         12
      ICount:          89
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - is_valid_utf8_seq
      functionUses:    3
      BranchProfiles:
        - Branch String:   'unichar.c:384,2'
          Branch Sides:
            - BranchSide:      'unichar.c:385,7'
              BranchSideFuncs:
                - is_valid_utf8_seq
            - BranchSide:      'unichar.c:396,2'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:385,7'
          Branch Sides:
            - BranchSide:      'unichar.c:386,5'
              BranchSideFuncs:
                - is_valid_utf8_seq
            - BranchSide:      'unichar.c:388,28'
              BranchSideFuncs:
                - is_valid_utf8_seq
        - Branch String:   'unichar.c:389,8'
          Branch Sides:
            - BranchSide:      'unichar.c:390,14'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:393,9'
              BranchSideFuncs:
                - is_valid_utf8_seq
      Callsites:
        - Src:             'unichar.c:388,10'
          Dst:             is_valid_utf8_seq
    - functionName:    is_valid_utf8_seq
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 375
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - input
        - size
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - uni_utf8_get_char_n
      functionUses:    2
      BranchProfiles:
        - Branch String:   'unichar.c:375,9'
          Branch Sides:
            - BranchSide:      'unichar.c:375,9'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:375,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'unichar.c:374,12'
          Dst:             uni_utf8_get_char_n
    - functionName:    uni_utf8_get_char_n
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - max_len
        - chr_r
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uni_utf8_parse_char
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'unichar.c:116,9'
          Dst:             uni_utf8_parse_char
    - functionName:    uni_utf8_parse_char
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - _buffer
        - size
        - cstr
        - chr_r
      BBCount:         39
      ICount:          265
      EdgeCount:       46
      CyclomaticComplexity: 9
      functionsReached:
        - i_panic
        - uni_is_valid_ucs4
        - uni_utf8_char_bytes
      functionUses:    3
      BranchProfiles:
        - Branch String:   'unichar.c:43,2'
          Branch Sides:
            - BranchSide:      'unichar.c:43,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'unichar.c:45,7'
              BranchSideFuncs:
                - uni_utf8_char_bytes
                - uni_is_valid_ucs4
                - i_panic
        - Branch String:   'unichar.c:45,6'
          Branch Sides:
            - BranchSide:      'unichar.c:46,13'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:52,9'
              BranchSideFuncs:
                - uni_utf8_char_bytes
                - uni_is_valid_ucs4
                - i_panic
        - Branch String:   'unichar.c:54,2'
          Branch Sides:
            - BranchSide:      'unichar.c:56,7'
              BranchSideFuncs:
                - uni_is_valid_ucs4
            - BranchSide:      'unichar.c:59,7'
              BranchSideFuncs:
                - uni_is_valid_ucs4
            - BranchSide:      'unichar.c:62,7'
              BranchSideFuncs:
                - uni_is_valid_ucs4
            - BranchSide:      'unichar.c:65,7'
              BranchSideFuncs:
                - uni_is_valid_ucs4
            - BranchSide:      'unichar.c:68,7'
              BranchSideFuncs:
                - uni_is_valid_ucs4
            - BranchSide:      'unichar.c:72,3'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'unichar.c:72,3'
          Branch Sides:
            - BranchSide:      'unichar.c:72,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'unichar.c:73,3'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:76,6'
          Branch Sides:
            - BranchSide:      'unichar.c:77,45'
              BranchSideFuncs:
                - uni_is_valid_ucs4
            - BranchSide:      'unichar.c:81,20'
              BranchSideFuncs:
                - uni_is_valid_ucs4
        - Branch String:   'unichar.c:87,2'
          Branch Sides:
            - BranchSide:      'unichar.c:88,8'
              BranchSideFuncs:
                - uni_is_valid_ucs4
            - BranchSide:      'unichar.c:98,25'
              BranchSideFuncs:
                - uni_is_valid_ucs4
        - Branch String:   'unichar.c:88,7'
          Branch Sides:
            - BranchSide:      'unichar.c:89,12'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:93,7'
              BranchSideFuncs:
                - uni_is_valid_ucs4
        - Branch String:   'unichar.c:89,17'
          Branch Sides:
            - BranchSide:      'unichar.c:89,20'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:89,12'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:89,37'
          Branch Sides:
            - BranchSide:      'unichar.c:89,40'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:89,12'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:98,6'
          Branch Sides:
            - BranchSide:      'unichar.c:99,3'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:100,6'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:100,6'
          Branch Sides:
            - BranchSide:      'unichar.c:102,3'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:105,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'unichar.c:43,2'
          Dst:             i_panic
        - Src:             'unichar.c:53,8'
          Dst:             uni_utf8_char_bytes
        - Src:             'unichar.c:72,3'
          Dst:             i_panic
        - Src:             'unichar.c:98,7'
          Dst:             uni_is_valid_ucs4
    - functionName:    uni_utf8_char_bytes
      functionSourceFile: '/src/dovecot/src/lib/./unichar.h'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - chr
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './unichar.h:111,6'
          Branch Sides:
            - BranchSide:      './unichar.h:112,3'
              BranchSideFuncs: []
            - BranchSide:      './unichar.h:113,29'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    uni_is_valid_ucs4
      functionSourceFile: '/src/dovecot/src/lib/./unichar.h'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - chr
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './unichar.h:59,43'
          Branch Sides:
            - BranchSide:      './unichar.h:59,43'
              BranchSideFuncs: []
            - BranchSide:      './unichar.h:60,4'
              BranchSideFuncs: []
        - Branch String:   './unichar.h:60,35'
          Branch Sides:
            - BranchSide:      './unichar.h:60,35'
              BranchSideFuncs: []
            - BranchSide:      './unichar.h:61,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    uni_utf8_str_is_valid
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 430
      functionLinenumberEnd: 434
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strlen
        - uni_utf8_find_invalid_pos
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'unichar.c:434,7'
          Dst:             strlen
        - Src:             'unichar.c:433,9'
          Dst:             uni_utf8_find_invalid_pos
    - functionName:    uni_utf8_get_valid_data
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 401
      functionLinenumberEnd: 427
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - size
        - buf
      BBCount:         13
      ICount:          111
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - buffer_append
        - buffer_append_c
        - is_valid_utf8_seq
        - output_add_replacement_char
        - uni_utf8_find_invalid_pos
      functionUses:    1
      BranchProfiles:
        - Branch String:   'unichar.c:404,6'
          Branch Sides:
            - BranchSide:      'unichar.c:405,3'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:408,16'
              BranchSideFuncs:
                - buffer_append
                - output_add_replacement_char
                - is_valid_utf8_seq
                - buffer_append
                - output_add_replacement_char
                - buffer_append_c
        - Branch String:   'unichar.c:411,2'
          Branch Sides:
            - BranchSide:      'unichar.c:412,7'
              BranchSideFuncs:
                - is_valid_utf8_seq
                - buffer_append
                - output_add_replacement_char
                - buffer_append_c
            - BranchSide:      'unichar.c:426,2'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:412,7'
          Branch Sides:
            - BranchSide:      'unichar.c:413,20'
              BranchSideFuncs:
                - buffer_append_c
                - is_valid_utf8_seq
                - buffer_append
                - output_add_replacement_char
            - BranchSide:      'unichar.c:417,27'
              BranchSideFuncs:
                - is_valid_utf8_seq
                - buffer_append
                - buffer_append_c
                - output_add_replacement_char
        - Branch String:   'unichar.c:418,7'
          Branch Sides:
            - BranchSide:      'unichar.c:419,5'
              BranchSideFuncs:
                - output_add_replacement_char
                - is_valid_utf8_seq
                - buffer_append
                - buffer_append_c
            - BranchSide:      'unichar.c:423,17'
              BranchSideFuncs:
                - buffer_append
                - is_valid_utf8_seq
                - output_add_replacement_char
                - buffer_append_c
      Callsites:
        - Src:             'unichar.c:404,6'
          Dst:             uni_utf8_find_invalid_pos
        - Src:             'unichar.c:408,2'
          Dst:             buffer_append
        - Src:             'unichar.c:410,2'
          Dst:             output_add_replacement_char
        - Src:             'unichar.c:413,4'
          Dst:             buffer_append_c
        - Src:             'unichar.c:417,9'
          Dst:             is_valid_utf8_seq
        - Src:             'unichar.c:420,4'
          Dst:             output_add_replacement_char
        - Src:             'unichar.c:423,3'
          Dst:             buffer_append
    - functionName:    output_add_replacement_char
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - output
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_append
        - memcmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'unichar.c:331,48'
          Branch Sides:
            - BranchSide:      'unichar.c:332,13'
              BranchSideFuncs:
                - memcmp
                - buffer_append
            - BranchSide:      'unichar.c:338,16'
              BranchSideFuncs:
                - buffer_append
        - Branch String:   'unichar.c:331,6'
          Branch Sides:
            - BranchSide:      'unichar.c:336,3'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:338,16'
              BranchSideFuncs:
                - buffer_append
      Callsites:
        - Src:             'unichar.c:332,6'
          Dst:             memcmp
        - Src:             'unichar.c:338,2'
          Dst:             buffer_append
    - functionName:    uni_ucs4_decompose_multi_utf8
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 327
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - chr
        - output
      BBCount:         15
      ICount:          80
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - uint32_find
        - uni_ucs4_to_utf8_c
      functionUses:    1
      BranchProfiles:
        - Branch String:   'unichar.c:316,32'
          Branch Sides:
            - BranchSide:      'unichar.c:316,35'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:317,3'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:316,6'
          Branch Sides:
            - BranchSide:      'unichar.c:317,3'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:320,5'
              BranchSideFuncs:
                - uint32_find
                - uni_ucs4_to_utf8_c
        - Branch String:   'unichar.c:319,6'
          Branch Sides:
            - BranchSide:      'unichar.c:321,3'
              BranchSideFuncs:
                - uni_ucs4_to_utf8_c
            - BranchSide:      'unichar.c:323,50'
              BranchSideFuncs:
                - uni_ucs4_to_utf8_c
        - Branch String:   'unichar.c:324,2'
          Branch Sides:
            - BranchSide:      'unichar.c:325,23'
              BranchSideFuncs:
                - uni_ucs4_to_utf8_c
            - BranchSide:      'unichar.c:326,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'unichar.c:319,7'
          Dst:             uint32_find
        - Src:             'unichar.c:325,3'
          Dst:             uni_ucs4_to_utf8_c
    - functionName:    uint32_find
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - count
        - value
        - idx_r
      BBCount:         17
      ICount:          108
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   'unichar.c:243,2'
          Branch Sides:
            - BranchSide:      'unichar.c:243,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'unichar.c:243,2'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:243,2'
          Branch Sides:
            - BranchSide:      'unichar.c:243,2'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:243,2'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:243,2'
          Branch Sides:
            - BranchSide:      'unichar.c:243,2'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:243,2'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:243,2'
          Branch Sides:
            - BranchSide:      'unichar.c:243,2'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:243,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'unichar.c:243,2'
          Dst:             i_panic
    - functionName:    uni_ucs4_to_utf8_c
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - chr
        - output
      BBCount:         26
      ICount:          131
      EdgeCount:       32
      CyclomaticComplexity: 8
      functionsReached:
        - buffer_append_c
        - i_panic
        - uni_is_valid_ucs4
      functionUses:    6
      BranchProfiles:
        - Branch String:   'unichar.c:168,6'
          Branch Sides:
            - BranchSide:      'unichar.c:169,19'
              BranchSideFuncs:
                - buffer_append_c
            - BranchSide:      'unichar.c:173,2'
              BranchSideFuncs:
                - uni_is_valid_ucs4
                - buffer_append_c
                - buffer_append_c
                - i_panic
        - Branch String:   'unichar.c:173,2'
          Branch Sides:
            - BranchSide:      'unichar.c:173,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'unichar.c:175,6'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'unichar.c:175,6'
          Branch Sides:
            - BranchSide:      'unichar.c:177,10'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'unichar.c:179,13'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'unichar.c:179,13'
          Branch Sides:
            - BranchSide:      'unichar.c:181,10'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'unichar.c:183,13'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'unichar.c:183,13'
          Branch Sides:
            - BranchSide:      'unichar.c:185,10'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'unichar.c:187,13'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'unichar.c:187,13'
          Branch Sides:
            - BranchSide:      'unichar.c:189,10'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append_c
            - BranchSide:      'unichar.c:193,10'
              BranchSideFuncs:
                - buffer_append_c
                - buffer_append_c
        - Branch String:   'unichar.c:201,2'
          Branch Sides:
            - BranchSide:      'unichar.c:199,10'
              BranchSideFuncs:
                - buffer_append_c
            - BranchSide:      'unichar.c:201,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'unichar.c:169,3'
          Dst:             buffer_append_c
        - Src:             'unichar.c:173,2'
          Dst:             uni_is_valid_ucs4
        - Src:             'unichar.c:173,2'
          Dst:             i_panic
        - Src:             'unichar.c:196,2'
          Dst:             buffer_append_c
        - Src:             'unichar.c:200,3'
          Dst:             buffer_append_c
    - functionName:    uni_ucs4_decompose_uni
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 268
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - chr
      BBCount:         18
      ICount:          110
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - uint16_find
        - uint32_find
      functionUses:    1
      BranchProfiles:
        - Branch String:   'unichar.c:271,6'
          Branch Sides:
            - BranchSide:      'unichar.c:272,24'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:275,14'
              BranchSideFuncs:
                - uint32_find
                - uint16_find
        - Branch String:   'unichar.c:272,7'
          Branch Sides:
            - BranchSide:      'unichar.c:273,4'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:274,27'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:275,13'
          Branch Sides:
            - BranchSide:      'unichar.c:276,8'
              BranchSideFuncs:
                - uint16_find
            - BranchSide:      'unichar.c:285,38'
              BranchSideFuncs:
                - uint32_find
        - Branch String:   'unichar.c:276,7'
          Branch Sides:
            - BranchSide:      'unichar.c:277,4'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:280,38'
              BranchSideFuncs:
                - uint16_find
        - Branch String:   'unichar.c:279,7'
          Branch Sides:
            - BranchSide:      'unichar.c:281,4'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:282,30'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:284,7'
          Branch Sides:
            - BranchSide:      'unichar.c:286,4'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:287,30'
              BranchSideFuncs: []
      Callsites:
        - Src:             'unichar.c:279,8'
          Dst:             uint16_find
        - Src:             'unichar.c:284,8'
          Dst:             uint32_find
    - functionName:    uint16_find
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - count
        - value
        - idx_r
      BBCount:         17
      ICount:          112
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'unichar.c:237,2'
          Branch Sides:
            - BranchSide:      'unichar.c:237,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'unichar.c:237,2'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:237,2'
          Branch Sides:
            - BranchSide:      'unichar.c:237,2'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:237,2'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:237,2'
          Branch Sides:
            - BranchSide:      'unichar.c:237,2'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:237,2'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:237,2'
          Branch Sides:
            - BranchSide:      'unichar.c:237,2'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:237,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'unichar.c:237,2'
          Dst:             i_panic
    - functionName:    uni_ucs4_decompose_hangul_utf8
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - chr
        - output
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - uni_ucs4_to_utf8_c
      functionUses:    1
      BranchProfiles:
        - Branch String:   'unichar.c:308,6'
          Branch Sides:
            - BranchSide:      'unichar.c:308,37'
              BranchSideFuncs:
                - uni_ucs4_to_utf8_c
            - BranchSide:      'unichar.c:308,6'
              BranchSideFuncs: []
      Callsites:
        - Src:             'unichar.c:306,2'
          Dst:             uni_ucs4_to_utf8_c
        - Src:             'unichar.c:307,2'
          Dst:             uni_ucs4_to_utf8_c
        - Src:             'unichar.c:308,18'
          Dst:             uni_ucs4_to_utf8_c
    - functionName:    uni_utf8_to_decomposed_titlecase
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - _input
        - size
        - output
      BBCount:         20
      ICount:          120
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - output_add_replacement_char
        - uni_ucs4_decompose_hangul_utf8
        - uni_ucs4_decompose_multi_utf8
        - uni_ucs4_decompose_uni
        - uni_ucs4_to_titlecase
        - uni_ucs4_to_utf8_c
        - uni_utf8_get_char_n
      functionUses:    0
      BranchProfiles:
        - Branch String:   'unichar.c:348,2'
          Branch Sides:
            - BranchSide:      'unichar.c:349,35'
              BranchSideFuncs:
                - uni_utf8_get_char_n
                - uni_ucs4_to_titlecase
                - uni_ucs4_decompose_uni
                - uni_ucs4_decompose_multi_utf8
                - uni_ucs4_to_utf8_c
                - uni_ucs4_decompose_hangul_utf8
                - output_add_replacement_char
            - BranchSide:      'unichar.c:367,9'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:350,7'
          Branch Sides:
            - BranchSide:      'unichar.c:352,8'
              BranchSideFuncs:
                - output_add_replacement_char
                - uni_utf8_get_char_n
                - uni_ucs4_to_titlecase
                - uni_ucs4_decompose_uni
                - uni_ucs4_decompose_multi_utf8
                - uni_ucs4_to_utf8_c
                - uni_ucs4_decompose_hangul_utf8
            - BranchSide:      'unichar.c:357,12'
              BranchSideFuncs:
                - uni_ucs4_to_titlecase
                - uni_ucs4_decompose_uni
                - uni_ucs4_decompose_multi_utf8
                - uni_ucs4_to_utf8_c
                - uni_utf8_get_char_n
                - output_add_replacement_char
                - uni_ucs4_decompose_hangul_utf8
        - Branch String:   'unichar.c:361,27'
          Branch Sides:
            - BranchSide:      'unichar.c:361,30'
              BranchSideFuncs:
                - uni_ucs4_decompose_uni
                - uni_ucs4_decompose_multi_utf8
                - uni_ucs4_to_utf8_c
                - uni_utf8_get_char_n
                - uni_ucs4_to_titlecase
                - output_add_replacement_char
                - uni_ucs4_decompose_hangul_utf8
            - BranchSide:      'unichar.c:363,12'
              BranchSideFuncs:
                - uni_ucs4_decompose_uni
                - uni_ucs4_decompose_multi_utf8
                - uni_ucs4_to_utf8_c
                - uni_utf8_get_char_n
                - uni_ucs4_to_titlecase
                - uni_ucs4_decompose_hangul_utf8
                - output_add_replacement_char
        - Branch String:   'unichar.c:361,7'
          Branch Sides:
            - BranchSide:      'unichar.c:362,35'
              BranchSideFuncs:
                - uni_ucs4_decompose_hangul_utf8
                - uni_utf8_get_char_n
                - uni_ucs4_to_titlecase
                - uni_ucs4_decompose_uni
                - uni_ucs4_decompose_multi_utf8
                - uni_ucs4_to_utf8_c
                - output_add_replacement_char
            - BranchSide:      'unichar.c:363,12'
              BranchSideFuncs:
                - uni_ucs4_decompose_uni
                - uni_ucs4_decompose_multi_utf8
                - uni_ucs4_to_utf8_c
                - uni_utf8_get_char_n
                - uni_ucs4_to_titlecase
                - uni_ucs4_decompose_hangul_utf8
                - output_add_replacement_char
        - Branch String:   'unichar.c:363,41'
          Branch Sides:
            - BranchSide:      'unichar.c:364,36'
              BranchSideFuncs:
                - uni_ucs4_to_utf8_c
                - uni_utf8_get_char_n
                - uni_ucs4_to_titlecase
                - uni_ucs4_decompose_uni
                - uni_ucs4_decompose_multi_utf8
                - uni_ucs4_decompose_hangul_utf8
                - output_add_replacement_char
            - BranchSide:      'unichar.c:365,23'
              BranchSideFuncs:
                - uni_ucs4_to_utf8_c
                - uni_utf8_get_char_n
                - uni_ucs4_to_titlecase
                - uni_ucs4_decompose_uni
                - uni_ucs4_decompose_multi_utf8
                - uni_ucs4_decompose_hangul_utf8
                - output_add_replacement_char
      Callsites:
        - Src:             'unichar.c:349,15'
          Dst:             uni_utf8_get_char_n
        - Src:             'unichar.c:354,4'
          Dst:             output_add_replacement_char
        - Src:             'unichar.c:360,9'
          Dst:             uni_ucs4_to_titlecase
        - Src:             'unichar.c:362,4'
          Dst:             uni_ucs4_decompose_hangul_utf8
        - Src:             'unichar.c:363,12'
          Dst:             uni_ucs4_decompose_uni
        - Src:             'unichar.c:364,6'
          Dst:             uni_ucs4_decompose_multi_utf8
        - Src:             'unichar.c:365,4'
          Dst:             uni_ucs4_to_utf8_c
    - functionName:    uni_ucs4_to_titlecase
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - chr
      BBCount:         12
      ICount:          74
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - uint16_find
        - uint32_find
      functionUses:    1
      BranchProfiles:
        - Branch String:   'unichar.c:250,6'
          Branch Sides:
            - BranchSide:      'unichar.c:251,25'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:252,11'
              BranchSideFuncs:
                - uint32_find
                - uint16_find
        - Branch String:   'unichar.c:252,11'
          Branch Sides:
            - BranchSide:      'unichar.c:254,6'
              BranchSideFuncs:
                - uint16_find
            - BranchSide:      'unichar.c:260,6'
              BranchSideFuncs:
                - uint32_find
        - Branch String:   'unichar.c:253,7'
          Branch Sides:
            - BranchSide:      'unichar.c:255,11'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:257,30'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:259,7'
          Branch Sides:
            - BranchSide:      'unichar.c:261,11'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:263,30'
              BranchSideFuncs: []
      Callsites:
        - Src:             'unichar.c:253,8'
          Dst:             uint16_find
        - Src:             'unichar.c:259,8'
          Dst:             uint32_find
    - functionName:    uni_utf8_partial_strlen_n
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - _input
        - size
        - partial_pos_r
      BBCount:         9
      ICount:          75
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - uni_utf8_char_bytes
      functionUses:    2
      BranchProfiles:
        - Branch String:   'unichar.c:223,2'
          Branch Sides:
            - BranchSide:      'unichar.c:223,2'
              BranchSideFuncs:
                - uni_utf8_char_bytes
            - BranchSide:      'unichar.c:224,31'
              BranchSideFuncs:
                - uni_utf8_char_bytes
        - Branch String:   'unichar.c:225,7'
          Branch Sides:
            - BranchSide:      'unichar.c:226,4'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:227,8'
              BranchSideFuncs:
                - uni_utf8_char_bytes
      Callsites:
        - Src:             'unichar.c:224,11'
          Dst:             uni_utf8_char_bytes
    - functionName:    uni_utf8_strlen_n
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - input
        - size
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uni_utf8_partial_strlen_n
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'unichar.c:213,9'
          Dst:             uni_utf8_partial_strlen_n
    - functionName:    uni_utf8_strlen
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strlen
        - uni_utf8_strlen_n
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'unichar.c:206,34'
          Dst:             strlen
        - Src:             'unichar.c:206,9'
          Dst:             uni_utf8_strlen_n
    - functionName:    uni_ucs4_to_utf8
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - len
        - output
      BBCount:         10
      ICount:          57
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - uni_ucs4_to_utf8_c
      functionUses:    1
      BranchProfiles:
        - Branch String:   'unichar.c:159,17'
          Branch Sides:
            - BranchSide:      'unichar.c:159,21'
              BranchSideFuncs:
                - uni_ucs4_to_utf8_c
            - BranchSide:      'unichar.c:159,2'
              BranchSideFuncs:
                - uni_ucs4_to_utf8_c
        - Branch String:   'unichar.c:159,2'
          Branch Sides:
            - BranchSide:      'unichar.c:160,23'
              BranchSideFuncs:
                - uni_ucs4_to_utf8_c
            - BranchSide:      'unichar.c:161,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'unichar.c:160,3'
          Dst:             uni_ucs4_to_utf8_c
    - functionName:    uni_utf8_to_ucs4_n
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - size
        - output
      BBCount:         9
      ICount:          64
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - array_append_i
        - uni_utf8_get_char_n
      functionUses:    0
      BranchProfiles:
        - Branch String:   'unichar.c:146,2'
          Branch Sides:
            - BranchSide:      'unichar.c:147,33'
              BranchSideFuncs:
                - uni_utf8_get_char_n
                - array_append_i.4240
            - BranchSide:      'unichar.c:154,2'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:148,7'
          Branch Sides:
            - BranchSide:      'unichar.c:149,4'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:150,12'
              BranchSideFuncs:
                - array_append_i.4240
                - uni_utf8_get_char_n
      Callsites:
        - Src:             'unichar.c:147,13'
          Dst:             uni_utf8_get_char_n
        - Src:             'unichar.c:152,3'
          Dst:             array_append_i
    - functionName:    array_append_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - data
        - count
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:212,2'
          Dst:             buffer_append
    - functionName:    uni_utf8_to_ucs4
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - output
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - array_append_i
        - uni_utf8_get_char
      functionUses:    0
      BranchProfiles:
        - Branch String:   'unichar.c:128,2'
          Branch Sides:
            - BranchSide:      'unichar.c:129,31'
              BranchSideFuncs:
                - uni_utf8_get_char
                - array_append_i.4240
            - BranchSide:      'unichar.c:138,2'
              BranchSideFuncs: []
        - Branch String:   'unichar.c:130,7'
          Branch Sides:
            - BranchSide:      'unichar.c:132,4'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:134,26'
              BranchSideFuncs:
                - array_append_i.4240
                - uni_utf8_get_char
      Callsites:
        - Src:             'unichar.c:129,13'
          Dst:             uni_utf8_get_char
        - Src:             'unichar.c:136,3'
          Dst:             array_append_i
    - functionName:    uni_utf8_get_char
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - chr_r
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uni_utf8_parse_char
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'unichar.c:111,9'
          Dst:             uni_utf8_parse_char
    - functionName:    uni_utf8_get_char_buf
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - buffer
        - size
        - chr_r
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uni_utf8_parse_char
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'unichar.c:121,9'
          Dst:             uni_utf8_parse_char
    - functionName:    uni_strlen
      functionSourceFile: '/src/dovecot/src/lib/unichar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 29
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         5
      ICount:          32
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'unichar.c:27,2'
          Branch Sides:
            - BranchSide:      'unichar.c:27,34'
              BranchSideFuncs: []
            - BranchSide:      'unichar.c:29,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    pwrite_full
      functionSourceFile: '/src/dovecot/src/lib/write-full.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - fd
        - data
        - size
        - offset
      BBCount:         15
      ICount:          107
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - i_panic
        - pwrite
      functionUses:    2
      BranchProfiles:
        - Branch String:   'write-full.c:37,2'
          Branch Sides:
            - BranchSide:      'write-full.c:37,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'write-full.c:39,2'
              BranchSideFuncs:
                - pwrite
                - __errno_location
        - Branch String:   'write-full.c:39,2'
          Branch Sides:
            - BranchSide:      'write-full.c:40,16'
              BranchSideFuncs:
                - pwrite
                - __errno_location
            - BranchSide:      'write-full.c:56,2'
              BranchSideFuncs: []
        - Branch String:   'write-full.c:41,7'
          Branch Sides:
            - BranchSide:      'write-full.c:42,4'
              BranchSideFuncs: []
            - BranchSide:      'write-full.c:44,7'
              BranchSideFuncs:
                - pwrite
                - __errno_location
        - Branch String:   'write-full.c:44,7'
          Branch Sides:
            - BranchSide:      'write-full.c:47,4'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'write-full.c:51,10'
              BranchSideFuncs:
                - pwrite
                - __errno_location
      Callsites:
        - Src:             'write-full.c:37,2'
          Dst:             i_panic
        - Src:             'write-full.c:40,9'
          Dst:             pwrite
        - Src:             'write-full.c:47,4'
          Dst:             __errno_location
    - functionName:    write_full
      functionSourceFile: '/src/dovecot/src/lib/write-full.c'
      linkageType:     InternalLinkage
      functionLinenumber: 9
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - fd
        - data
        - size
      BBCount:         15
      ICount:          99
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - i_panic
        - write
      functionUses:    3
      BranchProfiles:
        - Branch String:   'write-full.c:12,2'
          Branch Sides:
            - BranchSide:      'write-full.c:12,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'write-full.c:14,2'
              BranchSideFuncs:
                - write
                - __errno_location
        - Branch String:   'write-full.c:14,2'
          Branch Sides:
            - BranchSide:      'write-full.c:15,15'
              BranchSideFuncs:
                - write
                - __errno_location
            - BranchSide:      'write-full.c:30,2'
              BranchSideFuncs: []
        - Branch String:   'write-full.c:16,7'
          Branch Sides:
            - BranchSide:      'write-full.c:17,4'
              BranchSideFuncs: []
            - BranchSide:      'write-full.c:19,7'
              BranchSideFuncs:
                - write
                - __errno_location
        - Branch String:   'write-full.c:19,7'
          Branch Sides:
            - BranchSide:      'write-full.c:22,4'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'write-full.c:26,10'
              BranchSideFuncs:
                - write
                - __errno_location
      Callsites:
        - Src:             'write-full.c:12,2'
          Dst:             i_panic
        - Src:             'write-full.c:15,9'
          Dst:             write
        - Src:             'write-full.c:22,4'
          Dst:             __errno_location
    - functionName:    str_begins_with
      functionSourceFile: '/src/dovecot/src/lib/./strfuncs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - haystack
        - needle
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_match
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './strfuncs.h:100,16'
          Dst:             str_match
    - functionName:    str_append
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cstr
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:35,27'
          Dst:             strlen
        - Src:             './str.h:35,2'
          Dst:             buffer_append
    - functionName:    str_len
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    backtrace_get
      functionSourceFile: '/src/dovecot/src/lib/backtrace-string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - backtrace_r
        - error_r
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - backtrace_append
        - str_c
        - t_str_new
      functionUses:    3
      BranchProfiles:
        - Branch String:   'backtrace-string.c:176,6'
          Branch Sides:
            - BranchSide:      'backtrace-string.c:177,3'
              BranchSideFuncs: []
            - BranchSide:      'backtrace-string.c:179,23'
              BranchSideFuncs:
                - str_c
      Callsites:
        - Src:             'backtrace-string.c:175,8'
          Dst:             t_str_new
        - Src:             'backtrace-string.c:176,6'
          Dst:             backtrace_append
        - Src:             'backtrace-string.c:179,17'
          Dst:             str_c
    - functionName:    backtrace_append
      functionSourceFile: '/src/dovecot/src/lib/backtrace-string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - error_r
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - backtrace_append_libc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'backtrace-string.c:168,9'
          Dst:             backtrace_append_libc
    - functionName:    backtrace_append_libc
      functionSourceFile: '/src/dovecot/src/lib/backtrace-string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - error_r
      BBCount:         28
      ICount:          174
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - backtrace
        - backtrace_symbols
        - str_append
        - str_begins_with
        - str_len
        - strncmp
        - strrchr
      functionUses:    1
      BranchProfiles:
        - Branch String:   'backtrace-string.c:82,6'
          Branch Sides:
            - BranchSide:      'backtrace-string.c:83,4'
              BranchSideFuncs: []
            - BranchSide:      'backtrace-string.c:87,30'
              BranchSideFuncs:
                - backtrace_symbols
                - free
                - str_len.4273
                - str_len.4273
                - str_begins_with
                - strrchr
                - str_append.4272
                - strncmp
                - str_append.4272
        - Branch String:   'backtrace-string.c:88,6'
          Branch Sides:
            - BranchSide:      'backtrace-string.c:89,4'
              BranchSideFuncs: []
            - BranchSide:      'backtrace-string.c:92,9'
              BranchSideFuncs:
                - free
                - str_len.4273
                - str_len.4273
                - str_begins_with
                - strrchr
                - str_append.4272
                - strncmp
                - str_append.4272
        - Branch String:   'backtrace-string.c:92,2'
          Branch Sides:
            - BranchSide:      'backtrace-string.c:93,15'
              BranchSideFuncs:
                - str_len.4273
                - str_len.4273
                - str_begins_with
                - strrchr
                - str_append.4272
                - free
                - strncmp
                - str_append.4272
            - BranchSide:      'backtrace-string.c:110,7'
              BranchSideFuncs:
                - free
        - Branch String:   'backtrace-string.c:93,7'
          Branch Sides:
            - BranchSide:      'backtrace-string.c:94,15'
              BranchSideFuncs:
                - str_append.4272
                - str_len.4273
                - str_begins_with
                - strrchr
                - str_append.4272
                - free
                - str_len.4273
                - strncmp
            - BranchSide:      'backtrace-string.c:96,15'
              BranchSideFuncs:
                - str_len.4273
                - str_begins_with
                - strrchr
                - str_append.4272
                - free
                - str_len.4273
                - str_append.4272
                - strncmp
        - Branch String:   'backtrace-string.c:96,37'
          Branch Sides:
            - BranchSide:      'backtrace-string.c:96,7'
              BranchSideFuncs:
                - strrchr
                - str_append.4272
                - free
                - str_len.4273
                - str_len.4273
                - str_begins_with
                - strncmp
                - str_append.4272
            - BranchSide:      'backtrace-string.c:102,33'
              BranchSideFuncs:
                - strrchr
                - str_append.4272
                - free
                - str_len.4273
                - str_len.4273
                - str_begins_with
                - strncmp
                - str_append.4272
        - Branch String:   'backtrace-string.c:96,7'
          Branch Sides:
            - BranchSide:      'backtrace-string.c:97,8'
              BranchSideFuncs:
                - strncmp
                - strrchr
                - str_append.4272
                - free
                - str_len.4273
                - str_len.4273
                - str_begins_with
                - str_append.4272
            - BranchSide:      'backtrace-string.c:97,8'
              BranchSideFuncs:
                - str_begins_with
                - strrchr
                - str_append.4272
                - free
                - str_len.4273
                - str_len.4273
                - strncmp
                - str_append.4272
        - Branch String:   'backtrace-string.c:97,8'
          Branch Sides:
            - BranchSide:      'backtrace-string.c:102,33'
              BranchSideFuncs:
                - free
                - str_len.4273
                - str_len.4273
                - str_begins_with
                - strrchr
                - str_append.4272
                - strncmp
                - str_append.4272
            - BranchSide:      'backtrace-string.c:109,2'
              BranchSideFuncs:
                - free
                - str_len.4273
                - str_len.4273
                - str_begins_with
                - strrchr
                - str_append.4272
                - strncmp
                - str_append.4272
        - Branch String:   'backtrace-string.c:96,7'
          Branch Sides:
            - BranchSide:      'backtrace-string.c:102,33'
              BranchSideFuncs:
                - free
                - str_len.4273
                - str_len.4273
                - str_begins_with
                - strrchr
                - str_append.4272
                - strncmp
                - str_append.4272
            - BranchSide:      'backtrace-string.c:109,2'
              BranchSideFuncs:
                - free
                - str_len.4273
                - str_len.4273
                - str_begins_with
                - strrchr
                - str_append.4272
                - strncmp
                - str_append.4272
        - Branch String:   'backtrace-string.c:103,8'
          Branch Sides:
            - BranchSide:      'backtrace-string.c:104,11'
              BranchSideFuncs:
                - str_append.4272
                - free
                - str_len.4273
                - str_len.4273
                - str_begins_with
                - strrchr
                - strncmp
                - str_append.4272
            - BranchSide:      'backtrace-string.c:106,14'
              BranchSideFuncs:
                - str_append.4272
                - free
                - str_len.4273
                - str_len.4273
                - str_begins_with
                - strrchr
                - strncmp
                - str_append.4272
      Callsites:
        - Src:             'backtrace-string.c:76,25'
          Dst:             str_len
        - Src:             'backtrace-string.c:81,8'
          Dst:             backtrace
        - Src:             'backtrace-string.c:87,12'
          Dst:             backtrace_symbols
        - Src:             'backtrace-string.c:93,7'
          Dst:             str_len
        - Src:             'backtrace-string.c:94,4'
          Dst:             str_append
        - Src:             'backtrace-string.c:96,7'
          Dst:             str_len
        - Src:             'backtrace-string.c:97,8'
          Dst:             strncmp
        - Src:             'backtrace-string.c:97,8'
          Dst:             str_begins_with
        - Src:             'backtrace-string.c:102,25'
          Dst:             strrchr
        - Src:             'backtrace-string.c:107,4'
          Dst:             str_append
    - functionName:    backtrace
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    backtrace_symbols
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    bits_required64
      functionSourceFile: '/src/dovecot/src/lib/./bits.h'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - num
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './bits.h:50,9'
          Branch Sides:
            - BranchSide:      './bits.h:50,9'
              BranchSideFuncs: []
            - BranchSide:      './bits.h:50,45'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    nearest_power
      functionSourceFile: '/src/dovecot/src/lib/bits.c'
      linkageType:     InternalLinkage
      functionLinenumber: 16
      functionLinenumberEnd: 23
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - num
      BBCount:         10
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - bits_required64
        - i_panic
      functionUses:    19
      BranchProfiles:
        - Branch String:   'bits.c:17,2'
          Branch Sides:
            - BranchSide:      'bits.c:17,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'bits.c:19,6'
              BranchSideFuncs:
                - bits_required64
        - Branch String:   'bits.c:19,6'
          Branch Sides:
            - BranchSide:      'bits.c:20,3'
              BranchSideFuncs: []
            - BranchSide:      'bits.c:22,16'
              BranchSideFuncs:
                - bits_required64
      Callsites:
        - Src:             'bits.c:17,2'
          Dst:             i_panic
        - Src:             'bits.c:22,16'
          Dst:             bits_required64
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_get_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - count_r
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:253,13'
          Dst:             array_count_i
    - functionName:    array_append_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - data
        - count
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:212,2'
          Dst:             buffer_append
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    1
      BranchProfiles:
        - Branch String:   './array.h:149,3'
          Branch Sides:
            - BranchSide:      './array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.4334
            - BranchSide:      './array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.4334
      Callsites:
        - Src:             './array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             './array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    pool_unref
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:176,6'
          Branch Sides:
            - BranchSide:      './mempool.h:176,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:177,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    env_backup_free
      functionSourceFile: '/src/dovecot/src/lib/env-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _env
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pool_unref
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'env-util.c:128,2'
          Dst:             pool_unref
    - functionName:    env_backup_restore
      functionSourceFile: '/src/dovecot/src/lib/env-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - env
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - env_clean
        - env_put_array
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'env-util.c:119,2'
          Dst:             env_clean
        - Src:             'env-util.c:120,2'
          Dst:             env_put_array
    - functionName:    env_clean
      functionSourceFile: '/src/dovecot/src/lib/env-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          23
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - clearenv
        - i_fatal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'env-util.c:45,6'
          Branch Sides:
            - BranchSide:      'env-util.c:45,6'
              BranchSideFuncs:
                - clearenv
                - i_fatal
            - BranchSide:      'env-util.c:45,6'
              BranchSideFuncs:
                - clearenv
                - i_fatal
        - Branch String:   'env-util.c:45,6'
          Branch Sides:
            - BranchSide:      'env-util.c:46,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'env-util.c:59,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'env-util.c:45,6'
          Dst:             clearenv
        - Src:             'env-util.c:46,3'
          Dst:             i_fatal
    - functionName:    env_put_array
      functionSourceFile: '/src/dovecot/src/lib/env-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - envs
      BBCount:         17
      ICount:          97
      EdgeCount:       18
      CyclomaticComplexity: 3
      functionsReached:
        - env_put
        - i_panic
        - strchr
        - t_pop
        - t_push
        - t_strdup_until
      functionUses:    1
      BranchProfiles:
        - Branch String:   'env-util.c:26,2'
          Branch Sides:
            - BranchSide:      'env-util.c:27,30'
              BranchSideFuncs:
                - strchr
                - t_push
                - t_strdup_until
                - env_put
                - t_pop
                - i_panic
                - i_panic
            - BranchSide:      'env-util.c:34,1'
              BranchSideFuncs: []
        - Branch String:   'env-util.c:28,3'
          Branch Sides:
            - BranchSide:      'env-util.c:28,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'env-util.c:29,3'
              BranchSideFuncs:
                - t_push
                - t_strdup_until
                - env_put
                - t_pop
                - strchr
                - i_panic
                - i_panic
        - Branch String:   'env-util.c:32,5'
          Branch Sides:
            - BranchSide:      'env-util.c:32,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'env-util.c:32,5'
              BranchSideFuncs:
                - strchr
                - t_push
                - t_strdup_until
                - env_put
                - t_pop
                - i_panic
                - i_panic
      Callsites:
        - Src:             'env-util.c:27,23'
          Dst:             strchr
        - Src:             'env-util.c:28,3'
          Dst:             i_panic
        - Src:             'env-util.c:29,3'
          Dst:             t_push
        - Src:             'env-util.c:30,23'
          Dst:             t_strdup_until
        - Src:             'env-util.c:31,4'
          Dst:             env_put
        - Src:             'env-util.c:32,5'
          Dst:             t_pop
        - Src:             'env-util.c:32,5'
          Dst:             i_panic
    - functionName:    env_put
      functionSourceFile: '/src/dovecot/src/lib/env-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 17
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
        - value
      BBCount:         9
      ICount:          50
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - i_fatal
        - i_panic
        - setenv
        - strchr
      functionUses:    10
      BranchProfiles:
        - Branch String:   'env-util.c:18,2'
          Branch Sides:
            - BranchSide:      'env-util.c:18,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'env-util.c:20,13'
              BranchSideFuncs:
                - setenv
                - i_fatal
        - Branch String:   'env-util.c:20,6'
          Branch Sides:
            - BranchSide:      'env-util.c:21,40'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'env-util.c:22,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'env-util.c:18,2'
          Dst:             strchr
        - Src:             'env-util.c:18,2'
          Dst:             i_panic
        - Src:             'env-util.c:20,6'
          Dst:             setenv
        - Src:             'env-util.c:21,3'
          Dst:             i_fatal
    - functionName:    setenv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clearenv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    env_get_environ_p
      functionSourceFile: '/src/dovecot/src/lib/env-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    env_backup_save
      functionSourceFile: '/src/dovecot/src/lib/env-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         15
      ICount:          111
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - env_get_environ_p
        - i_panic
        - malloc_multiply_check
        - p_malloc
        - p_strdup
        - pool_alloconly_create
      functionUses:    0
      BranchProfiles:
        - Branch String:   'env-util.c:99,20'
          Branch Sides:
            - BranchSide:      'env-util.c:99,9'
              BranchSideFuncs:
                - env_get_environ_p
                - pool_alloconly_create
                - malloc_multiply_check.4349
                - p_malloc.4351
                - malloc_multiply_check.4349
                - p_malloc.4351
                - p_strdup
                - i_panic
            - BranchSide:      'env-util.c:104,2'
              BranchSideFuncs:
                - env_get_environ_p
                - pool_alloconly_create
                - malloc_multiply_check.4349
                - p_malloc.4351
                - malloc_multiply_check.4349
                - p_malloc.4351
                - p_strdup
                - i_panic
        - Branch String:   'env-util.c:104,2'
          Branch Sides:
            - BranchSide:      'env-util.c:104,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'env-util.c:106,13'
              BranchSideFuncs:
                - pool_alloconly_create
                - malloc_multiply_check.4349
                - p_malloc.4351
                - malloc_multiply_check.4349
                - p_malloc.4351
                - p_strdup
        - Branch String:   'env-util.c:106,2'
          Branch Sides:
            - BranchSide:      'env-util.c:106,47'
              BranchSideFuncs:
                - pool_alloconly_create
                - malloc_multiply_check.4349
                - p_malloc.4351
                - malloc_multiply_check.4349
                - p_malloc.4351
                - p_strdup
            - BranchSide:      'env-util.c:108,9'
              BranchSideFuncs:
                - pool_alloconly_create
                - malloc_multiply_check.4349
                - p_malloc.4351
                - malloc_multiply_check.4349
                - p_malloc.4351
                - p_strdup
        - Branch String:   'env-util.c:112,2'
          Branch Sides:
            - BranchSide:      'env-util.c:113,30'
              BranchSideFuncs:
                - p_strdup
            - BranchSide:      'env-util.c:114,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'env-util.c:99,20'
          Dst:             env_get_environ_p
        - Src:             'env-util.c:104,2'
          Dst:             i_panic
        - Src:             'env-util.c:108,9'
          Dst:             pool_alloconly_create
        - Src:             'env-util.c:109,8'
          Dst:             malloc_multiply_check
        - Src:             'env-util.c:109,8'
          Dst:             p_malloc
        - Src:             'env-util.c:111,17'
          Dst:             malloc_multiply_check
        - Src:             'env-util.c:111,17'
          Dst:             p_malloc
        - Src:             'env-util.c:113,21'
          Dst:             p_strdup
    - functionName:    env_clean_except_real
      functionSourceFile: '/src/dovecot/src/lib/env-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - preserve_envs
      BBCount:         14
      ICount:          106
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - array_append_i
        - array_create_i
        - array_get_i
        - env_clean
        - env_put
        - getenv
        - pool_datastack_create
        - t_strdup
      functionUses:    1
      BranchProfiles:
        - Branch String:   'env-util.c:68,2'
          Branch Sides:
            - BranchSide:      'env-util.c:69,21'
              BranchSideFuncs:
                - getenv
                - env_clean
                - array_get_i.4335
                - env_put
                - t_strdup
                - t_strdup
                - array_append_i.4336
                - array_append_i.4336
            - BranchSide:      'env-util.c:83,2'
              BranchSideFuncs:
                - env_clean
                - array_get_i.4335
                - env_put
        - Branch String:   'env-util.c:72,7'
          Branch Sides:
            - BranchSide:      'env-util.c:73,19'
              BranchSideFuncs:
                - t_strdup
                - t_strdup
                - array_append_i.4336
                - array_append_i.4336
                - env_clean
                - array_get_i.4335
                - env_put
                - getenv
            - BranchSide:      'env-util.c:78,2'
              BranchSideFuncs:
                - env_clean
                - array_get_i.4335
                - env_put
                - getenv
                - t_strdup
                - t_strdup
                - array_append_i.4336
                - array_append_i.4336
        - Branch String:   'env-util.c:86,2'
          Branch Sides:
            - BranchSide:      'env-util.c:87,11'
              BranchSideFuncs:
                - env_put
            - BranchSide:      'env-util.c:88,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'env-util.c:67,2'
          Dst:             pool_datastack_create
        - Src:             'env-util.c:67,2'
          Dst:             array_create_i
        - Src:             'env-util.c:71,11'
          Dst:             getenv
        - Src:             'env-util.c:73,10'
          Dst:             t_strdup
        - Src:             'env-util.c:74,12'
          Dst:             t_strdup
        - Src:             'env-util.c:75,4'
          Dst:             array_append_i
        - Src:             'env-util.c:76,4'
          Dst:             array_append_i
        - Src:             'env-util.c:83,2'
          Dst:             env_clean
        - Src:             'env-util.c:85,9'
          Dst:             array_get_i
        - Src:             'env-util.c:87,3'
          Dst:             env_put
    - functionName:    env_clean_except
      functionSourceFile: '/src/dovecot/src/lib/env-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - preserve_envs
      BBCount:         9
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - env_clean_except_real
        - i_panic
        - t_pop
        - t_push
      functionUses:    0
      BranchProfiles:
        - Branch String:   'env-util.c:94,4'
          Branch Sides:
            - BranchSide:      'env-util.c:94,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'env-util.c:94,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'env-util.c:92,2'
          Dst:             t_push
        - Src:             'env-util.c:93,3'
          Dst:             env_clean_except_real
        - Src:             'env-util.c:94,4'
          Dst:             t_pop
        - Src:             'env-util.c:94,4'
          Dst:             i_panic
    - functionName:    env_remove
      functionSourceFile: '/src/dovecot/src/lib/env-util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
      BBCount:         5
      ICount:          28
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_fatal
        - unsetenv
      functionUses:    8
      BranchProfiles:
        - Branch String:   'env-util.c:38,6'
          Branch Sides:
            - BranchSide:      'env-util.c:39,38'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'env-util.c:40,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'env-util.c:38,6'
          Dst:             unsetenv
        - Src:             'env-util.c:39,3'
          Dst:             i_fatal
    - functionName:    unsetenv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_query_update_category
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1222
      functionLinenumberEnd: 1254
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - query
        - node
        - category
        - add
      BBCount:         29
      ICount:          157
      EdgeCount:       34
      CyclomaticComplexity: 7
      functionsReached:
        - event_filter_query_update_category
        - strcmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'event-filter.c:1223,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:1224,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1226,10'
              BranchSideFuncs:
                - strcmp
                - event_filter_query_update_category
                - event_filter_query_update_category
        - Branch String:   'event-filter.c:1226,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1226,2'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1228,38'
              BranchSideFuncs:
                - event_filter_query_update_category
                - event_filter_query_update_category
            - BranchSide:      'event-filter.c:1237,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1237,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1237,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1237,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1237,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1237,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1239,7'
              BranchSideFuncs:
                - strcmp
        - Branch String:   'event-filter.c:1239,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:1240,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1242,7'
              BranchSideFuncs:
                - strcmp
        - Branch String:   'event-filter.c:1242,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:1243,8'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'event-filter.c:1249,8'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:1243,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:1244,5'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1246,15'
              BranchSideFuncs:
                - strcmp
        - Branch String:   'event-filter.c:1246,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:1247,26'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1248,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:1228,3'
          Dst:             event_filter_query_update_category
        - Src:             'event-filter.c:1229,3'
          Dst:             event_filter_query_update_category
        - Src:             'event-filter.c:1246,8'
          Dst:             strcmp
    - functionName:    event_match_strlist_recursive
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 721
      functionLinenumberEnd: 739
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - wanted_key
        - wanted_value
        - cmp_flags
        - seen
      BBCount:         22
      ICount:          150
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - cmp_str
        - event_find_field_nonrecursive
        - event_match_strlist_recursive
        - i_memcpy
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   'event-filter.c:725,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:726,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:728,40'
              BranchSideFuncs:
                - event_find_field_nonrecursive
                - event_match_strlist_recursive
                - cmp_str
                - i_memcpy.4510
                - i_panic
        - Branch String:   'event-filter.c:729,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:730,3'
              BranchSideFuncs:
                - event_match_strlist_recursive
                - cmp_str
                - i_memcpy.4510
                - i_panic
            - BranchSide:      'event-filter.c:737,39'
              BranchSideFuncs:
                - event_match_strlist_recursive
        - Branch String:   'event-filter.c:730,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:730,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:731,3'
              BranchSideFuncs:
                - event_match_strlist_recursive
                - cmp_str
                - i_memcpy.4510
        - Branch String:   'event-filter.c:731,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:731,3'
              BranchSideFuncs:
                - i_memcpy.4510
                - event_match_strlist_recursive
                - cmp_str
            - BranchSide:      'event-filter.c:731,3'
              BranchSideFuncs:
                - event_match_strlist_recursive
                - cmp_str
                - i_memcpy.4510
        - Branch String:   'event-filter.c:731,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:732,5'
              BranchSideFuncs:
                - cmp_str
                - event_match_strlist_recursive
                - i_memcpy.4510
            - BranchSide:      'event-filter.c:736,2'
              BranchSideFuncs:
                - event_match_strlist_recursive
        - Branch String:   'event-filter.c:733,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:734,5'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:735,3'
              BranchSideFuncs:
                - event_match_strlist_recursive
                - cmp_str
                - i_memcpy.4510
      Callsites:
        - Src:             'event-filter.c:728,10'
          Dst:             event_find_field_nonrecursive
        - Src:             'event-filter.c:730,3'
          Dst:             i_panic
        - Src:             'event-filter.c:731,3'
          Dst:             i_memcpy
        - Src:             'event-filter.c:733,8'
          Dst:             cmp_str
        - Src:             'event-filter.c:737,9'
          Dst:             event_match_strlist_recursive
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    cmp_str
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 708
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - value
        - wanted_value
        - flags
      BBCount:         10
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - strcasecmp
        - strcmp
        - wildcard_match_escaped
        - wildcard_match_escaped_icase
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter.c:697,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:698,8'
              BranchSideFuncs:
                - wildcard_match_escaped_icase
                - wildcard_match_escaped
            - BranchSide:      'event-filter.c:703,8'
              BranchSideFuncs:
                - strcasecmp
                - strcmp
        - Branch String:   'event-filter.c:698,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:699,34'
              BranchSideFuncs:
                - wildcard_match_escaped
            - BranchSide:      'event-filter.c:701,40'
              BranchSideFuncs:
                - wildcard_match_escaped_icase
        - Branch String:   'event-filter.c:703,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:704,18'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'event-filter.c:706,22'
              BranchSideFuncs:
                - strcasecmp
      Callsites:
        - Src:             'event-filter.c:699,11'
          Dst:             wildcard_match_escaped
        - Src:             'event-filter.c:701,11'
          Dst:             wildcard_match_escaped_icase
        - Src:             'event-filter.c:704,11'
          Dst:             strcmp
        - Src:             'event-filter.c:706,11'
          Dst:             strcasecmp
    - functionName:    event_match_strlist
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 744
      functionLinenumberEnd: 761
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - event
        - wanted_field
        - cmp_flags
      BBCount:         13
      ICount:          81
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - event_get_global
        - event_match_strlist_recursive
        - wanted_field_value_str
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter.c:748,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:750,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:751,36'
              BranchSideFuncs:
                - event_get_global
                - event_match_strlist_recursive
        - Branch String:   'event-filter.c:751,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:754,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:755,6'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:755,30'
          Branch Sides:
            - BranchSide:      'event-filter.c:755,34'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:759,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:755,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:757,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:759,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:745,29'
          Dst:             wanted_field_value_str
        - Src:             'event-filter.c:748,6'
          Dst:             event_match_strlist_recursive
        - Src:             'event-filter.c:751,36'
          Dst:             event_get_global
        - Src:             'event-filter.c:751,6'
          Dst:             event_match_strlist_recursive
    - functionName:    wanted_field_value_str
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - wanted_field
      BBCount:         14
      ICount:          95
      EdgeCount:       27
      CyclomaticComplexity: 15
      functionsReached:
        - i_unreached
        - net_ip2addr
        - t_strdup_printf
      functionUses:    10
      BranchProfiles:
        - Branch String:   'event-filter.c:105,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:107,10'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:109,33'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'event-filter.c:111,34'
              BranchSideFuncs:
                - net_ip2addr
                - t_strdup_printf
            - BranchSide:      'event-filter.c:119,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:119,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:121,2'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'event-filter.c:112,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:114,11'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:115,35'
              BranchSideFuncs:
                - t_strdup_printf
      Callsites:
        - Src:             'event-filter.c:109,10'
          Dst:             t_strdup_printf
        - Src:             'event-filter.c:111,21'
          Dst:             net_ip2addr
        - Src:             'event-filter.c:115,10'
          Dst:             t_strdup_printf
        - Src:             'event-filter.c:121,2'
          Dst:             i_unreached
    - functionName:    event_filter_handle_numeric_operation
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 766
      functionLinenumberEnd: 784
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - int
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - op
        - a
        - b
      BBCount:         14
      ICount:          90
      EdgeCount:       25
      CyclomaticComplexity: 13
      functionsReached:
        - i_unreached
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter.c:767,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:769,10'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:771,10'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:773,10'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:775,10'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:777,10'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:781,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:781,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:781,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:783,2'
              BranchSideFuncs:
                - i_unreached
      Callsites:
        - Src:             'event-filter.c:781,3'
          Dst:             i_unreached
        - Src:             'event-filter.c:783,2'
          Dst:             i_unreached
    - functionName:    cmp_value
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 713
      functionLinenumberEnd: 714
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - value
        - wanted_field
        - flags
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cmp_str
        - wanted_field_value_str
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter.c:714,24'
          Dst:             wanted_field_value_str
        - Src:             'event-filter.c:714,9'
          Dst:             cmp_str
    - functionName:    event_category_match
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 641
      functionLinenumberEnd: 647
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - category
        - wanted_category
      BBCount:         8
      ICount:          43
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter.c:642,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:643,7'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:646,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:643,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:644,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:645,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    event_has_category_nonrecursive
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 652
      functionLinenumberEnd: 662
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - event
        - wanted_category
      BBCount:         16
      ICount:          98
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - array_is_created_i
        - event_category_match
        - i_memcpy
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter.c:655,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:656,3'
              BranchSideFuncs:
                - event_category_match
                - i_memcpy.4510
            - BranchSide:      'event-filter.c:661,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:656,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:656,3'
              BranchSideFuncs:
                - i_memcpy.4510
                - event_category_match
            - BranchSide:      'event-filter.c:656,3'
              BranchSideFuncs:
                - event_category_match
                - i_memcpy.4510
        - Branch String:   'event-filter.c:656,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:657,29'
              BranchSideFuncs:
                - event_category_match
                - i_memcpy.4510
            - BranchSide:      'event-filter.c:660,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:657,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:658,5'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:659,3'
              BranchSideFuncs:
                - event_category_match
                - i_memcpy.4510
      Callsites:
        - Src:             'event-filter.c:655,6'
          Dst:             array_is_created_i
        - Src:             'event-filter.c:656,3'
          Dst:             i_memcpy
        - Src:             'event-filter.c:657,8'
          Dst:             event_category_match
    - functionName:    array_is_created_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_match_field
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 790
      functionLinenumberEnd: 1001
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - filter
        - event
        - node
        - use_strcmp
        - source_filename
        - source_linenum
      BBCount:         128
      ICount:          855
      EdgeCount:       161
      CyclomaticComplexity: 35
      functionsReached:
        - cmp_value
        - event_filter_export_query_expr_op
        - event_filter_handle_numeric_operation
        - event_find_field_recursive
        - event_get_last_duration
        - event_match_strlist
        - i_panic
        - i_snprintf
        - i_unreached
        - i_warning
        - net_ip2addr
        - net_is_in_network
        - strcmp
        - t_pop
        - t_push
        - wanted_field_value_str
        - wildcard_match_escaped_icase
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter.c:796,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:798,3'
              BranchSideFuncs:
                - event_get_last_duration
                - t_push
                - event_match_strlist
                - t_pop
                - i_panic
                - event_filter_export_query_expr_op
                - i_warning
                - t_push
                - net_ip2addr
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - i_warning
                - net_is_in_network
                - event_filter_export_query_expr_op
                - i_warning
                - i_warning
                - i_snprintf
                - t_push
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - wanted_field_value_str
                - i_warning
                - event_filter_handle_numeric_operation
                - wanted_field_value_str
                - i_warning
                - t_push
                - cmp_value
                - t_pop
                - i_panic
                - strcmp
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - i_unreached
            - BranchSide:      'event-filter.c:806,38'
              BranchSideFuncs:
                - event_find_field_recursive
                - t_push
                - event_match_strlist
                - t_pop
                - i_panic
                - event_filter_export_query_expr_op
                - i_warning
                - t_push
                - net_ip2addr
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - i_warning
                - net_is_in_network
                - event_filter_export_query_expr_op
                - i_warning
                - i_warning
                - i_snprintf
                - t_push
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - wanted_field_value_str
                - i_warning
                - event_filter_handle_numeric_operation
                - wanted_field_value_str
                - i_warning
                - t_push
                - cmp_value
                - t_pop
                - i_panic
                - strcmp
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - i_unreached
        - Branch String:   'event-filter.c:808,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:810,10'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:813,17'
              BranchSideFuncs:
                - t_push
                - event_match_strlist
                - t_pop
                - i_panic
                - event_filter_export_query_expr_op
                - i_warning
                - t_push
                - net_ip2addr
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - i_warning
                - net_is_in_network
                - event_filter_export_query_expr_op
                - i_warning
                - i_warning
                - i_snprintf
                - t_push
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - wanted_field_value_str
                - i_warning
                - event_filter_handle_numeric_operation
                - wanted_field_value_str
                - i_warning
                - t_push
                - cmp_value
                - t_pop
                - i_panic
                - strcmp
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - i_unreached
        - Branch String:   'event-filter.c:810,65'
          Branch Sides:
            - BranchSide:      'event-filter.c:810,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:811,4'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:814,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:815,13'
              BranchSideFuncs:
                - t_push
                - event_match_strlist
                - t_pop
                - i_panic
                - event_filter_export_query_expr_op
                - i_warning
                - t_push
                - net_ip2addr
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - i_warning
                - net_is_in_network
                - event_filter_export_query_expr_op
                - i_warning
                - i_warning
                - i_snprintf
                - t_push
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - wanted_field_value_str
                - i_warning
                - event_filter_handle_numeric_operation
                - wanted_field_value_str
                - i_warning
                - t_push
                - cmp_value
                - t_pop
                - i_panic
                - strcmp
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - i_unreached
            - BranchSide:      'event-filter.c:816,6'
              BranchSideFuncs:
                - t_push
                - event_match_strlist
                - t_pop
                - i_panic
                - event_filter_export_query_expr_op
                - i_warning
                - t_push
                - net_ip2addr
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - i_warning
                - net_is_in_network
                - event_filter_export_query_expr_op
                - i_warning
                - i_warning
                - i_snprintf
                - t_push
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - wanted_field_value_str
                - i_warning
                - event_filter_handle_numeric_operation
                - wanted_field_value_str
                - i_warning
                - t_push
                - cmp_value
                - t_pop
                - i_panic
                - strcmp
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - i_unreached
        - Branch String:   'event-filter.c:816,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:817,13'
              BranchSideFuncs:
                - t_push
                - event_match_strlist
                - t_pop
                - i_panic
                - event_filter_export_query_expr_op
                - i_warning
                - t_push
                - net_ip2addr
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - i_warning
                - net_is_in_network
                - event_filter_export_query_expr_op
                - i_warning
                - i_warning
                - i_snprintf
                - t_push
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - wanted_field_value_str
                - i_warning
                - event_filter_handle_numeric_operation
                - wanted_field_value_str
                - i_warning
                - t_push
                - cmp_value
                - t_pop
                - i_panic
                - strcmp
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - i_unreached
            - BranchSide:      'event-filter.c:819,10'
              BranchSideFuncs:
                - t_push
                - event_match_strlist
                - t_pop
                - i_panic
                - event_filter_export_query_expr_op
                - i_warning
                - t_push
                - net_ip2addr
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - i_warning
                - net_is_in_network
                - event_filter_export_query_expr_op
                - i_warning
                - i_warning
                - i_snprintf
                - t_push
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - wanted_field_value_str
                - i_warning
                - event_filter_handle_numeric_operation
                - wanted_field_value_str
                - i_warning
                - t_push
                - cmp_value
                - t_pop
                - i_panic
                - strcmp
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - i_unreached
        - Branch String:   'event-filter.c:819,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:822,7'
              BranchSideFuncs:
                - t_push
                - cmp_value
                - t_pop
                - i_panic
                - strcmp
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
            - BranchSide:      'event-filter.c:854,7'
              BranchSideFuncs:
                - i_snprintf
                - t_push
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - wanted_field_value_str
                - i_warning
                - event_filter_handle_numeric_operation
                - wanted_field_value_str
                - i_warning
            - BranchSide:      'event-filter.c:920,8'
              BranchSideFuncs:
                - i_warning
            - BranchSide:      'event-filter.c:932,7'
              BranchSideFuncs:
                - t_push
                - net_ip2addr
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - i_warning
                - net_is_in_network
                - event_filter_export_query_expr_op
                - i_warning
            - BranchSide:      'event-filter.c:980,7'
              BranchSideFuncs:
                - t_push
                - event_match_strlist
                - t_pop
                - i_panic
                - event_filter_export_query_expr_op
                - i_warning
            - BranchSide:      'event-filter.c:1000,2'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'event-filter.c:822,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:824,9'
              BranchSideFuncs:
                - event_filter_export_query_expr_op
                - i_warning
            - BranchSide:      'event-filter.c:838,7'
              BranchSideFuncs:
                - t_push
                - cmp_value
                - t_pop
                - i_panic
                - strcmp
                - wanted_field_value_str
        - Branch String:   'event-filter.c:824,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:825,24'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:836,4'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:832,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:832,23'
              BranchSideFuncs:
                - i_warning
            - BranchSide:      'event-filter.c:833,8'
              BranchSideFuncs:
                - i_warning
        - Branch String:   'event-filter.c:838,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:840,11'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:843,3'
              BranchSideFuncs:
                - t_push
                - cmp_value
                - t_pop
                - i_panic
                - strcmp
                - wanted_field_value_str
        - Branch String:   'event-filter.c:840,66'
          Branch Sides:
            - BranchSide:      'event-filter.c:840,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:841,5'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:844,32'
          Branch Sides:
            - BranchSide:      'event-filter.c:845,15'
              BranchSideFuncs:
                - strcmp
                - cmp_value
                - t_pop
                - i_panic
                - wanted_field_value_str
            - BranchSide:      'event-filter.c:849,21'
              BranchSideFuncs:
                - cmp_value
                - t_pop
                - i_panic
        - Branch String:   'event-filter.c:844,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:846,11'
              BranchSideFuncs:
                - wanted_field_value_str
                - t_pop
                - i_panic
            - BranchSide:      'event-filter.c:849,21'
              BranchSideFuncs:
                - cmp_value
                - t_pop
                - i_panic
        - Branch String:   'event-filter.c:851,5'
          Branch Sides:
            - BranchSide:      'event-filter.c:851,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:851,5'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:854,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:855,9'
              BranchSideFuncs:
                - wanted_field_value_str
                - i_warning
            - BranchSide:      'event-filter.c:871,14'
              BranchSideFuncs:
                - i_snprintf
                - t_push
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - wanted_field_value_str
                - i_warning
                - event_filter_handle_numeric_operation
        - Branch String:   'event-filter.c:855,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:856,24'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:870,4'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:866,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:866,23'
              BranchSideFuncs:
                - i_warning
            - BranchSide:      'event-filter.c:867,8'
              BranchSideFuncs:
                - i_warning
        - Branch String:   'event-filter.c:871,14'
          Branch Sides:
            - BranchSide:      'event-filter.c:874,5'
              BranchSideFuncs:
                - event_filter_handle_numeric_operation
            - BranchSide:      'event-filter.c:875,15'
              BranchSideFuncs:
                - i_snprintf
                - t_push
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
                - wanted_field_value_str
                - i_warning
        - Branch String:   'event-filter.c:875,51'
          Branch Sides:
            - BranchSide:      'event-filter.c:876,8'
              BranchSideFuncs:
                - wanted_field_value_str
                - i_warning
            - BranchSide:      'event-filter.c:877,9'
              BranchSideFuncs:
                - wanted_field_value_str
                - i_warning
        - Branch String:   'event-filter.c:875,14'
          Branch Sides:
            - BranchSide:      'event-filter.c:877,9'
              BranchSideFuncs:
                - wanted_field_value_str
                - i_warning
            - BranchSide:      'event-filter.c:890,14'
              BranchSideFuncs:
                - i_snprintf
                - t_push
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
        - Branch String:   'event-filter.c:877,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:878,24'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:889,4'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:885,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:885,23'
              BranchSideFuncs:
                - i_warning
            - BranchSide:      'event-filter.c:886,8'
              BranchSideFuncs:
                - i_warning
        - Branch String:   'event-filter.c:890,14'
          Branch Sides:
            - BranchSide:      'event-filter.c:893,9'
              BranchSideFuncs:
                - wanted_field_value_str
                - event_filter_export_query_expr_op
                - i_warning
            - BranchSide:      'event-filter.c:911,15'
              BranchSideFuncs:
                - i_snprintf
                - t_push
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
        - Branch String:   'event-filter.c:893,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:894,24'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:908,4'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:904,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:904,23'
              BranchSideFuncs:
                - i_warning
            - BranchSide:      'event-filter.c:905,8'
              BranchSideFuncs:
                - i_warning
        - Branch String:   'event-filter.c:915,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:915,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:915,6'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:920,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:921,27'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:929,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:925,30'
          Branch Sides:
            - BranchSide:      'event-filter.c:925,45'
              BranchSideFuncs:
                - i_warning
            - BranchSide:      'event-filter.c:926,11'
              BranchSideFuncs:
                - i_warning
        - Branch String:   'event-filter.c:932,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:934,9'
              BranchSideFuncs:
                - event_filter_export_query_expr_op
                - i_warning
            - BranchSide:      'event-filter.c:948,7'
              BranchSideFuncs:
                - t_push
                - net_ip2addr
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - i_warning
                - net_is_in_network
        - Branch String:   'event-filter.c:934,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:935,24'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:946,4'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:942,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:942,23'
              BranchSideFuncs:
                - i_warning
            - BranchSide:      'event-filter.c:943,8'
              BranchSideFuncs:
                - i_warning
        - Branch String:   'event-filter.c:948,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:949,30'
              BranchSideFuncs:
                - net_is_in_network
            - BranchSide:      'event-filter.c:953,8'
              BranchSideFuncs:
                - t_push
                - net_ip2addr
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
                - wanted_field_value_str
                - i_warning
        - Branch String:   'event-filter.c:953,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:958,9'
              BranchSideFuncs:
                - wanted_field_value_str
                - i_warning
            - BranchSide:      'event-filter.c:972,3'
              BranchSideFuncs:
                - t_push
                - net_ip2addr
                - wanted_field_value_str
                - wildcard_match_escaped_icase
                - t_pop
                - i_panic
        - Branch String:   'event-filter.c:958,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:959,24'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:970,4'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:966,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:966,23'
              BranchSideFuncs:
                - i_warning
            - BranchSide:      'event-filter.c:967,8'
              BranchSideFuncs:
                - i_warning
        - Branch String:   'event-filter.c:975,5'
          Branch Sides:
            - BranchSide:      'event-filter.c:975,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:975,5'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:980,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:981,9'
              BranchSideFuncs:
                - event_filter_export_query_expr_op
                - i_warning
            - BranchSide:      'event-filter.c:995,3'
              BranchSideFuncs:
                - t_push
                - event_match_strlist
                - t_pop
                - i_panic
        - Branch String:   'event-filter.c:981,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:982,24'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:993,4'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:989,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:989,23'
              BranchSideFuncs:
                - i_warning
            - BranchSide:      'event-filter.c:990,8'
              BranchSideFuncs:
                - i_warning
        - Branch String:   'event-filter.c:997,5'
          Branch Sides:
            - BranchSide:      'event-filter.c:997,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:997,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:796,6'
          Dst:             strcmp
        - Src:             'event-filter.c:801,3'
          Dst:             event_get_last_duration
        - Src:             'event-filter.c:806,11'
          Dst:             event_find_field_recursive
        - Src:             'event-filter.c:831,8'
          Dst:             event_filter_export_query_expr_op
        - Src:             'event-filter.c:827,5'
          Dst:             i_warning
        - Src:             'event-filter.c:843,3'
          Dst:             t_push
        - Src:             'event-filter.c:845,8'
          Dst:             strcmp
        - Src:             'event-filter.c:847,6'
          Dst:             wanted_field_value_str
        - Src:             'event-filter.c:849,11'
          Dst:             cmp_value
        - Src:             'event-filter.c:851,5'
          Dst:             t_pop
        - Src:             'event-filter.c:851,5'
          Dst:             i_panic
        - Src:             'event-filter.c:865,8'
          Dst:             wanted_field_value_str
        - Src:             'event-filter.c:858,5'
          Dst:             i_warning
        - Src:             'event-filter.c:873,11'
          Dst:             event_filter_handle_numeric_operation
        - Src:             'event-filter.c:884,8'
          Dst:             wanted_field_value_str
        - Src:             'event-filter.c:880,5'
          Dst:             i_warning
        - Src:             'event-filter.c:902,8'
          Dst:             wanted_field_value_str
        - Src:             'event-filter.c:903,8'
          Dst:             event_filter_export_query_expr_op
        - Src:             'event-filter.c:896,5'
          Dst:             i_warning
        - Src:             'event-filter.c:911,4'
          Dst:             i_snprintf
        - Src:             'event-filter.c:912,4'
          Dst:             t_push
        - Src:             'event-filter.c:914,6'
          Dst:             wanted_field_value_str
        - Src:             'event-filter.c:913,11'
          Dst:             wildcard_match_escaped_icase
        - Src:             'event-filter.c:915,6'
          Dst:             t_pop
        - Src:             'event-filter.c:915,6'
          Dst:             i_panic
        - Src:             'event-filter.c:922,8'
          Dst:             i_warning
        - Src:             'event-filter.c:941,8'
          Dst:             event_filter_export_query_expr_op
        - Src:             'event-filter.c:937,5'
          Dst:             i_warning
        - Src:             'event-filter.c:949,11'
          Dst:             net_is_in_network
        - Src:             'event-filter.c:965,8'
          Dst:             wanted_field_value_str
        - Src:             'event-filter.c:961,5'
          Dst:             i_warning
        - Src:             'event-filter.c:972,3'
          Dst:             t_push
        - Src:             'event-filter.c:973,39'
          Dst:             net_ip2addr
        - Src:             'event-filter.c:974,11'
          Dst:             wanted_field_value_str
        - Src:             'event-filter.c:973,10'
          Dst:             wildcard_match_escaped_icase
        - Src:             'event-filter.c:975,5'
          Dst:             t_pop
        - Src:             'event-filter.c:975,5'
          Dst:             i_panic
        - Src:             'event-filter.c:988,8'
          Dst:             event_filter_export_query_expr_op
        - Src:             'event-filter.c:983,5'
          Dst:             i_warning
        - Src:             'event-filter.c:995,3'
          Dst:             t_push
        - Src:             'event-filter.c:996,10'
          Dst:             event_match_strlist
        - Src:             'event-filter.c:997,5'
          Dst:             t_pop
        - Src:             'event-filter.c:997,5'
          Dst:             i_panic
        - Src:             'event-filter.c:1000,2'
          Dst:             i_unreached
    - functionName:    event_filter_export_query_expr_op
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 529
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - op
      BBCount:         14
      ICount:          64
      EdgeCount:       25
      CyclomaticComplexity: 13
      functionsReached:
        - i_unreached
      functionUses:    8
      BranchProfiles:
        - Branch String:   'event-filter.c:511,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:515,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:515,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:515,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:517,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:519,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:521,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:523,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:525,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:528,2'
              BranchSideFuncs:
                - i_unreached
      Callsites:
        - Src:             'event-filter.c:515,3'
          Dst:             i_unreached
        - Src:             'event-filter.c:528,2'
          Dst:             i_unreached
    - functionName:    event_has_category
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 667
      functionLinenumberEnd: 692
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - event
        - node
        - log_type
      BBCount:         18
      ICount:          103
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - event_get_global
        - event_get_parent
        - event_has_category_nonrecursive
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter.c:671,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:672,11'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:675,6'
              BranchSideFuncs:
                - event_get_global
                - event_has_category_nonrecursive
                - event_get_parent
                - event_has_category_nonrecursive
                - event_get_parent
        - Branch String:   'event-filter.c:675,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:676,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:678,2'
              BranchSideFuncs:
                - event_get_global
                - event_has_category_nonrecursive
                - event_get_parent
                - event_has_category_nonrecursive
                - event_get_parent
        - Branch String:   'event-filter.c:678,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:679,39'
              BranchSideFuncs:
                - event_has_category_nonrecursive
                - event_get_parent
                - event_get_global
                - event_has_category_nonrecursive
                - event_get_parent
            - BranchSide:      'event-filter.c:685,10'
              BranchSideFuncs:
                - event_get_global
                - event_has_category_nonrecursive
                - event_get_parent
        - Branch String:   'event-filter.c:679,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:680,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:682,28'
              BranchSideFuncs:
                - event_get_parent
                - event_get_global
                - event_has_category_nonrecursive
                - event_get_parent
                - event_has_category_nonrecursive
        - Branch String:   'event-filter.c:686,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:687,39'
              BranchSideFuncs:
                - event_has_category_nonrecursive
                - event_get_parent
            - BranchSide:      'event-filter.c:691,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:687,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:688,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:689,28'
              BranchSideFuncs:
                - event_get_parent
                - event_has_category_nonrecursive
      Callsites:
        - Src:             'event-filter.c:679,7'
          Dst:             event_has_category_nonrecursive
        - Src:             'event-filter.c:682,11'
          Dst:             event_get_parent
        - Src:             'event-filter.c:685,10'
          Dst:             event_get_global
        - Src:             'event-filter.c:687,7'
          Dst:             event_has_category_nonrecursive
        - Src:             'event-filter.c:689,11'
          Dst:             event_get_parent
    - functionName:    event_filter_append_escaped
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 499
      functionLinenumberEnd: 506
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - dest
        - src
        - wildcard
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - str_append
        - str_append_escaped
        - strlen
      functionUses:    5
      BranchProfiles:
        - Branch String:   'event-filter.c:500,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:501,22'
              BranchSideFuncs:
                - str_append.4537
            - BranchSide:      'event-filter.c:504,14'
              BranchSideFuncs:
                - str_append.4537
      Callsites:
        - Src:             'event-filter.c:501,33'
          Dst:             strlen
        - Src:             'event-filter.c:501,3'
          Dst:             str_append_escaped
        - Src:             'event-filter.c:504,3'
          Dst:             str_append
    - functionName:    str_append
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cstr
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:35,27'
          Dst:             strlen
        - Src:             './str.h:35,2'
          Dst:             buffer_append
    - functionName:    event_filter_export_query_expr
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 535
      functionLinenumberEnd: 603
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - query
        - node
        - dest
      BBCount:         29
      ICount:          257
      EdgeCount:       56
      CyclomaticComplexity: 29
      functionsReached:
        - event_filter_append_escaped
        - event_filter_category_from_log_type
        - event_filter_export_query_expr
        - event_filter_export_query_expr_op
        - i_unreached
        - str_append
        - str_append_c
        - wanted_field_value_str
      functionUses:    6
      BranchProfiles:
        - Branch String:   'event-filter.c:536,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:536,2'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:538,3'
              BranchSideFuncs:
                - str_append_c.4538
                - i_unreached
                - str_append.4537
                - event_filter_export_query_expr
                - str_append_c.4538
                - event_filter_export_query_expr
                - str_append.4537
                - event_filter_export_query_expr
                - event_filter_export_query_expr
                - str_append.4537
                - event_filter_export_query_expr
            - BranchSide:      'event-filter.c:565,14'
              BranchSideFuncs:
                - str_append.4537
                - event_filter_export_query_expr_op
                - str_append.4537
                - str_append_c.4538
                - event_filter_append_escaped
                - str_append_c.4538
            - BranchSide:      'event-filter.c:565,14'
              BranchSideFuncs:
                - str_append.4537
                - event_filter_export_query_expr_op
                - str_append.4537
                - str_append_c.4538
                - event_filter_append_escaped
                - str_append_c.4538
            - BranchSide:      'event-filter.c:573,14'
              BranchSideFuncs:
                - str_append.4537
                - event_filter_export_query_expr_op
                - str_append.4537
                - str_append_c.4538
                - event_filter_append_escaped
                - str_append_c.4538
            - BranchSide:      'event-filter.c:580,14'
              BranchSideFuncs:
                - str_append.4537
                - event_filter_export_query_expr_op
                - str_append.4537
                - event_filter_category_from_log_type
                - str_append.4537
                - str_append_c.4538
                - event_filter_append_escaped
                - str_append_c.4538
            - BranchSide:      'event-filter.c:592,3'
              BranchSideFuncs:
                - str_append_c.4538
                - event_filter_append_escaped
                - str_append_c.4538
                - event_filter_export_query_expr_op
                - str_append.4537
                - str_append_c.4538
                - wanted_field_value_str
                - event_filter_append_escaped
                - str_append_c.4538
            - BranchSide:      'event-filter.c:592,3'
              BranchSideFuncs:
                - str_append_c.4538
                - event_filter_append_escaped
                - str_append_c.4538
                - event_filter_export_query_expr_op
                - str_append.4537
                - str_append_c.4538
                - wanted_field_value_str
                - event_filter_append_escaped
                - str_append_c.4538
            - BranchSide:      'event-filter.c:592,3'
              BranchSideFuncs:
                - str_append_c.4538
                - event_filter_append_escaped
                - str_append_c.4538
                - event_filter_export_query_expr_op
                - str_append.4537
                - str_append_c.4538
                - wanted_field_value_str
                - event_filter_append_escaped
                - str_append_c.4538
        - Branch String:   'event-filter.c:539,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:541,35'
              BranchSideFuncs:
                - event_filter_export_query_expr
                - str_append.4537
                - event_filter_export_query_expr
                - str_append_c.4538
            - BranchSide:      'event-filter.c:546,35'
              BranchSideFuncs:
                - event_filter_export_query_expr
                - str_append.4537
                - event_filter_export_query_expr
                - str_append_c.4538
            - BranchSide:      'event-filter.c:551,15'
              BranchSideFuncs:
                - str_append.4537
                - event_filter_export_query_expr
                - str_append_c.4538
            - BranchSide:      'event-filter.c:559,4'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:559,4'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:559,4'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:559,4'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:559,4'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:561,3'
              BranchSideFuncs:
                - str_append_c.4538
        - Branch String:   'event-filter.c:582,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:583,4'
              BranchSideFuncs:
                - str_append_c.4538
                - event_filter_append_escaped
                - str_append_c.4538
            - BranchSide:      'event-filter.c:587,15'
              BranchSideFuncs:
                - event_filter_category_from_log_type
                - str_append.4537
      Callsites:
        - Src:             'event-filter.c:538,3'
          Dst:             str_append_c
        - Src:             'event-filter.c:541,4'
          Dst:             event_filter_export_query_expr
        - Src:             'event-filter.c:542,4'
          Dst:             str_append
        - Src:             'event-filter.c:543,4'
          Dst:             event_filter_export_query_expr
        - Src:             'event-filter.c:546,4'
          Dst:             event_filter_export_query_expr
        - Src:             'event-filter.c:547,4'
          Dst:             str_append
        - Src:             'event-filter.c:548,4'
          Dst:             event_filter_export_query_expr
        - Src:             'event-filter.c:551,4'
          Dst:             str_append
        - Src:             'event-filter.c:552,4'
          Dst:             event_filter_export_query_expr
        - Src:             'event-filter.c:559,4'
          Dst:             i_unreached
        - Src:             'event-filter.c:561,3'
          Dst:             str_append_c
        - Src:             'event-filter.c:565,3'
          Dst:             str_append
        - Src:             'event-filter.c:566,20'
          Dst:             event_filter_export_query_expr_op
        - Src:             'event-filter.c:566,3'
          Dst:             str_append
        - Src:             'event-filter.c:567,3'
          Dst:             str_append_c
        - Src:             'event-filter.c:568,3'
          Dst:             event_filter_append_escaped
        - Src:             'event-filter.c:570,3'
          Dst:             str_append_c
        - Src:             'event-filter.c:573,3'
          Dst:             str_append
        - Src:             'event-filter.c:574,20'
          Dst:             event_filter_export_query_expr_op
        - Src:             'event-filter.c:574,3'
          Dst:             str_append
        - Src:             'event-filter.c:575,3'
          Dst:             str_append_c
        - Src:             'event-filter.c:576,3'
          Dst:             event_filter_append_escaped
        - Src:             'event-filter.c:577,3'
          Dst:             str_append_c
        - Src:             'event-filter.c:580,3'
          Dst:             str_append
        - Src:             'event-filter.c:581,20'
          Dst:             event_filter_export_query_expr_op
        - Src:             'event-filter.c:581,3'
          Dst:             str_append
        - Src:             'event-filter.c:583,4'
          Dst:             str_append_c
        - Src:             'event-filter.c:584,4'
          Dst:             event_filter_append_escaped
        - Src:             'event-filter.c:585,4'
          Dst:             str_append_c
        - Src:             'event-filter.c:587,21'
          Dst:             event_filter_category_from_log_type
        - Src:             'event-filter.c:587,4'
          Dst:             str_append
        - Src:             'event-filter.c:592,3'
          Dst:             str_append_c
        - Src:             'event-filter.c:593,3'
          Dst:             event_filter_append_escaped
        - Src:             'event-filter.c:594,3'
          Dst:             str_append_c
        - Src:             'event-filter.c:595,20'
          Dst:             event_filter_export_query_expr_op
        - Src:             'event-filter.c:595,3'
          Dst:             str_append
        - Src:             'event-filter.c:596,3'
          Dst:             str_append_c
        - Src:             'event-filter.c:598,4'
          Dst:             wanted_field_value_str
        - Src:             'event-filter.c:597,3'
          Dst:             event_filter_append_escaped
        - Src:             'event-filter.c:600,3'
          Dst:             str_append_c
    - functionName:    str_append_c
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - str
        - chr
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_c
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:44,2'
          Dst:             buffer_append_c
    - functionName:    event_filter_category_from_log_type
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 368
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - log_type
      BBCount:         9
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - i_unreached
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter.c:364,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:365,33'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:368,2'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'event-filter.c:365,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:366,37'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:367,2'
              BranchSideFuncs:
                - i_unreached
      Callsites:
        - Src:             'event-filter.c:368,2'
          Dst:             i_unreached
    - functionName:    array_append_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - data
        - count
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:212,2'
          Dst:             buffer_append
    - functionName:    clone_expr
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 431
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - old
      BBCount:         27
      ICount:          377
      EdgeCount:       29
      CyclomaticComplexity: 4
      functionsReached:
        - array_append_i
        - array_count_i
        - array_create_i
        - array_is_created_i
        - clone_expr
        - i_memcpy
        - malloc_multiply_check
        - p_malloc
        - p_strdup
      functionUses:    3
      BranchProfiles:
        - Branch String:   'event-filter.c:376,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:377,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:379,8'
              BranchSideFuncs:
                - malloc_multiply_check.4552
                - p_malloc.4553
                - p_strdup
                - clone_expr
                - clone_expr
                - p_strdup
                - array_is_created_i.4516
                - array_count_i.4554
                - array_create_i.4555
                - p_strdup
                - array_append_i.4551
                - i_memcpy.4510
                - p_strdup
        - Branch String:   'event-filter.c:382,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:384,33'
              BranchSideFuncs:
                - clone_expr
                - clone_expr
            - BranchSide:      'event-filter.c:388,28'
              BranchSideFuncs:
                - p_strdup
            - BranchSide:      'event-filter.c:393,29'
              BranchSideFuncs:
                - p_strdup
                - array_is_created_i.4516
                - array_count_i.4554
                - array_create_i.4555
                - p_strdup
                - array_append_i.4551
                - i_memcpy.4510
                - p_strdup
        - Branch String:   'event-filter.c:396,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:398,36'
              BranchSideFuncs:
                - p_strdup
            - BranchSide:      'event-filter.c:401,30'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:404,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:407,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:411,8'
              BranchSideFuncs:
                - array_is_created_i.4516
                - array_count_i.4554
                - array_create_i.4555
                - p_strdup
                - array_append_i.4551
                - i_memcpy.4510
            - BranchSide:      'event-filter.c:422,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:411,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:413,5'
              BranchSideFuncs:
                - array_count_i.4554
                - array_create_i.4555
                - p_strdup
                - array_append_i.4551
                - i_memcpy.4510
            - BranchSide:      'event-filter.c:420,4'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:415,5'
          Branch Sides:
            - BranchSide:      'event-filter.c:415,5'
              BranchSideFuncs:
                - i_memcpy.4510
                - p_strdup
                - array_append_i.4551
            - BranchSide:      'event-filter.c:415,5'
              BranchSideFuncs:
                - p_strdup
                - array_append_i.4551
                - i_memcpy.4510
        - Branch String:   'event-filter.c:415,5'
          Branch Sides:
            - BranchSide:      'event-filter.c:416,21'
              BranchSideFuncs:
                - p_strdup
                - array_append_i.4551
                - i_memcpy.4510
            - BranchSide:      'event-filter.c:419,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:379,8'
          Dst:             malloc_multiply_check
        - Src:             'event-filter.c:379,8'
          Dst:             p_malloc
        - Src:             'event-filter.c:384,22'
          Dst:             clone_expr
        - Src:             'event-filter.c:385,22'
          Dst:             clone_expr
        - Src:             'event-filter.c:389,24'
          Dst:             p_strdup
        - Src:             'event-filter.c:393,20'
          Dst:             p_strdup
        - Src:             'event-filter.c:398,27'
          Dst:             p_strdup
        - Src:             'event-filter.c:411,8'
          Dst:             array_is_created_i
        - Src:             'event-filter.c:413,5'
          Dst:             array_count_i
        - Src:             'event-filter.c:413,5'
          Dst:             array_create_i
        - Src:             'event-filter.c:415,5'
          Dst:             i_memcpy
        - Src:             'event-filter.c:416,12'
          Dst:             p_strdup
        - Src:             'event-filter.c:417,6'
          Dst:             array_append_i
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    4
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    4
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    2
      BranchProfiles:
        - Branch String:   './array.h:149,3'
          Branch Sides:
            - BranchSide:      './array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.4556
            - BranchSide:      './array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.4556
      Callsites:
        - Src:             './array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             './array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_begins_with
      functionSourceFile: '/src/dovecot/src/lib/./strfuncs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - haystack
        - needle
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_match
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './strfuncs.h:100,16'
          Dst:             str_match
    - functionName:    array_append_space_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_space_unsafe
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:336,9'
          Dst:             buffer_append_space_unsafe
    - functionName:    filter_node_requires_event_name
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - node
      BBCount:         17
      ICount:          98
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - filter_node_requires_event_name
      functionUses:    7
      BranchProfiles:
        - Branch String:   'event-filter.c:172,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:174,42'
              BranchSideFuncs:
                - filter_node_requires_event_name
            - BranchSide:      'event-filter.c:176,42'
              BranchSideFuncs:
                - filter_node_requires_event_name
                - filter_node_requires_event_name
            - BranchSide:      'event-filter.c:179,42'
              BranchSideFuncs:
                - filter_node_requires_event_name
                - filter_node_requires_event_name
            - BranchSide:      'event-filter.c:182,10'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:176,61'
          Branch Sides:
            - BranchSide:      'event-filter.c:176,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:177,36'
              BranchSideFuncs:
                - filter_node_requires_event_name
        - Branch String:   'event-filter.c:179,61'
          Branch Sides:
            - BranchSide:      'event-filter.c:179,3'
              BranchSideFuncs:
                - filter_node_requires_event_name
            - BranchSide:      'event-filter.c:180,36'
              BranchSideFuncs:
                - filter_node_requires_event_name
        - Branch String:   'event-filter.c:182,67'
          Branch Sides:
            - BranchSide:      'event-filter.c:182,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:183,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:174,10'
          Dst:             filter_node_requires_event_name
        - Src:             'event-filter.c:176,10'
          Dst:             filter_node_requires_event_name
        - Src:             'event-filter.c:177,4'
          Dst:             filter_node_requires_event_name
        - Src:             'event-filter.c:179,10'
          Dst:             filter_node_requires_event_name
        - Src:             'event-filter.c:180,4'
          Dst:             filter_node_requires_event_name
    - functionName:    add_node
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - pool
        - root
        - new
        - op
      BBCount:         13
      ICount:          96
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - malloc_multiply_check
        - p_malloc
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter.c:154,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:154,2'
              BranchSideFuncs:
                - malloc_multiply_check.4552
                - p_malloc.4553
                - i_panic
            - BranchSide:      'event-filter.c:154,2'
              BranchSideFuncs:
                - malloc_multiply_check.4552
                - p_malloc.4553
                - i_panic
        - Branch String:   'event-filter.c:154,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:154,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:156,7'
              BranchSideFuncs:
                - malloc_multiply_check.4552
                - p_malloc.4553
        - Branch String:   'event-filter.c:156,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:157,11'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:161,11'
              BranchSideFuncs:
                - malloc_multiply_check.4552
                - p_malloc.4553
      Callsites:
        - Src:             'event-filter.c:154,2'
          Dst:             i_panic
        - Src:             'event-filter.c:161,11'
          Dst:             malloc_multiply_check
        - Src:             'event-filter.c:161,11'
          Dst:             p_malloc
    - functionName:    event_filter_get_or_alloc_internal_query
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
        - context
      BBCount:         10
      ICount:          80
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - array_append_space_i
        - buffer_get_modifiable_data
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter.c:135,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:136,7'
              BranchSideFuncs:
                - array_append_space_i.4560
            - BranchSide:      'event-filter.c:141,10'
              BranchSideFuncs:
                - array_append_space_i.4560
        - Branch String:   'event-filter.c:136,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:137,11'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:138,2'
              BranchSideFuncs:
                - array_append_space_i.4560
      Callsites:
        - Src:             'event-filter.c:135,2'
          Dst:             buffer_get_modifiable_data
        - Src:             'event-filter.c:141,10'
          Dst:             array_append_space_i
    - functionName:    event_filter_deinit
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1276
      functionLinenumberEnd: 1278
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_category_unregister_callback
        - event_filter_category_registered
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter.c:1277,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1277,2'
              BranchSideFuncs:
                - event_category_unregister_callback
            - BranchSide:      'event-filter.c:1277,2'
              BranchSideFuncs:
                - event_category_unregister_callback
      Callsites:
        - Src:             'event-filter.c:1277,2'
          Dst:             event_category_unregister_callback
        - Src:             'event-filter.c:1277,2'
          Dst:             event_filter_category_registered
    - functionName:    event_filter_category_registered
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1257
      functionLinenumberEnd: 1268
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - category
      BBCount:         11
      ICount:          82
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_get_modifiable_data
        - event_filter_query_update_category
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter.c:1262,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1263,3'
              BranchSideFuncs:
                - buffer_get_modifiable_data
                - event_filter_query_update_category
            - BranchSide:      'event-filter.c:1268,1'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:1263,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:1264,39'
              BranchSideFuncs:
                - event_filter_query_update_category
                - buffer_get_modifiable_data
            - BranchSide:      'event-filter.c:1267,2'
              BranchSideFuncs:
                - buffer_get_modifiable_data
                - event_filter_query_update_category
      Callsites:
        - Src:             'event-filter.c:1263,3'
          Dst:             buffer_get_modifiable_data
        - Src:             'event-filter.c:1264,4'
          Dst:             event_filter_query_update_category
    - functionName:    event_filter_init
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1271
      functionLinenumberEnd: 1273
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_category_register_callback
        - event_filter_category_registered
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter.c:1272,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1272,2'
              BranchSideFuncs:
                - event_category_register_callback
            - BranchSide:      'event-filter.c:1272,2'
              BranchSideFuncs:
                - event_category_register_callback
      Callsites:
        - Src:             'event-filter.c:1272,2'
          Dst:             event_category_register_callback
        - Src:             'event-filter.c:1272,2'
          Dst:             event_filter_category_registered
    - functionName:    event_filter_register_cmp
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1209
      functionLinenumberEnd: 1215
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
        - key
        - cmp
      BBCount:         7
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - p_strdup
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:1211,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1211,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:1211,2'
              BranchSideFuncs:
                - p_strdup
      Callsites:
        - Src:             'event-filter.c:1211,2'
          Dst:             i_panic
        - Src:             'event-filter.c:1213,20'
          Dst:             p_strdup
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    event_filter_match_iter_deinit
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1200
      functionLinenumberEnd: 1205
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _iter
      BBCount:         5
      ICount:          30
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter.c:1204,2'
          Dst:             p_free_internal
    - functionName:    event_filter_match_iter_next
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1179
      functionLinenumberEnd: 1197
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - iter
      BBCount:         12
      ICount:          97
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - array_get_i
        - event_filter_query_match
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:1184,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1186,5'
              BranchSideFuncs:
                - event_filter_query_match
            - BranchSide:      'event-filter.c:1196,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:1189,30'
          Branch Sides:
            - BranchSide:      'event-filter.c:1184,2'
              BranchSideFuncs:
                - event_filter_query_match
            - BranchSide:      'event-filter.c:1190,32'
              BranchSideFuncs:
                - event_filter_query_match
        - Branch String:   'event-filter.c:1189,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:1184,2'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1194,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:1183,12'
          Dst:             array_get_i
        - Src:             'event-filter.c:1190,7'
          Dst:             event_filter_query_match
    - functionName:    array_get_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - count_r
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:253,13'
          Dst:             array_count_i
    - functionName:    event_filter_query_match
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1090
      functionLinenumberEnd: 1098
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
        - query
        - event
        - source_filename
        - source_linenum
        - ctx
      BBCount:         7
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_query_match_eval
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter.c:1093,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1093,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:1093,2'
              BranchSideFuncs:
                - event_filter_query_match_eval
      Callsites:
        - Src:             'event-filter.c:1093,2'
          Dst:             i_panic
        - Src:             'event-filter.c:1096,9'
          Dst:             event_filter_query_match_eval
    - functionName:    event_filter_query_match_eval
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1057
      functionLinenumberEnd: 1082
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - filter
        - node
        - event
        - source_filename
        - source_linenum
        - log_type
      BBCount:         20
      ICount:          151
      EdgeCount:       20
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_query_match_cmp
        - event_filter_query_match_eval
        - i_unreached
      functionUses:    6
      BranchProfiles:
        - Branch String:   'event-filter.c:1058,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1064,39'
              BranchSideFuncs:
                - event_filter_query_match_cmp
            - BranchSide:      'event-filter.c:1064,39'
              BranchSideFuncs:
                - event_filter_query_match_cmp
            - BranchSide:      'event-filter.c:1064,39'
              BranchSideFuncs:
                - event_filter_query_match_cmp
            - BranchSide:      'event-filter.c:1064,39'
              BranchSideFuncs:
                - event_filter_query_match_cmp
            - BranchSide:      'event-filter.c:1064,39'
              BranchSideFuncs:
                - event_filter_query_match_cmp
            - BranchSide:      'event-filter.c:1067,40'
              BranchSideFuncs:
                - event_filter_query_match_eval
                - event_filter_query_match_eval
            - BranchSide:      'event-filter.c:1072,40'
              BranchSideFuncs:
                - event_filter_query_match_eval
                - event_filter_query_match_eval
            - BranchSide:      'event-filter.c:1077,41'
              BranchSideFuncs:
                - event_filter_query_match_eval
            - BranchSide:      'event-filter.c:1081,2'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'event-filter.c:1068,54'
          Branch Sides:
            - BranchSide:      'event-filter.c:1067,3'
              BranchSideFuncs:
                - event_filter_query_match_eval
            - BranchSide:      'event-filter.c:1069,34'
              BranchSideFuncs:
                - event_filter_query_match_eval
        - Branch String:   'event-filter.c:1073,55'
          Branch Sides:
            - BranchSide:      'event-filter.c:1072,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1074,34'
              BranchSideFuncs:
                - event_filter_query_match_eval
      Callsites:
        - Src:             'event-filter.c:1064,10'
          Dst:             event_filter_query_match_cmp
        - Src:             'event-filter.c:1067,10'
          Dst:             event_filter_query_match_eval
        - Src:             'event-filter.c:1069,4'
          Dst:             event_filter_query_match_eval
        - Src:             'event-filter.c:1072,10'
          Dst:             event_filter_query_match_eval
        - Src:             'event-filter.c:1074,4'
          Dst:             event_filter_query_match_eval
        - Src:             'event-filter.c:1077,11'
          Dst:             event_filter_query_match_eval
        - Src:             'event-filter.c:1081,2'
          Dst:             i_unreached
    - functionName:    event_filter_query_match_cmp
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1009
      functionLinenumberEnd: 1049
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - filter
        - node
        - event
        - source_filename
        - source_linenum
        - log_type
      BBCount:         42
      ICount:          265
      EdgeCount:       46
      CyclomaticComplexity: 6
      functionsReached:
        - event_has_category
        - event_match_field
        - i_panic
        - i_unreached
        - strchr
        - strcmp
        - t_pop
        - t_push
        - t_strdup_printf
        - wildcard_match_escaped
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter.c:1010,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1010,2'
              BranchSideFuncs:
                - event_match_field
                - event_match_field
                - event_has_category
                - strchr
                - t_push
                - t_strdup_printf
                - strcmp
                - t_pop
                - i_panic
                - strcmp
                - wildcard_match_escaped
                - strcmp
                - i_unreached
                - i_unreached
                - i_panic
            - BranchSide:      'event-filter.c:1010,2'
              BranchSideFuncs:
                - event_match_field
                - event_match_field
                - event_has_category
                - strchr
                - t_push
                - t_strdup_printf
                - strcmp
                - t_pop
                - i_panic
                - strcmp
                - wildcard_match_escaped
                - strcmp
                - i_unreached
                - i_unreached
                - i_panic
        - Branch String:   'event-filter.c:1010,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1010,2'
              BranchSideFuncs:
                - event_match_field
                - event_match_field
                - event_has_category
                - strchr
                - t_push
                - t_strdup_printf
                - strcmp
                - t_pop
                - i_panic
                - strcmp
                - wildcard_match_escaped
                - strcmp
                - i_unreached
                - i_unreached
                - i_panic
            - BranchSide:      'event-filter.c:1010,2'
              BranchSideFuncs:
                - event_match_field
                - event_match_field
                - event_has_category
                - strchr
                - t_push
                - t_strdup_printf
                - strcmp
                - t_pop
                - i_panic
                - strcmp
                - wildcard_match_escaped
                - strcmp
                - i_unreached
                - i_unreached
                - i_panic
        - Branch String:   'event-filter.c:1010,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1010,2'
              BranchSideFuncs:
                - event_match_field
                - event_match_field
                - event_has_category
                - strchr
                - t_push
                - t_strdup_printf
                - strcmp
                - t_pop
                - i_panic
                - strcmp
                - wildcard_match_escaped
                - strcmp
                - i_unreached
                - i_unreached
                - i_panic
            - BranchSide:      'event-filter.c:1010,2'
              BranchSideFuncs:
                - event_match_field
                - event_match_field
                - event_has_category
                - strchr
                - t_push
                - t_strdup_printf
                - strcmp
                - t_pop
                - i_panic
                - strcmp
                - wildcard_match_escaped
                - strcmp
                - i_unreached
                - i_unreached
                - i_panic
        - Branch String:   'event-filter.c:1010,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1010,2'
              BranchSideFuncs:
                - event_match_field
                - event_match_field
                - event_has_category
                - strchr
                - t_push
                - t_strdup_printf
                - strcmp
                - t_pop
                - i_panic
                - strcmp
                - wildcard_match_escaped
                - strcmp
                - i_unreached
                - i_unreached
                - i_panic
            - BranchSide:      'event-filter.c:1010,2'
              BranchSideFuncs:
                - event_match_field
                - event_match_field
                - event_has_category
                - strchr
                - t_push
                - t_strdup_printf
                - strcmp
                - t_pop
                - i_panic
                - strcmp
                - wildcard_match_escaped
                - strcmp
                - i_unreached
                - i_unreached
                - i_panic
        - Branch String:   'event-filter.c:1010,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1010,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:1016,10'
              BranchSideFuncs:
                - event_match_field
                - event_match_field
                - event_has_category
                - strchr
                - t_push
                - t_strdup_printf
                - strcmp
                - t_pop
                - i_panic
                - strcmp
                - wildcard_match_escaped
                - strcmp
                - i_unreached
                - i_unreached
        - Branch String:   'event-filter.c:1016,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1018,4'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter.c:1020,12'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'event-filter.c:1023,12'
              BranchSideFuncs:
                - wildcard_match_escaped
            - BranchSide:      'event-filter.c:1028,15'
              BranchSideFuncs:
                - strchr
                - t_push
                - t_strdup_printf
                - strcmp
                - t_pop
                - i_panic
                - strcmp
            - BranchSide:      'event-filter.c:1038,30'
              BranchSideFuncs:
                - event_has_category
            - BranchSide:      'event-filter.c:1040,29'
              BranchSideFuncs:
                - event_match_field
            - BranchSide:      'event-filter.c:1044,29'
              BranchSideFuncs:
                - event_match_field
            - BranchSide:      'event-filter.c:1044,29'
              BranchSideFuncs:
                - event_match_field
            - BranchSide:      'event-filter.c:1048,2'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'event-filter.c:1020,41'
          Branch Sides:
            - BranchSide:      'event-filter.c:1020,4'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'event-filter.c:1021,18'
              BranchSideFuncs:
                - strcmp
        - Branch String:   'event-filter.c:1023,41'
          Branch Sides:
            - BranchSide:      'event-filter.c:1023,4'
              BranchSideFuncs:
                - wildcard_match_escaped
            - BranchSide:      'event-filter.c:1024,28'
              BranchSideFuncs:
                - wildcard_match_escaped
        - Branch String:   'event-filter.c:1028,8'
          Branch Sides:
            - BranchSide:      'event-filter.c:1029,18'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'event-filter.c:1030,9'
              BranchSideFuncs:
                - t_push
                - t_strdup_printf
                - strcmp
                - t_pop
                - i_panic
        - Branch String:   'event-filter.c:1034,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:1034,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:1034,6'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:1010,2'
          Dst:             i_panic
        - Src:             'event-filter.c:1018,4'
          Dst:             i_unreached
        - Src:             'event-filter.c:1021,11'
          Dst:             strcmp
        - Src:             'event-filter.c:1024,5'
          Dst:             wildcard_match_escaped
        - Src:             'event-filter.c:1028,8'
          Dst:             strchr
        - Src:             'event-filter.c:1029,11'
          Dst:             strcmp
        - Src:             'event-filter.c:1030,9'
          Dst:             t_push
        - Src:             'event-filter.c:1032,6'
          Dst:             t_strdup_printf
        - Src:             'event-filter.c:1033,11'
          Dst:             strcmp
        - Src:             'event-filter.c:1034,6'
          Dst:             t_pop
        - Src:             'event-filter.c:1034,6'
          Dst:             i_panic
        - Src:             'event-filter.c:1038,11'
          Dst:             event_has_category
        - Src:             'event-filter.c:1040,11'
          Dst:             event_match_field
        - Src:             'event-filter.c:1044,11'
          Dst:             event_match_field
        - Src:             'event-filter.c:1048,2'
          Dst:             i_unreached
    - functionName:    event_filter_match_iter_init
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1164
      functionLinenumberEnd: 1175
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
        - event
        - ctx
      BBCount:         10
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - event_filter_match_fastpath
        - i_panic
        - malloc_multiply_check
        - p_malloc
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:1167,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1167,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:1169,9'
              BranchSideFuncs:
                - malloc_multiply_check.4552
                - p_malloc.4553
                - event_filter_match_fastpath
        - Branch String:   'event-filter.c:1173,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:1173,6'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1174,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:1167,2'
          Dst:             i_panic
        - Src:             'event-filter.c:1169,9'
          Dst:             malloc_multiply_check
        - Src:             'event-filter.c:1169,9'
          Dst:             p_malloc
        - Src:             'event-filter.c:1173,7'
          Dst:             event_filter_match_fastpath
    - functionName:    event_filter_match_fastpath
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1103
      functionLinenumberEnd: 1111
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
        - event
      BBCount:         7
      ICount:          37
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter.c:1104,33'
          Branch Sides:
            - BranchSide:      'event-filter.c:1104,36'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1110,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:1104,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:1108,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1110,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    array_idx_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
      BBCount:         7
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './array.h:275,2'
          Branch Sides:
            - BranchSide:      './array.h:275,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './array.h:275,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './array.h:275,2'
          Dst:             i_panic
    - functionName:    event_filter_get_root_node
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1145
      functionLinenumberEnd: 1152
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - filter
        - idx
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_count_i
        - array_idx_i
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:1146,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:1147,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1150,3'
              BranchSideFuncs:
                - array_idx_i.4575
      Callsites:
        - Src:             'event-filter.c:1146,13'
          Dst:             array_count_i
        - Src:             'event-filter.c:1150,3'
          Dst:             array_idx_i
    - functionName:    event_filter_match_source
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1126
      functionLinenumberEnd: 1141
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
        - event
        - source_filename
        - source_linenum
        - ctx
      BBCount:         16
      ICount:          105
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - event_filter_match_fastpath
        - event_filter_query_match
        - i_panic
      functionUses:    5
      BranchProfiles:
        - Branch String:   'event-filter.c:1129,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1129,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:1131,35'
              BranchSideFuncs:
                - event_filter_match_fastpath
                - event_filter_query_match
        - Branch String:   'event-filter.c:1131,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:1132,3'
              BranchSideFuncs:
                - event_filter_query_match
            - BranchSide:      'event-filter.c:1134,2'
              BranchSideFuncs:
                - event_filter_query_match
        - Branch String:   'event-filter.c:1134,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:1135,32'
              BranchSideFuncs:
                - event_filter_query_match
            - BranchSide:      'event-filter.c:1140,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:1135,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:1138,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1139,2'
              BranchSideFuncs:
                - event_filter_query_match
      Callsites:
        - Src:             'event-filter.c:1129,2'
          Dst:             i_panic
        - Src:             'event-filter.c:1131,7'
          Dst:             event_filter_match_fastpath
        - Src:             'event-filter.c:1135,7'
          Dst:             event_filter_query_match
    - functionName:    event_filter_match
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1115
      functionLinenumberEnd: 1120
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
        - event
        - ctx
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - event_filter_match_source
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:1116,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:1117,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:1118,35'
              BranchSideFuncs:
                - event_filter_match_source
      Callsites:
        - Src:             'event-filter.c:1118,9'
          Dst:             event_filter_match_source
    - functionName:    event_filter_get_expr_for_testing
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 635
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
        - count_r
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_get_i
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:635,9'
          Branch Sides:
            - BranchSide:      'event-filter.c:635,9'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:635,34'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:633,12'
          Dst:             array_get_i
    - functionName:    event_filter_export_query
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 608
      functionLinenumberEnd: 612
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - query
        - dest
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_export_query_expr
        - str_append_c
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter.c:609,2'
          Dst:             str_append_c
        - Src:             'event-filter.c:610,2'
          Dst:             event_filter_export_query_expr
        - Src:             'event-filter.c:611,2'
          Dst:             str_append_c
    - functionName:    event_filter_export
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 615
      functionLinenumberEnd: 625
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
        - dest
      BBCount:         10
      ICount:          71
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - event_filter_export_query
        - str_append
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:619,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:620,8'
              BranchSideFuncs:
                - str_append.4537
                - event_filter_export_query
            - BranchSide:      'event-filter.c:625,1'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:620,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:621,15'
              BranchSideFuncs:
                - event_filter_export_query
                - str_append.4537
            - BranchSide:      'event-filter.c:622,9'
              BranchSideFuncs:
                - event_filter_export_query
                - str_append.4537
      Callsites:
        - Src:             'event-filter.c:621,4'
          Dst:             str_append
        - Src:             'event-filter.c:623,3'
          Dst:             event_filter_export_query
    - functionName:    event_filter_merge_with_context
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - dest
        - src
        - op
        - new_context
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_merge_with_context_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter.c:494,2'
          Dst:             event_filter_merge_with_context_internal
    - functionName:    event_filter_merge_with_context_internal
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 464
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - dest
        - src
        - op
        - new_context
        - with_context
      BBCount:         23
      ICount:          164
      EdgeCount:       24
      CyclomaticComplexity: 3
      functionsReached:
        - add_node
        - clone_expr
        - event_filter_get_or_alloc_internal_query
        - filter_node_requires_event_name
        - i_panic
        - i_unreached
        - t_pop
        - t_push
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter.c:442,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:444,11'
              BranchSideFuncs:
                - t_push
                - event_filter_get_or_alloc_internal_query
                - clone_expr
                - add_node
                - t_pop
                - i_panic
                - filter_node_requires_event_name
            - BranchSide:      'event-filter.c:447,11'
              BranchSideFuncs:
                - t_push
                - event_filter_get_or_alloc_internal_query
                - clone_expr
                - add_node
                - t_pop
                - i_panic
                - filter_node_requires_event_name
            - BranchSide:      'event-filter.c:450,3'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'event-filter.c:453,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:453,42'
              BranchSideFuncs:
                - t_push
                - event_filter_get_or_alloc_internal_query
                - clone_expr
                - add_node
                - t_pop
                - i_panic
                - filter_node_requires_event_name
            - BranchSide:      'event-filter.c:464,1'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:454,19'
          Branch Sides:
            - BranchSide:      'event-filter.c:454,34'
              BranchSideFuncs:
                - event_filter_get_or_alloc_internal_query
                - clone_expr
                - add_node
                - t_pop
                - t_push
                - i_panic
                - filter_node_requires_event_name
            - BranchSide:      'event-filter.c:454,48'
              BranchSideFuncs:
                - event_filter_get_or_alloc_internal_query
                - clone_expr
                - add_node
                - t_pop
                - t_push
                - i_panic
                - filter_node_requires_event_name
        - Branch String:   'event-filter.c:461,55'
          Branch Sides:
            - BranchSide:      'event-filter.c:461,3'
              BranchSideFuncs:
                - filter_node_requires_event_name
                - t_pop
                - t_push
                - event_filter_get_or_alloc_internal_query
                - clone_expr
                - add_node
                - i_panic
            - BranchSide:      'event-filter.c:462,36'
              BranchSideFuncs:
                - filter_node_requires_event_name
                - t_pop
                - t_push
                - event_filter_get_or_alloc_internal_query
                - clone_expr
                - add_node
                - i_panic
        - Branch String:   'event-filter.c:463,4'
          Branch Sides:
            - BranchSide:      'event-filter.c:463,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:463,4'
              BranchSideFuncs:
                - t_push
                - event_filter_get_or_alloc_internal_query
                - clone_expr
                - add_node
                - t_pop
                - i_panic
                - filter_node_requires_event_name
      Callsites:
        - Src:             'event-filter.c:450,3'
          Dst:             i_unreached
        - Src:             'event-filter.c:453,42'
          Dst:             t_push
        - Src:             'event-filter.c:457,9'
          Dst:             event_filter_get_or_alloc_internal_query
        - Src:             'event-filter.c:460,5'
          Dst:             clone_expr
        - Src:             'event-filter.c:459,3'
          Dst:             add_node
        - Src:             'event-filter.c:462,4'
          Dst:             filter_node_requires_event_name
        - Src:             'event-filter.c:463,4'
          Dst:             t_pop
        - Src:             'event-filter.c:463,4'
          Dst:             i_panic
    - functionName:    event_filter_merge
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 487
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - dest
        - src
        - op
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_merge_with_context_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter.c:486,2'
          Dst:             event_filter_merge_with_context_internal
    - functionName:    array_delete_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
        - count
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:244,2'
          Dst:             buffer_delete
    - functionName:    event_filter_remove_queries_with_context
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 468
      functionLinenumberEnd: 480
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
        - context
      BBCount:         10
      ICount:          84
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - array_delete_i
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:472,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:473,7'
              BranchSideFuncs:
                - array_delete_i.4582
            - BranchSide:      'event-filter.c:479,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:473,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:474,10'
              BranchSideFuncs:
                - array_delete_i.4582
            - BranchSide:      'event-filter.c:478,2'
              BranchSideFuncs:
                - array_delete_i.4582
      Callsites:
        - Src:             'event-filter.c:475,4'
          Dst:             array_delete_i
    - functionName:    event_filter_category_to_log_type
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 357
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
        - log_type_r
      BBCount:         10
      ICount:          63
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter.c:350,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:351,14'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'event-filter.c:356,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:351,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:352,44'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:355,2'
              BranchSideFuncs:
                - strcmp
      Callsites:
        - Src:             'event-filter.c:351,7'
          Dst:             strcmp
    - functionName:    event_filter_node_has_field_prefix
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 308
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - node
        - key
        - prefix
      BBCount:         30
      ICount:          149
      EdgeCount:       37
      CyclomaticComplexity: 9
      functionsReached:
        - event_filter_node_has_field_prefix
        - str_begins_with
        - strcmp
        - strlen
        - strncmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'event-filter.c:309,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:311,7'
              BranchSideFuncs:
                - strcmp
                - str_begins_with.4559
                - strlen
                - strncmp
            - BranchSide:      'event-filter.c:320,5'
              BranchSideFuncs:
                - event_filter_node_has_field_prefix
                - event_filter_node_has_field_prefix
            - BranchSide:      'event-filter.c:320,5'
              BranchSideFuncs:
                - event_filter_node_has_field_prefix
                - event_filter_node_has_field_prefix
            - BranchSide:      'event-filter.c:326,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:328,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:311,62'
          Branch Sides:
            - BranchSide:      'event-filter.c:312,14'
              BranchSideFuncs:
                - strcmp
                - str_begins_with.4559
                - strlen
                - strncmp
            - BranchSide:      'event-filter.c:316,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:312,41'
          Branch Sides:
            - BranchSide:      'event-filter.c:313,7'
              BranchSideFuncs:
                - str_begins_with.4559
                - strlen
                - strncmp
            - BranchSide:      'event-filter.c:316,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:313,60'
          Branch Sides:
            - BranchSide:      'event-filter.c:311,7'
              BranchSideFuncs:
                - str_begins_with.4559
                - strlen
                - strncmp
            - BranchSide:      'event-filter.c:316,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:311,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:314,7'
              BranchSideFuncs:
                - strlen
                - strncmp
            - BranchSide:      'event-filter.c:314,7'
              BranchSideFuncs:
                - str_begins_with.4559
        - Branch String:   'event-filter.c:314,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:315,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:316,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:311,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:315,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:316,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:320,37'
          Branch Sides:
            - BranchSide:      'event-filter.c:322,5'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:323,4'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:319,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:323,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:324,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:312,7'
          Dst:             strcmp
        - Src:             'event-filter.c:314,7'
          Dst:             strlen
        - Src:             'event-filter.c:314,7'
          Dst:             strncmp
        - Src:             'event-filter.c:314,7'
          Dst:             str_begins_with
        - Src:             'event-filter.c:319,7'
          Dst:             event_filter_node_has_field_prefix
        - Src:             'event-filter.c:321,7'
          Dst:             event_filter_node_has_field_prefix
    - functionName:    event_filter_has_field_prefix
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 335
      functionLinenumberEnd: 343
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
        - key
        - prefix
      BBCount:         10
      ICount:          70
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - event_filter_node_has_field_prefix
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:338,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:339,42'
              BranchSideFuncs:
                - event_filter_node_has_field_prefix
            - BranchSide:      'event-filter.c:342,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:339,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:340,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:341,2'
              BranchSideFuncs:
                - event_filter_node_has_field_prefix
      Callsites:
        - Src:             'event-filter.c:339,7'
          Dst:             event_filter_node_has_field_prefix
    - functionName:    event_filter_node_find_field_exact
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - node
        - key
        - op_not
        - op_not_r
      BBCount:         22
      ICount:          154
      EdgeCount:       26
      CyclomaticComplexity: 6
      functionsReached:
        - event_filter_node_find_field_exact
        - strcmp
      functionUses:    4
      BranchProfiles:
        - Branch String:   'event-filter.c:262,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:264,7'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'event-filter.c:273,46'
              BranchSideFuncs:
                - event_filter_node_find_field_exact
                - event_filter_node_find_field_exact
            - BranchSide:      'event-filter.c:273,46'
              BranchSideFuncs:
                - event_filter_node_find_field_exact
                - event_filter_node_find_field_exact
            - BranchSide:      'event-filter.c:283,45'
              BranchSideFuncs:
                - event_filter_node_find_field_exact
            - BranchSide:      'event-filter.c:286,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:264,62'
          Branch Sides:
            - BranchSide:      'event-filter.c:265,14'
              BranchSideFuncs:
                - strcmp
            - BranchSide:      'event-filter.c:270,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:265,41'
          Branch Sides:
            - BranchSide:      'event-filter.c:266,7'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:270,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:264,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:267,16'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:270,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:275,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:276,11'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:277,46'
              BranchSideFuncs:
                - event_filter_node_find_field_exact
        - Branch String:   'event-filter.c:279,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:280,11'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:281,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:265,7'
          Dst:             strcmp
        - Src:             'event-filter.c:273,11'
          Dst:             event_filter_node_find_field_exact
        - Src:             'event-filter.c:277,11'
          Dst:             event_filter_node_find_field_exact
        - Src:             'event-filter.c:283,10'
          Dst:             event_filter_node_find_field_exact
    - functionName:    event_filter_find_field_exact
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 303
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
        - key
        - op_not_r
      BBCount:         10
      ICount:          76
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - event_filter_node_find_field_exact
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:297,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:298,46'
              BranchSideFuncs:
                - event_filter_node_find_field_exact
            - BranchSide:      'event-filter.c:302,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:299,7'
          Branch Sides:
            - BranchSide:      'event-filter.c:300,11'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:301,2'
              BranchSideFuncs:
                - event_filter_node_find_field_exact
      Callsites:
        - Src:             'event-filter.c:298,11'
          Dst:             event_filter_node_find_field_exact
    - functionName:    event_filter_parse_case_sensitive
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - filter
        - error_r
      BBCount:         12
      ICount:          66
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - event_filter_parse_real
        - i_panic
        - t_pop_pass_str
        - t_push
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:252,4'
          Branch Sides:
            - BranchSide:      'event-filter.c:252,4'
              BranchSideFuncs:
                - t_pop_pass_str
                - i_panic
            - BranchSide:      'event-filter.c:252,4'
              BranchSideFuncs:
                - t_pop_pass_str
                - i_panic
        - Branch String:   'event-filter.c:252,4'
          Branch Sides:
            - BranchSide:      'event-filter.c:252,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:252,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:250,2'
          Dst:             t_push
        - Src:             'event-filter.c:251,9'
          Dst:             event_filter_parse_real
        - Src:             'event-filter.c:252,4'
          Dst:             t_pop_pass_str
        - Src:             'event-filter.c:252,4'
          Dst:             i_panic
    - functionName:    event_filter_parse_real
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - filter
        - case_sensitive
        - error_r
      BBCount:         23
      ICount:          170
      EdgeCount:       27
      CyclomaticComplexity: 6
      functionsReached:
        - add_node
        - event_filter_get_or_alloc_internal_query
        - event_filter_parser_lex_destroy
        - event_filter_parser_lex_init
        - event_filter_parser_parse
        - event_filter_parser_set_extra
        - filter_node_requires_event_name
        - i_panic
        - strlen
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter.c:209,17'
          Branch Sides:
            - BranchSide:      'event-filter.c:209,27'
              BranchSideFuncs:
                - i_panic
                - event_filter_get_or_alloc_internal_query
                - add_node
                - filter_node_requires_event_name
                - i_panic
            - BranchSide:      'event-filter.c:220,13'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'event-filter.c:209,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:211,3'
              BranchSideFuncs:
                - event_filter_get_or_alloc_internal_query
                - add_node
                - filter_node_requires_event_name
                - i_panic
            - BranchSide:      'event-filter.c:220,13'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'event-filter.c:211,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:211,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:213,56'
              BranchSideFuncs:
                - event_filter_get_or_alloc_internal_query
                - add_node
                - filter_node_requires_event_name
        - Branch String:   'event-filter.c:218,59'
          Branch Sides:
            - BranchSide:      'event-filter.c:218,3'
              BranchSideFuncs:
                - filter_node_requires_event_name
            - BranchSide:      'event-filter.c:219,42'
              BranchSideFuncs:
                - filter_node_requires_event_name
        - Branch String:   'event-filter.c:222,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:222,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:224,20'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:197,14'
          Dst:             strlen
        - Src:             'event-filter.c:202,2'
          Dst:             event_filter_parser_lex_init
        - Src:             'event-filter.c:203,2'
          Dst:             event_filter_parser_set_extra
        - Src:             'event-filter.c:205,8'
          Dst:             event_filter_parser_parse
        - Src:             'event-filter.c:207,2'
          Dst:             event_filter_parser_lex_destroy
        - Src:             'event-filter.c:211,3'
          Dst:             i_panic
        - Src:             'event-filter.c:213,15'
          Dst:             event_filter_get_or_alloc_internal_query
        - Src:             'event-filter.c:215,3'
          Dst:             add_node
        - Src:             'event-filter.c:219,4'
          Dst:             filter_node_requires_event_name
        - Src:             'event-filter.c:222,3'
          Dst:             i_panic
    - functionName:    event_filter_parse
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - filter
        - error_r
      BBCount:         12
      ICount:          66
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - event_filter_parse_real
        - i_panic
        - t_pop_pass_str
        - t_push
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:241,4'
          Branch Sides:
            - BranchSide:      'event-filter.c:241,4'
              BranchSideFuncs:
                - t_pop_pass_str
                - i_panic
            - BranchSide:      'event-filter.c:241,4'
              BranchSideFuncs:
                - t_pop_pass_str
                - i_panic
        - Branch String:   'event-filter.c:241,4'
          Branch Sides:
            - BranchSide:      'event-filter.c:241,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:241,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:239,2'
          Dst:             t_push
        - Src:             'event-filter.c:240,9'
          Dst:             event_filter_parse_real
        - Src:             'event-filter.c:241,4'
          Dst:             t_pop_pass_str
        - Src:             'event-filter.c:241,4'
          Dst:             i_panic
    - functionName:    pool_unref
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:176,6'
          Branch Sides:
            - BranchSide:      './mempool.h:176,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:177,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    event_filter_unref
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _filter
      BBCount:         25
      ICount:          138
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - i_panic
        - pool_unref
      functionUses:    3
      BranchProfiles:
        - Branch String:   'event-filter.c:86,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:87,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:88,2'
              BranchSideFuncs:
                - pool_unref.4588
                - i_panic
        - Branch String:   'event-filter.c:88,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:88,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:90,3'
              BranchSideFuncs:
                - pool_unref.4588
        - Branch String:   'event-filter.c:91,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:92,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:94,7'
              BranchSideFuncs:
                - pool_unref.4588
        - Branch String:   'event-filter.c:94,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:94,6'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:95,3'
              BranchSideFuncs:
                - pool_unref.4588
        - Branch String:   'event-filter.c:95,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:95,3'
              BranchSideFuncs:
                - pool_unref.4588
            - BranchSide:      'event-filter.c:95,3'
              BranchSideFuncs:
                - pool_unref.4588
        - Branch String:   'event-filter.c:95,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:95,3'
              BranchSideFuncs:
                - pool_unref.4588
            - BranchSide:      'event-filter.c:98,15'
              BranchSideFuncs:
                - pool_unref.4588
      Callsites:
        - Src:             'event-filter.c:88,2'
          Dst:             i_panic
        - Src:             'event-filter.c:98,3'
          Dst:             pool_unref
    - functionName:    event_filter_ref
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - filter
      BBCount:         7
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   'event-filter.c:78,2'
          Branch Sides:
            - BranchSide:      'event-filter.c:78,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter.c:78,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:78,2'
          Dst:             i_panic
    - functionName:    event_filter_create_fragment
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_create_real
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter.c:73,9'
          Dst:             event_filter_create_real
    - functionName:    event_filter_create_real
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - pool
        - fragment
      BBCount:         11
      ICount:          83
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - array_create_i
        - malloc_multiply_check
        - p_malloc
      functionUses:    3
      BranchProfiles:
        - Branch String:   'event-filter.c:56,6'
          Branch Sides:
            - BranchSide:      'event-filter.c:56,6'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:57,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter.c:57,3'
          Branch Sides:
            - BranchSide:      'event-filter.c:57,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter.c:57,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter.c:50,11'
          Dst:             malloc_multiply_check
        - Src:             'event-filter.c:50,11'
          Dst:             p_malloc
        - Src:             'event-filter.c:55,2'
          Dst:             array_create_i
    - functionName:    event_filter_create_with_pool
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_create_real
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter.c:68,9'
          Dst:             event_filter_create_real
    - functionName:    event_filter_create
      functionSourceFile: '/src/dovecot/src/lib/event-filter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_create_real
        - pool_alloconly_create
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter.c:63,34'
          Branch Sides:
            - BranchSide:      'event-filter.c:63,34'
              BranchSideFuncs:
                - pool_alloconly_create
                - event_filter_create_real
            - BranchSide:      'event-filter.c:63,34'
              BranchSideFuncs:
                - pool_alloconly_create
                - event_filter_create_real
      Callsites:
        - Src:             'event-filter.c:63,34'
          Dst:             pool_alloconly_create
        - Src:             'event-filter.c:63,9'
          Dst:             event_filter_create_real
    - functionName:    i_memcpy
      functionSourceFile: '/src/dovecot/src/lib/./lib.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - src
        - n
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './lib.h:75,2'
          Branch Sides:
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './lib.h:75,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             './lib.h:75,2'
          Dst:             i_panic
    - functionName:    event_filter_parser_input_proc
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.l'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - buf
        - size
        - scanner
      BBCount:         13
      ICount:          113
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - event_filter_parser_get_extra
        - i_memcpy
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-lexer.l:122,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.l:123,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.l:125,2'
              BranchSideFuncs:
                - i_memcpy.4687
                - i_panic
        - Branch String:   'event-filter-lexer.l:125,2'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.l:125,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'event-filter-lexer.l:127,14'
              BranchSideFuncs:
                - i_memcpy.4687
        - Branch String:   'event-filter-lexer.l:127,14'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.l:127,12'
              BranchSideFuncs:
                - i_memcpy.4687
            - BranchSide:      'event-filter-lexer.l:127,12'
              BranchSideFuncs:
                - i_memcpy.4687
      Callsites:
        - Src:             'event-filter-lexer.l:120,10'
          Dst:             event_filter_parser_get_extra
        - Src:             'event-filter-lexer.l:125,2'
          Dst:             i_panic
        - Src:             'event-filter-lexer.l:128,2'
          Dst:             i_memcpy
    - functionName:    event_filter_parser_get_extra
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1945
      functionLinenumberEnd: 1947
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    event_filter_parser_realloc
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.l'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ptr
        - bytes
        - yyscanner
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter-lexer.l:107,9'
          Dst:             i_realloc
    - functionName:    event_filter_parser_lex_destroy
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2192
      functionLinenumberEnd: 2217
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         12
      ICount:          103
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - event_filter_parser__delete_buffer
        - event_filter_parser_free
        - event_filter_parser_pop_buffer_state
        - yy_init_globals
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:2196,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2196,2'
              BranchSideFuncs:
                - event_filter_parser_free
                - event_filter_parser_free
                - yy_init_globals
                - event_filter_parser_free
                - event_filter_parser__delete_buffer
                - event_filter_parser_pop_buffer_state
            - BranchSide:      'event-filter-lexer.c:2196,2'
              BranchSideFuncs:
                - event_filter_parser_free
                - event_filter_parser_free
                - yy_init_globals
                - event_filter_parser_free
                - event_filter_parser__delete_buffer
                - event_filter_parser_pop_buffer_state
        - Branch String:   'event-filter-lexer.c:2196,2'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2197,21'
              BranchSideFuncs:
                - event_filter_parser__delete_buffer
                - event_filter_parser_pop_buffer_state
                - event_filter_parser_free
                - event_filter_parser_free
                - yy_init_globals
                - event_filter_parser_free
            - BranchSide:      'event-filter-lexer.c:2203,9'
              BranchSideFuncs:
                - event_filter_parser_free
                - event_filter_parser_free
                - yy_init_globals
                - event_filter_parser_free
        - Branch String:   'event-filter-lexer.c:2197,21'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2197,41'
              BranchSideFuncs:
                - event_filter_parser__delete_buffer
                - event_filter_parser_pop_buffer_state
                - event_filter_parser_free
                - event_filter_parser_free
                - yy_init_globals
                - event_filter_parser_free
            - BranchSide:      'event-filter-lexer.c:2197,41'
              BranchSideFuncs:
                - event_filter_parser__delete_buffer
                - event_filter_parser_pop_buffer_state
                - event_filter_parser_free
                - event_filter_parser_free
                - yy_init_globals
                - event_filter_parser_free
      Callsites:
        - Src:             'event-filter-lexer.c:2197,3'
          Dst:             event_filter_parser__delete_buffer
        - Src:             'event-filter-lexer.c:2199,3'
          Dst:             event_filter_parser_pop_buffer_state
        - Src:             'event-filter-lexer.c:2203,2'
          Dst:             event_filter_parser_free
        - Src:             'event-filter-lexer.c:2207,9'
          Dst:             event_filter_parser_free
        - Src:             'event-filter-lexer.c:2212,5'
          Dst:             yy_init_globals
        - Src:             'event-filter-lexer.c:2215,5'
          Dst:             event_filter_parser_free
    - functionName:    event_filter_parser__delete_buffer
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1651
      functionLinenumberEnd: 1664
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - b
        - yyscanner
      BBCount:         15
      ICount:          92
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - event_filter_parser_free
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1654,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1655,3'
              BranchSideFuncs:
                - event_filter_parser_free
                - event_filter_parser_free
            - BranchSide:      'event-filter-lexer.c:1657,7'
              BranchSideFuncs:
                - event_filter_parser_free
                - event_filter_parser_free
        - Branch String:   'event-filter-lexer.c:1657,12'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1657,9'
              BranchSideFuncs:
                - event_filter_parser_free
                - event_filter_parser_free
            - BranchSide:      'event-filter-lexer.c:1657,9'
              BranchSideFuncs:
                - event_filter_parser_free
                - event_filter_parser_free
        - Branch String:   'event-filter-lexer.c:1657,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1658,3'
              BranchSideFuncs:
                - event_filter_parser_free
                - event_filter_parser_free
            - BranchSide:      'event-filter-lexer.c:1660,7'
              BranchSideFuncs:
                - event_filter_parser_free
                - event_filter_parser_free
        - Branch String:   'event-filter-lexer.c:1660,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1661,20'
              BranchSideFuncs:
                - event_filter_parser_free
                - event_filter_parser_free
            - BranchSide:      'event-filter-lexer.c:1663,19'
              BranchSideFuncs:
                - event_filter_parser_free
      Callsites:
        - Src:             'event-filter-lexer.c:1661,3'
          Dst:             event_filter_parser_free
        - Src:             'event-filter-lexer.c:1663,2'
          Dst:             event_filter_parser_free
    - functionName:    event_filter_parser_pop_buffer_state
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1761
      functionLinenumberEnd: 1775
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         25
      ICount:          140
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - event_filter_parser__delete_buffer
        - event_filter_parser__load_buffer_state
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1763,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1763,7'
              BranchSideFuncs:
                - event_filter_parser__delete_buffer
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1763,6'
              BranchSideFuncs:
                - event_filter_parser__delete_buffer
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1763,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1764,3'
              BranchSideFuncs:
                - event_filter_parser__delete_buffer
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1766,19'
              BranchSideFuncs:
                - event_filter_parser__delete_buffer
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1763,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1764,3'
              BranchSideFuncs:
                - event_filter_parser__delete_buffer
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1766,19'
              BranchSideFuncs:
                - event_filter_parser__delete_buffer
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1766,19'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1766,39'
              BranchSideFuncs:
                - event_filter_parser__delete_buffer
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1766,39'
              BranchSideFuncs:
                - event_filter_parser__delete_buffer
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1768,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1769,5'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1771,6'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1771,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1771,6'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1771,6'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1771,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1771,6'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1772,25'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1771,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1771,6'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1772,25'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
      Callsites:
        - Src:             'event-filter-lexer.c:1766,2'
          Dst:             event_filter_parser__delete_buffer
        - Src:             'event-filter-lexer.c:1772,3'
          Dst:             event_filter_parser__load_buffer_state
    - functionName:    event_filter_parser_free
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.l'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ptr
        - yyscanner
      BBCount:         5
      ICount:          26
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter-lexer.l:112,2'
          Dst:             p_free_internal
    - functionName:    yy_init_globals
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2158
      functionLinenumberEnd: 2187
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         1
      ICount:          44
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser__load_buffer_state
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1608
      functionLinenumberEnd: 1614
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         1
      ICount:          60
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser_lex_init_extra
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2131
      functionLinenumberEnd: 2155
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - yy_user_defined
        - ptr_yy_globals
      BBCount:         8
      ICount:          62
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - event_filter_parser_alloc
        - event_filter_parser_set_extra
        - yy_init_globals
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:2136,9'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2137,9'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'event-filter-lexer.c:2141,34'
              BranchSideFuncs:
                - event_filter_parser_alloc
                - event_filter_parser_set_extra
                - yy_init_globals
                - __errno_location
        - Branch String:   'event-filter-lexer.c:2143,9'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2144,9'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'event-filter-lexer.c:2150,13'
              BranchSideFuncs:
                - event_filter_parser_set_extra
                - yy_init_globals
      Callsites:
        - Src:             'event-filter-lexer.c:2134,5'
          Dst:             event_filter_parser_set_extra
        - Src:             'event-filter-lexer.c:2137,9'
          Dst:             __errno_location
        - Src:             'event-filter-lexer.c:2141,34'
          Dst:             event_filter_parser_alloc
        - Src:             'event-filter-lexer.c:2144,9'
          Dst:             __errno_location
        - Src:             'event-filter-lexer.c:2152,5'
          Dst:             event_filter_parser_set_extra
        - Src:             'event-filter-lexer.c:2154,12'
          Dst:             yy_init_globals
    - functionName:    event_filter_parser_set_extra
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2018
      functionLinenumberEnd: 2021
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - user_defined
        - yyscanner
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser_alloc
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.l'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - bytes
        - yyscanner
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_malloc
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter-lexer.l:102,9'
          Dst:             i_malloc
    - functionName:    event_filter_parser_lex_init
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2104
      functionLinenumberEnd: 2121
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ptr_yy_globals
      BBCount:         8
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - event_filter_parser_alloc
        - yy_init_globals
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:2105,9'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2106,9'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'event-filter-lexer.c:2110,34'
              BranchSideFuncs:
                - event_filter_parser_alloc
                - yy_init_globals
                - __errno_location
        - Branch String:   'event-filter-lexer.c:2112,9'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2113,9'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'event-filter-lexer.c:2118,13'
              BranchSideFuncs:
                - yy_init_globals
      Callsites:
        - Src:             'event-filter-lexer.c:2106,9'
          Dst:             __errno_location
        - Src:             'event-filter-lexer.c:2110,34'
          Dst:             event_filter_parser_alloc
        - Src:             'event-filter-lexer.c:2113,9'
          Dst:             __errno_location
        - Src:             'event-filter-lexer.c:2120,12'
          Dst:             yy_init_globals
    - functionName:    event_filter_parser_set_lval
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2092
      functionLinenumberEnd: 2095
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - yylval_param
        - yyscanner
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser_get_lval
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2086
      functionLinenumberEnd: 2088
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser_set_debug
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2078
      functionLinenumberEnd: 2081
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - _bdebug
        - yyscanner
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser_get_debug
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2072
      functionLinenumberEnd: 2074
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser_set_out
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2066
      functionLinenumberEnd: 2069
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - _out_str
        - yyscanner
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser_set_in
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2060
      functionLinenumberEnd: 2063
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - _in_str
        - yyscanner
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser_set_column
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2043
      functionLinenumberEnd: 2051
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - _column_no
        - yyscanner
      BBCount:         11
      ICount:          66
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - i_fatal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:2047,13'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2047,15'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:2047,13'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'event-filter-lexer.c:2047,15'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2047,15'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:2048,12'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'event-filter-lexer.c:2047,13'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2047,13'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:2048,12'
              BranchSideFuncs:
                - i_fatal
      Callsites:
        - Src:             'event-filter-lexer.c:2048,12'
          Dst:             i_fatal
    - functionName:    event_filter_parser_set_lineno
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2028
      functionLinenumberEnd: 2036
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - _line_number
        - yyscanner
      BBCount:         11
      ICount:          66
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - i_fatal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:2032,13'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2032,15'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:2032,13'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'event-filter-lexer.c:2032,15'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2032,15'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:2033,12'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'event-filter-lexer.c:2032,13'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:2032,13'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:2033,12'
              BranchSideFuncs:
                - i_fatal
      Callsites:
        - Src:             'event-filter-lexer.c:2033,12'
          Dst:             i_fatal
    - functionName:    event_filter_parser_get_text
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2008
      functionLinenumberEnd: 2010
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser_get_leng
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1998
      functionLinenumberEnd: 2000
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser_get_out
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1989
      functionLinenumberEnd: 1991
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser_get_in
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1980
      functionLinenumberEnd: 1982
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    event_filter_parser_get_column
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1967
      functionLinenumberEnd: 1974
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         10
      ICount:          59
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1970,13'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1970,15'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1970,13'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1970,15'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1971,13'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1973,12'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1970,13'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1971,13'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1973,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    event_filter_parser_get_lineno
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1954
      functionLinenumberEnd: 1961
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         10
      ICount:          59
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1957,13'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1957,15'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1957,13'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1957,15'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1958,13'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1960,12'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1957,13'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1958,13'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1960,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    event_filter_parser__scan_bytes
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1881
      functionLinenumberEnd: 1907
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - yybytes
        - _yybytes_len
        - yyscanner
      BBCount:         11
      ICount:          100
      EdgeCount:       12
      CyclomaticComplexity: 3
      functionsReached:
        - event_filter_parser__scan_buffer
        - event_filter_parser_alloc
        - i_fatal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1890,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1891,3'
              BranchSideFuncs:
                - event_filter_parser__scan_buffer
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1893,10'
              BranchSideFuncs:
                - event_filter_parser__scan_buffer
                - i_fatal
        - Branch String:   'event-filter-lexer.c:1893,2'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1894,12'
              BranchSideFuncs:
                - event_filter_parser__scan_buffer
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1896,22'
              BranchSideFuncs:
                - event_filter_parser__scan_buffer
                - i_fatal
        - Branch String:   'event-filter-lexer.c:1899,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1900,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1905,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter-lexer.c:1889,17'
          Dst:             event_filter_parser_alloc
        - Src:             'event-filter-lexer.c:1891,3'
          Dst:             i_fatal
        - Src:             'event-filter-lexer.c:1898,6'
          Dst:             event_filter_parser__scan_buffer
        - Src:             'event-filter-lexer.c:1900,3'
          Dst:             i_fatal
    - functionName:    event_filter_parser__scan_buffer
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1831
      functionLinenumberEnd: 1857
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - base
        - size
        - yyscanner
      BBCount:         13
      ICount:          117
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - event_filter_parser__switch_to_buffer
        - event_filter_parser_alloc
        - i_fatal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1834,16'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1835,7'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1838,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1835,45'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1836,7'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1838,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1834,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1838,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1840,68'
              BranchSideFuncs:
                - event_filter_parser_alloc
                - i_fatal
                - event_filter_parser__switch_to_buffer
        - Branch String:   'event-filter-lexer.c:1841,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1842,3'
              BranchSideFuncs:
                - event_filter_parser__switch_to_buffer
            - BranchSide:      'event-filter-lexer.c:1844,26'
              BranchSideFuncs:
                - event_filter_parser__switch_to_buffer
      Callsites:
        - Src:             'event-filter-lexer.c:1840,24'
          Dst:             event_filter_parser_alloc
        - Src:             'event-filter-lexer.c:1842,3'
          Dst:             i_fatal
        - Src:             'event-filter-lexer.c:1854,2'
          Dst:             event_filter_parser__switch_to_buffer
    - functionName:    event_filter_parser__switch_to_buffer
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1576
      functionLinenumberEnd: 1605
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - new_buffer
        - yyscanner
      BBCount:         17
      ICount:          133
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - event_filter_parser__load_buffer_state
        - event_filter_parser_ensure_buffer_stack
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1585,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1585,28'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1585,28'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1585,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1586,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1588,7'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1588,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1588,7'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1588,7'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1588,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1591,22'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1596,29'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1588,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1591,22'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1596,29'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
      Callsites:
        - Src:             'event-filter-lexer.c:1584,2'
          Dst:             event_filter_parser_ensure_buffer_stack
        - Src:             'event-filter-lexer.c:1597,2'
          Dst:             event_filter_parser__load_buffer_state
    - functionName:    event_filter_parser_ensure_buffer_stack
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1781
      functionLinenumberEnd: 1822
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         12
      ICount:          121
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - event_filter_parser_alloc
        - event_filter_parser_realloc
        - i_fatal
      functionUses:    4
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1785,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1791,20'
              BranchSideFuncs:
                - event_filter_parser_realloc
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1805,6'
              BranchSideFuncs:
                - event_filter_parser_realloc
                - i_fatal
        - Branch String:   'event-filter-lexer.c:1795,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1796,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1798,10'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1805,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1805,6'
              BranchSideFuncs:
                - event_filter_parser_realloc
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1808,13'
              BranchSideFuncs:
                - event_filter_parser_realloc
                - i_fatal
        - Branch String:   'event-filter-lexer.c:1815,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1816,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1819,10'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter-lexer.c:1792,52'
          Dst:             event_filter_parser_alloc
        - Src:             'event-filter-lexer.c:1796,4'
          Dst:             i_fatal
        - Src:             'event-filter-lexer.c:1811,52'
          Dst:             event_filter_parser_realloc
        - Src:             'event-filter-lexer.c:1816,4'
          Dst:             i_fatal
    - functionName:    event_filter_parser__scan_string
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1868
      functionLinenumberEnd: 1870
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - yystr
        - yyscanner
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_parser__scan_bytes
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter-lexer.c:1870,37'
          Dst:             strlen
        - Src:             'event-filter-lexer.c:1870,9'
          Dst:             event_filter_parser__scan_bytes
    - functionName:    event_filter_parser_push_buffer_state
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1730
      functionLinenumberEnd: 1754
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - new_buffer
        - yyscanner
      BBCount:         22
      ICount:          149
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - event_filter_parser__load_buffer_state
        - event_filter_parser_ensure_buffer_stack
      functionUses:    0
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1732,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1733,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1735,24'
              BranchSideFuncs:
                - event_filter_parser_ensure_buffer_stack
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1738,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1738,7'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1738,7'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1738,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1741,22'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1747,6'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1738,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1741,22'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1747,6'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1747,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1747,6'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1747,6'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1747,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1748,3'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1749,29'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1747,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1748,3'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1749,29'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
      Callsites:
        - Src:             'event-filter-lexer.c:1735,2'
          Dst:             event_filter_parser_ensure_buffer_stack
        - Src:             'event-filter-lexer.c:1752,2'
          Dst:             event_filter_parser__load_buffer_state
    - functionName:    event_filter_parser__flush_buffer
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1700
      functionLinenumberEnd: 1721
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - b
        - yyscanner
      BBCount:         11
      ICount:          89
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - event_filter_parser__load_buffer_state
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1702,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1703,3'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1705,2'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1719,12'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1719,9'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1719,9'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1719,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1719,7'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1720,25'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
      Callsites:
        - Src:             'event-filter-lexer.c:1720,3'
          Dst:             event_filter_parser__load_buffer_state
    - functionName:    event_filter_parser__init_buffer
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1672
      functionLinenumberEnd: 1693
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - b
        - file
        - yyscanner
      BBCount:         9
      ICount:          84
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - event_filter_parser__flush_buffer
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1685,14'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1685,11'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'event-filter-lexer.c:1685,11'
              BranchSideFuncs:
                - __errno_location
        - Branch String:   'event-filter-lexer.c:1685,9'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1685,9'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'event-filter-lexer.c:1686,9'
              BranchSideFuncs:
                - __errno_location
      Callsites:
        - Src:             'event-filter-lexer.c:1673,15'
          Dst:             __errno_location
        - Src:             'event-filter-lexer.c:1676,2'
          Dst:             event_filter_parser__flush_buffer
        - Src:             'event-filter-lexer.c:1692,2'
          Dst:             __errno_location
    - functionName:    event_filter_parser_restart
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1558
      functionLinenumberEnd: 1569
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - input_file
        - yyscanner
      BBCount:         14
      ICount:          96
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - event_filter_parser__create_buffer
        - event_filter_parser__init_buffer
        - event_filter_parser__load_buffer_state
        - event_filter_parser_ensure_buffer_stack
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1561,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1561,9'
              BranchSideFuncs:
                - event_filter_parser_ensure_buffer_stack
                - event_filter_parser__create_buffer
                - event_filter_parser__init_buffer
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1561,7'
              BranchSideFuncs:
                - event_filter_parser_ensure_buffer_stack
                - event_filter_parser__create_buffer
                - event_filter_parser__init_buffer
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1561,9'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1562,32'
              BranchSideFuncs:
                - event_filter_parser__init_buffer
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1567,18'
              BranchSideFuncs:
                - event_filter_parser__init_buffer
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1561,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1562,32'
              BranchSideFuncs:
                - event_filter_parser__init_buffer
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1567,18'
              BranchSideFuncs:
                - event_filter_parser__init_buffer
                - event_filter_parser__load_buffer_state
        - Branch String:   'event-filter-lexer.c:1567,18'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1567,18'
              BranchSideFuncs:
                - event_filter_parser__init_buffer
                - event_filter_parser__load_buffer_state
            - BranchSide:      'event-filter-lexer.c:1567,18'
              BranchSideFuncs:
                - event_filter_parser__init_buffer
                - event_filter_parser__load_buffer_state
      Callsites:
        - Src:             'event-filter-lexer.c:1562,9'
          Dst:             event_filter_parser_ensure_buffer_stack
        - Src:             'event-filter-lexer.c:1564,13'
          Dst:             event_filter_parser__create_buffer
        - Src:             'event-filter-lexer.c:1567,2'
          Dst:             event_filter_parser__init_buffer
        - Src:             'event-filter-lexer.c:1568,2'
          Dst:             event_filter_parser__load_buffer_state
    - functionName:    event_filter_parser__create_buffer
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1623
      functionLinenumberEnd: 1643
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - file
        - size
        - yyscanner
      BBCount:         7
      ICount:          68
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - event_filter_parser__init_buffer
        - event_filter_parser_alloc
        - i_fatal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1627,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1628,3'
              BranchSideFuncs:
                - event_filter_parser_alloc
                - i_fatal
                - event_filter_parser__init_buffer
            - BranchSide:      'event-filter-lexer.c:1630,19'
              BranchSideFuncs:
                - event_filter_parser_alloc
                - i_fatal
                - event_filter_parser__init_buffer
        - Branch String:   'event-filter-lexer.c:1636,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1637,3'
              BranchSideFuncs:
                - event_filter_parser__init_buffer
            - BranchSide:      'event-filter-lexer.c:1639,2'
              BranchSideFuncs:
                - event_filter_parser__init_buffer
      Callsites:
        - Src:             'event-filter-lexer.c:1626,24'
          Dst:             event_filter_parser_alloc
        - Src:             'event-filter-lexer.c:1628,3'
          Dst:             i_fatal
        - Src:             'event-filter-lexer.c:1635,26'
          Dst:             event_filter_parser_alloc
        - Src:             'event-filter-lexer.c:1637,3'
          Dst:             i_fatal
        - Src:             'event-filter-lexer.c:1641,2'
          Dst:             event_filter_parser__init_buffer
    - functionName:    yy_get_next_buffer
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1277
      functionLinenumberEnd: 1411
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         42
      ICount:          551
      EdgeCount:       53
      CyclomaticComplexity: 13
      functionsReached:
        - event_filter_parser_input_proc
        - event_filter_parser_realloc
        - event_filter_parser_restart
        - i_fatal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1284,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1285,3'
              BranchSideFuncs:
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1288,7'
              BranchSideFuncs:
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
                - i_fatal
                - event_filter_parser_realloc
        - Branch String:   'event-filter-lexer.c:1288,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1290,8'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1310,26'
              BranchSideFuncs:
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
                - i_fatal
                - event_filter_parser_realloc
        - Branch String:   'event-filter-lexer.c:1290,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1295,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1303,4'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1312,2'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1313,23'
              BranchSideFuncs:
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
                - i_fatal
                - event_filter_parser_realloc
            - BranchSide:      'event-filter-lexer.c:1315,7'
              BranchSideFuncs:
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
                - i_fatal
                - event_filter_parser_realloc
        - Branch String:   'event-filter-lexer.c:1315,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1319,42'
              BranchSideFuncs:
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
            - BranchSide:      'event-filter-lexer.c:1324,4'
              BranchSideFuncs:
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
                - i_fatal
                - event_filter_parser_realloc
        - Branch String:   'event-filter-lexer.c:1326,3'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1330,24'
              BranchSideFuncs:
                - i_fatal
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
                - event_filter_parser_realloc
            - BranchSide:      'event-filter-lexer.c:1364,8'
              BranchSideFuncs:
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
        - Branch String:   'event-filter-lexer.c:1335,9'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1337,20'
              BranchSideFuncs:
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
            - BranchSide:      'event-filter-lexer.c:1351,5'
              BranchSideFuncs:
                - i_fatal
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
                - event_filter_parser_realloc
        - Branch String:   'event-filter-lexer.c:1339,10'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1340,24'
              BranchSideFuncs:
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
            - BranchSide:      'event-filter-lexer.c:1342,6'
              BranchSideFuncs:
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
        - Branch String:   'event-filter-lexer.c:1353,9'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1354,5'
              BranchSideFuncs:
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
                - i_fatal
                - event_filter_parser_realloc
            - BranchSide:      'event-filter-lexer.c:1357,23'
              BranchSideFuncs:
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
                - i_fatal
                - event_filter_parser_realloc
        - Branch String:   'event-filter-lexer.c:1364,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1365,16'
              BranchSideFuncs:
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
            - BranchSide:      'event-filter-lexer.c:1368,3'
              BranchSideFuncs:
                - event_filter_parser_input_proc
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
        - Branch String:   'event-filter-lexer.c:1374,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1376,8'
              BranchSideFuncs:
                - event_filter_parser_realloc
                - i_fatal
                - event_filter_parser_restart
            - BranchSide:      'event-filter-lexer.c:1391,11'
              BranchSideFuncs:
                - event_filter_parser_realloc
                - i_fatal
        - Branch String:   'event-filter-lexer.c:1376,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1378,12'
              BranchSideFuncs:
                - event_filter_parser_restart
                - event_filter_parser_realloc
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1384,12'
              BranchSideFuncs:
                - event_filter_parser_realloc
                - i_fatal
        - Branch String:   'event-filter-lexer.c:1393,6'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1395,18'
              BranchSideFuncs:
                - event_filter_parser_realloc
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1404,21'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1398,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1399,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1401,50'
              BranchSideFuncs: []
      Callsites:
        - Src:             'event-filter-lexer.c:1285,3'
          Dst:             i_fatal
        - Src:             'event-filter-lexer.c:1346,6'
          Dst:             event_filter_parser_realloc
        - Src:             'event-filter-lexer.c:1354,5'
          Dst:             i_fatal
        - Src:             'event-filter-lexer.c:1368,3'
          Dst:             event_filter_parser_input_proc
        - Src:             'event-filter-lexer.c:1379,4'
          Dst:             event_filter_parser_restart
        - Src:             'event-filter-lexer.c:1396,50'
          Dst:             event_filter_parser_realloc
        - Src:             'event-filter-lexer.c:1399,4'
          Dst:             i_fatal
    - functionName:    yy_try_NUL_trans
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1449
      functionLinenumberEnd: 1470
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - yy_current_state
        - yyscanner
      BBCount:         13
      ICount:          122
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1455,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1457,34'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1460,2'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1460,2'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1462,35'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1466,36'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1463,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1460,2'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1464,19'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1470,9'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1470,9'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1470,25'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    yy_get_previous_state
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1416
      functionLinenumberEnd: 1440
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyscanner
      BBCount:         17
      ICount:          145
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:1423,2'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1425,20'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1440,9'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1425,19'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1425,34'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1425,18'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1426,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1428,35'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1431,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1431,3'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1433,36'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1437,37'
              BranchSideFuncs: []
        - Branch String:   'event-filter-lexer.c:1434,9'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1431,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1435,20'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    str_append
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cstr
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:35,27'
          Dst:             strlen
        - Src:             './str.h:35,2'
          Dst:             buffer_append
    - functionName:    event_filter_parser_lex
      functionSourceFile: '/src/dovecot/src/lib/event-filter-lexer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 934
      functionLinenumberEnd: 1267
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - yylval_param
        - yyscanner
      BBCount:         79
      ICount:          721
      EdgeCount:       91
      CyclomaticComplexity: 14
      functionsReached:
        - event_filter_parser__create_buffer
        - event_filter_parser__load_buffer_state
        - event_filter_parser_ensure_buffer_stack
        - fwrite
        - i_fatal
        - str_append
        - str_c
        - t_str_new
        - t_strdup
        - yy_get_next_buffer
        - yy_get_previous_state
        - yy_try_NUL_trans
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-lexer.c:942,7'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.l:46,12'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:944,3'
              BranchSideFuncs:
                - event_filter_parser_ensure_buffer_stack
                - event_filter_parser__create_buffer
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:950,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:951,4'
              BranchSideFuncs:
                - event_filter_parser_ensure_buffer_stack
                - event_filter_parser__create_buffer
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:953,10'
              BranchSideFuncs:
                - event_filter_parser_ensure_buffer_stack
                - event_filter_parser__create_buffer
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:953,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:954,11'
              BranchSideFuncs:
                - event_filter_parser_ensure_buffer_stack
                - event_filter_parser__create_buffer
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:956,10'
              BranchSideFuncs:
                - event_filter_parser_ensure_buffer_stack
                - event_filter_parser__create_buffer
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:956,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:957,12'
              BranchSideFuncs:
                - event_filter_parser_ensure_buffer_stack
                - event_filter_parser__create_buffer
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:959,10'
              BranchSideFuncs:
                - event_filter_parser_ensure_buffer_stack
                - event_filter_parser__create_buffer
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:959,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:959,10'
              BranchSideFuncs:
                - event_filter_parser_ensure_buffer_stack
                - event_filter_parser__create_buffer
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:959,8'
              BranchSideFuncs:
                - event_filter_parser_ensure_buffer_stack
                - event_filter_parser__create_buffer
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:959,10'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:960,27'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:965,25'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:959,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:960,27'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:965,25'
              BranchSideFuncs:
                - event_filter_parser__load_buffer_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:993,9'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:995,36'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:998,4'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:998,4'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1000,37'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1004,38'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:1001,10'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:998,4'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1002,21'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:1006,4'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:992,25'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1008,11'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:1018,3'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.l:49,6'
              BranchSideFuncs:
                - t_str_new
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - i_fatal
            - BranchSide:      'event-filter-lexer.l:54,26'
              BranchSideFuncs:
                - str_c
            - BranchSide:      'event-filter-lexer.l:59,14'
              BranchSideFuncs:
                - str_append.4712
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.l:60,14'
              BranchSideFuncs:
                - str_append.4712
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.l:61,14'
              BranchSideFuncs:
                - str_append.4712
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.l:62,14'
              BranchSideFuncs:
                - str_append.4712
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.l:64,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.l:65,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.l:66,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.l:67,11'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.l:68,26'
              BranchSideFuncs:
                - t_strdup
            - BranchSide:      'event-filter-lexer.l:70,2'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.l:94,30'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.l:96,1'
              BranchSideFuncs:
                - fwrite
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1022,13'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1136,2'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1136,2'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-lexer.c:1141,42'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
            - BranchSide:      'event-filter-lexer.c:1262,3'
              BranchSideFuncs:
                - i_fatal
        - Branch String:   'event-filter-lexer.l:96,1'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.l:96,1'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.l:97,2'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:1147,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1158,22'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
            - BranchSide:      'event-filter-lexer.c:1170,8'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
        - Branch String:   'event-filter-lexer.c:1170,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1174,22'
              BranchSideFuncs:
                - yy_get_previous_state
                - yy_try_NUL_trans
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1207,37'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
                - yy_get_previous_state
        - Branch String:   'event-filter-lexer.c:1191,9'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1194,15'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1201,13'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
        - Branch String:   'event-filter-lexer.c:1207,8'
          Branch Sides:
            - BranchSide:      'event-filter-lexer.c:1211,5'
              BranchSideFuncs:
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1240,6'
              BranchSideFuncs:
                - yy_get_previous_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
            - BranchSide:      'event-filter-lexer.c:1250,6'
              BranchSideFuncs:
                - yy_get_previous_state
                - yy_get_next_buffer
                - yy_get_previous_state
                - yy_get_previous_state
                - yy_try_NUL_trans
                - fwrite
                - t_strdup
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_append.4712
                - str_c
                - t_str_new
                - i_fatal
      Callsites:
        - Src:             'event-filter-lexer.c:960,4'
          Dst:             event_filter_parser_ensure_buffer_stack
        - Src:             'event-filter-lexer.c:962,5'
          Dst:             event_filter_parser__create_buffer
        - Src:             'event-filter-lexer.c:965,3'
          Dst:             event_filter_parser__load_buffer_state
        - Src:             'event-filter-lexer.l:51,16'
          Dst:             t_str_new
        - Src:             'event-filter-lexer.l:54,20'
          Dst:             str_c
        - Src:             'event-filter-lexer.l:59,3'
          Dst:             str_append
        - Src:             'event-filter-lexer.l:60,3'
          Dst:             str_append
        - Src:             'event-filter-lexer.l:61,3'
          Dst:             str_append
        - Src:             'event-filter-lexer.l:62,3'
          Dst:             str_append
        - Src:             'event-filter-lexer.l:68,17'
          Dst:             t_strdup
        - Src:             'event-filter-lexer.l:96,1'
          Dst:             fwrite
        - Src:             'event-filter-lexer.c:1176,23'
          Dst:             yy_get_previous_state
        - Src:             'event-filter-lexer.c:1187,20'
          Dst:             yy_try_NUL_trans
        - Src:             'event-filter-lexer.c:1207,17'
          Dst:             yy_get_next_buffer
        - Src:             'event-filter-lexer.c:1242,24'
          Dst:             yy_get_previous_state
        - Src:             'event-filter-lexer.c:1252,24'
          Dst:             yy_get_previous_state
        - Src:             'event-filter-lexer.c:1262,3'
          Dst:             i_fatal
    - functionName:    fwrite
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    yystpcpy
      functionSourceFile: '/src/dovecot/src/lib/event-filter-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1016
      functionLinenumberEnd: 1023
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - yydest
        - yysrc
      BBCount:         4
      ICount:          39
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-parser.c:1020,3'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1021,5'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-parser.c:1023,10'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    yytnamerr
      functionSourceFile: '/src/dovecot/src/lib/event-filter-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1038
      functionLinenumberEnd: 1076
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - yyres
        - yystr
      BBCount:         28
      ICount:          143
      EdgeCount:       32
      CyclomaticComplexity: 6
      functionsReached:
        - strlen
        - yystpcpy
      functionUses:    3
      BranchProfiles:
        - Branch String:   'event-filter-parser.c:1039,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1041,19'
              BranchSideFuncs:
                - strlen
                - yystpcpy
            - BranchSide:      'event-filter-parser.c:1072,7'
              BranchSideFuncs:
                - strlen
                - yystpcpy
        - Branch String:   'event-filter-parser.c:1045,9'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1049,13'
              BranchSideFuncs:
                - strlen
                - yystpcpy
            - BranchSide:      'event-filter-parser.c:1049,13'
              BranchSideFuncs:
                - strlen
                - yystpcpy
            - BranchSide:      'event-filter-parser.c:1052,18'
              BranchSideFuncs:
                - strlen
                - yystpcpy
            - BranchSide:      'event-filter-parser.c:1059,17'
              BranchSideFuncs:
                - strlen
                - yystpcpy
            - BranchSide:      'event-filter-parser.c:1065,17'
              BranchSideFuncs: []
        - Branch String:   'event-filter-parser.c:1052,17'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1053,15'
              BranchSideFuncs:
                - strlen
                - yystpcpy
            - BranchSide:      'event-filter-parser.c:1055,15'
              BranchSideFuncs:
                - strlen
                - yystpcpy
        - Branch String:   'event-filter-parser.c:1059,17'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1060,29'
              BranchSideFuncs:
                - strlen
                - yystpcpy
            - BranchSide:      'event-filter-parser.c:1061,16'
              BranchSideFuncs:
                - strlen
                - yystpcpy
        - Branch String:   'event-filter-parser.c:1065,17'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1066,15'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-parser.c:1067,20'
              BranchSideFuncs: []
        - Branch String:   'event-filter-parser.c:1072,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1073,22'
              BranchSideFuncs:
                - yystpcpy
            - BranchSide:      'event-filter-parser.c:1075,12'
              BranchSideFuncs:
                - strlen
      Callsites:
        - Src:             'event-filter-parser.c:1073,12'
          Dst:             yystpcpy
        - Src:             'event-filter-parser.c:1075,12'
          Dst:             strlen
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    yydestruct
      functionSourceFile: '/src/dovecot/src/lib/event-filter-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1228
      functionLinenumberEnd: 1238
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - yymsg
        - yytype
        - yyvaluep
        - state
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'event-filter-parser.c:1231,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1231,7'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-parser.c:1232,11'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    yysyntax_error
      functionSourceFile: '/src/dovecot/src/lib/event-filter-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1090
      functionLinenumberEnd: 1219
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - yymsg_alloc
        - yymsg
        - yyssp
        - yytoken
      BBCount:         68
      ICount:          416
      EdgeCount:       86
      CyclomaticComplexity: 20
      functionsReached:
        - strlen
        - yytnamerr
      functionUses:    2
      BranchProfiles:
        - Branch String:   'event-filter-parser.c:1125,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1127,26'
              BranchSideFuncs:
                - yytnamerr
                - strlen
                - yytnamerr
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1165,11'
              BranchSideFuncs:
                - strlen
                - yytnamerr
        - Branch String:   'event-filter-parser.c:1131,11'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1136,26'
              BranchSideFuncs:
                - strlen
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1163,5'
              BranchSideFuncs:
                - strlen
                - yytnamerr
        - Branch String:   'event-filter-parser.c:1136,26'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1136,37'
              BranchSideFuncs:
                - strlen
                - yytnamerr
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1136,15'
              BranchSideFuncs:
                - strlen
                - yytnamerr
                - yytnamerr
        - Branch String:   'event-filter-parser.c:1139,24'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1139,49'
              BranchSideFuncs:
                - strlen
                - yytnamerr
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1139,15'
              BranchSideFuncs:
                - strlen
                - yytnamerr
                - yytnamerr
        - Branch String:   'event-filter-parser.c:1142,11'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1143,25'
              BranchSideFuncs:
                - strlen
                - yytnamerr
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1162,9'
              BranchSideFuncs:
                - strlen
                - yytnamerr
        - Branch String:   'event-filter-parser.c:1143,43'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1143,46'
              BranchSideFuncs:
                - strlen
                - yytnamerr
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1144,21'
              BranchSideFuncs:
                - strlen
                - yytnamerr
                - yytnamerr
        - Branch String:   'event-filter-parser.c:1143,17'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1144,21'
              BranchSideFuncs:
                - yytnamerr
                - strlen
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1146,21'
              BranchSideFuncs:
                - yytnamerr
                - strlen
                - yytnamerr
        - Branch String:   'event-filter-parser.c:1146,21'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1148,29'
              BranchSideFuncs:
                - strlen
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1152,44'
              BranchSideFuncs:
                - yytnamerr
                - strlen
                - yytnamerr
        - Branch String:   'event-filter-parser.c:1156,41'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1156,44'
              BranchSideFuncs:
                - strlen
                - yytnamerr
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1159,21'
              BranchSideFuncs: []
        - Branch String:   'event-filter-parser.c:1156,23'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1157,30'
              BranchSideFuncs:
                - strlen
                - yytnamerr
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1159,21'
              BranchSideFuncs: []
        - Branch String:   'event-filter-parser.c:1165,3'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1166,5'
              BranchSideFuncs:
                - strlen
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1172,7'
              BranchSideFuncs:
                - strlen
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1173,7'
              BranchSideFuncs:
                - strlen
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1174,7'
              BranchSideFuncs:
                - strlen
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1175,7'
              BranchSideFuncs:
                - strlen
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1176,7'
              BranchSideFuncs:
                - strlen
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1177,7'
              BranchSideFuncs:
                - strlen
                - yytnamerr
        - Branch String:   'event-filter-parser.c:1185,27'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1185,30'
              BranchSideFuncs:
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1188,7'
              BranchSideFuncs: []
        - Branch String:   'event-filter-parser.c:1185,9'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1186,16'
              BranchSideFuncs:
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1188,7'
              BranchSideFuncs: []
        - Branch String:   'event-filter-parser.c:1191,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1193,26'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-parser.c:1204,18'
              BranchSideFuncs:
                - yytnamerr
        - Branch String:   'event-filter-parser.c:1195,14'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1195,18'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-parser.c:1196,10'
              BranchSideFuncs: []
        - Branch String:   'event-filter-parser.c:1194,11'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1196,10'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-parser.c:1197,7'
              BranchSideFuncs: []
        - Branch String:   'event-filter-parser.c:1206,5'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1207,12'
              BranchSideFuncs:
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1218,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter-parser.c:1207,23'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1207,26'
              BranchSideFuncs:
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1214,11'
              BranchSideFuncs:
                - yytnamerr
        - Branch String:   'event-filter-parser.c:1207,45'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1207,48'
              BranchSideFuncs:
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1214,11'
              BranchSideFuncs:
                - yytnamerr
        - Branch String:   'event-filter-parser.c:1207,11'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1209,29'
              BranchSideFuncs:
                - yytnamerr
            - BranchSide:      'event-filter-parser.c:1214,11'
              BranchSideFuncs:
                - yytnamerr
      Callsites:
        - Src:             'event-filter-parser.c:1128,29'
          Dst:             yytnamerr
        - Src:             'event-filter-parser.c:1155,32'
          Dst:             yytnamerr
        - Src:             'event-filter-parser.c:1184,37'
          Dst:             strlen
        - Src:             'event-filter-parser.c:1209,18'
          Dst:             yytnamerr
    - functionName:    key_value
      functionSourceFile: '/src/dovecot/src/lib/event-filter-parser.y'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - state
        - a
        - b
        - op
      BBCount:         59
      ICount:          448
      EdgeCount:       72
      CyclomaticComplexity: 15
      functionsReached:
        - event_category_find_registered
        - event_filter_category_to_log_type
        - i_unreached
        - malloc_multiply_check
        - net_parse_range
        - p_malloc
        - p_strdup
        - str_parse_get_interval_msecs
        - str_parse_get_size
        - str_to_intmax
        - str_unescape
        - strcmp
        - strlen
        - strspn
        - toupper
        - wildcard_is_escaped_literal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-parser.y:41,6'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:42,8'
              BranchSideFuncs:
                - malloc_multiply_check.4739
                - p_malloc.4741
                - i_unreached
                - p_strdup
                - str_to_intmax
                - net_parse_range
                - str_parse_get_size
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - strlen
                - toupper
                - p_strdup
                - event_filter_category_to_log_type
                - p_strdup
                - str_unescape
                - event_category_find_registered
                - p_strdup
                - str_unescape
                - wildcard_is_escaped_literal
                - p_strdup
                - p_strdup
                - str_unescape
                - i_unreached
            - BranchSide:      'event-filter-parser.y:43,18'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - malloc_multiply_check.4739
                - p_malloc.4741
                - i_unreached
                - p_strdup
                - str_to_intmax
                - net_parse_range
                - str_parse_get_size
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - strlen
                - toupper
                - p_strdup
                - event_filter_category_to_log_type
                - p_strdup
                - str_unescape
                - event_category_find_registered
                - p_strdup
                - str_unescape
                - wildcard_is_escaped_literal
                - p_strdup
                - p_strdup
                - str_unescape
                - i_unreached
        - Branch String:   'event-filter-parser.y:43,11'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:44,8'
              BranchSideFuncs:
                - malloc_multiply_check.4739
                - p_malloc.4741
                - i_unreached
                - p_strdup
                - str_to_intmax
                - net_parse_range
                - str_parse_get_size
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - strlen
                - toupper
                - p_strdup
                - event_filter_category_to_log_type
                - p_strdup
                - str_unescape
                - event_category_find_registered
                - p_strdup
                - str_unescape
                - wildcard_is_escaped_literal
                - p_strdup
                - p_strdup
                - str_unescape
                - i_unreached
            - BranchSide:      'event-filter-parser.y:45,18'
              BranchSideFuncs:
                - strcmp
                - malloc_multiply_check.4739
                - p_malloc.4741
                - i_unreached
                - p_strdup
                - str_to_intmax
                - net_parse_range
                - str_parse_get_size
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - strlen
                - toupper
                - p_strdup
                - event_filter_category_to_log_type
                - p_strdup
                - str_unescape
                - event_category_find_registered
                - p_strdup
                - str_unescape
                - wildcard_is_escaped_literal
                - p_strdup
                - p_strdup
                - str_unescape
                - i_unreached
        - Branch String:   'event-filter-parser.y:45,11'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:46,8'
              BranchSideFuncs:
                - malloc_multiply_check.4739
                - p_malloc.4741
                - i_unreached
                - p_strdup
                - str_to_intmax
                - net_parse_range
                - str_parse_get_size
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - strlen
                - toupper
                - p_strdup
                - event_filter_category_to_log_type
                - p_strdup
                - str_unescape
                - event_category_find_registered
                - p_strdup
                - str_unescape
                - wildcard_is_escaped_literal
                - p_strdup
                - p_strdup
                - str_unescape
                - i_unreached
            - BranchSide:      'event-filter-parser.y:48,8'
              BranchSideFuncs:
                - malloc_multiply_check.4739
                - p_malloc.4741
                - i_unreached
                - p_strdup
                - str_to_intmax
                - net_parse_range
                - str_parse_get_size
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - strlen
                - toupper
                - p_strdup
                - event_filter_category_to_log_type
                - p_strdup
                - str_unescape
                - event_category_find_registered
                - p_strdup
                - str_unescape
                - wildcard_is_escaped_literal
                - p_strdup
                - p_strdup
                - str_unescape
                - i_unreached
        - Branch String:   'event-filter-parser.y:51,60'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:52,7'
              BranchSideFuncs:
                - malloc_multiply_check.4739
                - p_malloc.4741
                - i_unreached
                - p_strdup
                - str_to_intmax
                - net_parse_range
                - str_parse_get_size
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - strlen
                - toupper
                - p_strdup
                - event_filter_category_to_log_type
                - p_strdup
                - str_unescape
                - event_category_find_registered
                - p_strdup
                - str_unescape
                - wildcard_is_escaped_literal
                - p_strdup
                - p_strdup
                - str_unescape
                - i_unreached
            - BranchSide:      'event-filter-parser.y:57,9'
              BranchSideFuncs:
                - malloc_multiply_check.4739
                - p_malloc.4741
                - i_unreached
                - p_strdup
                - str_to_intmax
                - net_parse_range
                - str_parse_get_size
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - strlen
                - toupper
                - p_strdup
                - event_filter_category_to_log_type
                - p_strdup
                - str_unescape
                - event_category_find_registered
                - p_strdup
                - str_unescape
                - wildcard_is_escaped_literal
                - p_strdup
                - p_strdup
                - str_unescape
                - i_unreached
        - Branch String:   'event-filter-parser.y:51,6'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:53,3'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-parser.y:57,9'
              BranchSideFuncs:
                - malloc_multiply_check.4739
                - p_malloc.4741
                - i_unreached
                - p_strdup
                - str_to_intmax
                - net_parse_range
                - str_parse_get_size
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - strlen
                - toupper
                - p_strdup
                - event_filter_category_to_log_type
                - p_strdup
                - str_unescape
                - event_category_find_registered
                - p_strdup
                - str_unescape
                - wildcard_is_escaped_literal
                - p_strdup
                - p_strdup
                - str_unescape
                - i_unreached
        - Branch String:   'event-filter-parser.y:62,2'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:64,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter-parser.y:66,35'
              BranchSideFuncs:
                - wildcard_is_escaped_literal
                - p_strdup
                - p_strdup
                - str_unescape
            - BranchSide:      'event-filter-parser.y:75,49'
              BranchSideFuncs:
                - p_strdup
                - str_unescape
            - BranchSide:      'event-filter-parser.y:79,42'
              BranchSideFuncs:
                - event_filter_category_to_log_type
                - p_strdup
                - str_unescape
                - event_category_find_registered
            - BranchSide:      'event-filter-parser.y:85,30'
              BranchSideFuncs:
                - p_strdup
                - str_to_intmax
                - net_parse_range
                - str_parse_get_size
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - strlen
                - toupper
                - p_strdup
            - BranchSide:      'event-filter-parser.y:152,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter-parser.y:152,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter-parser.y:152,3'
              BranchSideFuncs:
                - i_unreached
            - BranchSide:      'event-filter-parser.y:155,9'
              BranchSideFuncs: []
        - Branch String:   'event-filter-parser.y:66,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:67,4'
              BranchSideFuncs:
                - p_strdup
                - str_unescape
            - BranchSide:      'event-filter-parser.y:70,37'
              BranchSideFuncs:
                - p_strdup
        - Branch String:   'event-filter-parser.y:79,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:80,48'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-parser.y:83,3'
              BranchSideFuncs: []
        - Branch String:   'event-filter-parser.y:89,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:91,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-parser.y:93,30'
              BranchSideFuncs:
                - net_parse_range
                - str_parse_get_size
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - strlen
                - toupper
                - p_strdup
        - Branch String:   'event-filter-parser.y:93,14'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:96,4'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-parser.y:106,33'
              BranchSideFuncs:
                - str_parse_get_size
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - strlen
                - toupper
                - p_strdup
        - Branch String:   'event-filter-parser.y:107,17'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:107,20'
              BranchSideFuncs:
                - strlen
                - toupper
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
                - p_strdup
            - BranchSide:      'event-filter-parser.y:116,8'
              BranchSideFuncs:
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
        - Branch String:   'event-filter-parser.y:107,8'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:111,5'
              BranchSideFuncs:
                - p_strdup
            - BranchSide:      'event-filter-parser.y:116,8'
              BranchSideFuncs:
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
        - Branch String:   'event-filter-parser.y:116,17'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:116,20'
              BranchSideFuncs:
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
            - BranchSide:      'event-filter-parser.y:128,39'
              BranchSideFuncs:
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
        - Branch String:   'event-filter-parser.y:116,8'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:117,43'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-parser.y:128,39'
              BranchSideFuncs:
                - str_parse_get_interval_msecs
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
        - Branch String:   'event-filter-parser.y:129,8'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:130,43'
              BranchSideFuncs: []
            - BranchSide:      'event-filter-parser.y:136,29'
              BranchSideFuncs:
                - p_strdup
                - wildcard_is_escaped_literal
                - strspn
                - strlen
                - str_unescape
        - Branch String:   'event-filter-parser.y:137,8'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:138,5'
              BranchSideFuncs:
                - str_unescape
            - BranchSide:      'event-filter-parser.y:140,22'
              BranchSideFuncs:
                - strspn
                - strlen
      Callsites:
        - Src:             'event-filter-parser.y:41,6'
          Dst:             strcmp
        - Src:             'event-filter-parser.y:43,11'
          Dst:             strcmp
        - Src:             'event-filter-parser.y:45,11'
          Dst:             strcmp
        - Src:             'event-filter-parser.y:57,9'
          Dst:             malloc_multiply_check
        - Src:             'event-filter-parser.y:57,9'
          Dst:             p_malloc
        - Src:             'event-filter-parser.y:64,3'
          Dst:             i_unreached
        - Src:             'event-filter-parser.y:66,7'
          Dst:             wildcard_is_escaped_literal
        - Src:             'event-filter-parser.y:68,41'
          Dst:             p_strdup
        - Src:             'event-filter-parser.y:68,28'
          Dst:             str_unescape
        - Src:             'event-filter-parser.y:70,28'
          Dst:             p_strdup
        - Src:             'event-filter-parser.y:75,40'
          Dst:             p_strdup
        - Src:             'event-filter-parser.y:75,27'
          Dst:             str_unescape
        - Src:             'event-filter-parser.y:79,8'
          Dst:             event_filter_category_to_log_type
        - Src:             'event-filter-parser.y:80,39'
          Dst:             p_strdup
        - Src:             'event-filter-parser.y:80,26'
          Dst:             str_unescape
        - Src:             'event-filter-parser.y:81,25'
          Dst:             event_category_find_registered
        - Src:             'event-filter-parser.y:85,21'
          Dst:             p_strdup
        - Src:             'event-filter-parser.y:89,7'
          Dst:             str_to_intmax
        - Src:             'event-filter-parser.y:93,14'
          Dst:             net_parse_range
        - Src:             'event-filter-parser.y:106,14'
          Dst:             str_parse_get_size
        - Src:             'event-filter-parser.y:107,20'
          Dst:             strlen
        - Src:             'event-filter-parser.y:107,20'
          Dst:             toupper
        - Src:             'event-filter-parser.y:112,29'
          Dst:             p_strdup
        - Src:             'event-filter-parser.y:128,10'
          Dst:             str_parse_get_interval_msecs
        - Src:             'event-filter-parser.y:136,20'
          Dst:             p_strdup
        - Src:             'event-filter-parser.y:137,8'
          Dst:             wildcard_is_escaped_literal
        - Src:             'event-filter-parser.y:139,5'
          Dst:             str_unescape
        - Src:             'event-filter-parser.y:140,15'
          Dst:             strspn
        - Src:             'event-filter-parser.y:140,44'
          Dst:             strlen
        - Src:             'event-filter-parser.y:152,3'
          Dst:             i_unreached
    - functionName:    strspn
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    logic
      functionSourceFile: '/src/dovecot/src/lib/event-filter-parser.y'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - state
        - a
        - b
        - op
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - p_malloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter-parser.y:165,9'
          Dst:             malloc_multiply_check
        - Src:             'event-filter-parser.y:165,9'
          Dst:             p_malloc
    - functionName:    event_filter_parser_parse
      functionSourceFile: '/src/dovecot/src/lib/event-filter-parser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1249
      functionLinenumberEnd: 1861
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
      BBCount:         164
      ICount:          1080
      EdgeCount:       209
      CyclomaticComplexity: 47
      functionsReached:
        - event_filter_parser_error
        - event_filter_parser_lex
        - key_value
        - logic
        - str_unescape
        - t_strdup_noconst
        - yydestruct
        - yysyntax_error
      functionUses:    1
      BranchProfiles:
        - Branch String:   'event-filter-parser.c:1339,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1345,28'
              BranchSideFuncs:
                - malloc
                - event_filter_parser_error
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - free
            - BranchSide:      'event-filter-parser.c:1402,7'
              BranchSideFuncs:
                - malloc
                - event_filter_parser_error
                - free
                - free
                - yydestruct
                - yydestruct
                - free
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
        - Branch String:   'event-filter-parser.c:1368,11'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1369,9'
              BranchSideFuncs:
                - event_filter_parser_error
                - free
                - free
                - yydestruct
                - yydestruct
            - BranchSide:      'event-filter-parser.c:1370,19'
              BranchSideFuncs:
                - malloc
                - event_filter_parser_error
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - free
        - Branch String:   'event-filter-parser.c:1371,11'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1372,21'
              BranchSideFuncs:
                - malloc
                - event_filter_parser_error
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - free
            - BranchSide:      'event-filter-parser.c:1375,29'
              BranchSideFuncs:
                - malloc
                - event_filter_parser_error
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - free
        - Branch String:   'event-filter-parser.c:1379,13'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1380,11'
              BranchSideFuncs:
                - malloc
                - event_filter_parser_error
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - free
            - BranchSide:      'event-filter-parser.c:1381,9'
              BranchSideFuncs:
                - malloc
                - event_filter_parser_error
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - free
        - Branch String:   'event-filter-parser.c:1384,13'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1385,25'
              BranchSideFuncs:
                - free
                - malloc
                - event_filter_parser_error
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
            - BranchSide:      'event-filter-parser.c:1389,15'
              BranchSideFuncs:
                - malloc
                - event_filter_parser_error
                - free
                - free
                - yydestruct
                - yydestruct
                - free
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
        - Branch String:   'event-filter-parser.c:1397,11'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1398,9'
              BranchSideFuncs:
                - free
                - free
                - yydestruct
                - yydestruct
            - BranchSide:      'event-filter-parser.c:1399,5'
              BranchSideFuncs:
                - malloc
                - event_filter_parser_error
                - free
                - free
                - yydestruct
                - yydestruct
                - free
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
        - Branch String:   'event-filter-parser.c:1402,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1403,5'
              BranchSideFuncs:
                - free
                - free
                - yydestruct
                - yydestruct
            - BranchSide:      'event-filter-parser.c:1405,3'
              BranchSideFuncs:
                - free
                - free
                - yydestruct
                - yydestruct
                - malloc
                - event_filter_parser_error
                - free
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
        - Branch String:   'event-filter-parser.c:1417,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1418,5'
              BranchSideFuncs:
                - event_filter_parser_lex
                - free
                - free
                - yydestruct
                - yydestruct
                - malloc
                - event_filter_parser_error
                - free
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
            - BranchSide:      'event-filter-parser.c:1423,7'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - malloc
                - free
                - event_filter_parser_lex
        - Branch String:   'event-filter-parser.c:1423,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1426,32'
              BranchSideFuncs:
                - event_filter_parser_lex
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1429,7'
              BranchSideFuncs:
                - event_filter_parser_lex
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1429,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1431,24'
              BranchSideFuncs:
                - event_filter_parser_lex
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1436,17'
              BranchSideFuncs:
                - event_filter_parser_lex
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1436,17'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1436,17'
              BranchSideFuncs:
                - event_filter_parser_lex
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1436,15'
              BranchSideFuncs:
                - event_filter_parser_lex
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1436,17'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1436,15'
              BranchSideFuncs:
                - event_filter_parser_lex
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1436,15'
              BranchSideFuncs:
                - event_filter_parser_lex
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1443,15'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1443,27'
              BranchSideFuncs:
                - event_filter_parser_lex
                - free
                - free
                - yydestruct
                - yydestruct
                - malloc
                - event_filter_parser_error
                - free
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
            - BranchSide:      'event-filter-parser.c:1444,5'
              BranchSideFuncs:
                - event_filter_parser_lex
                - free
                - free
                - yydestruct
                - yydestruct
                - malloc
                - event_filter_parser_error
                - free
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
        - Branch String:   'event-filter-parser.c:1443,31'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1443,42'
              BranchSideFuncs:
                - event_filter_parser_lex
                - free
                - free
                - yydestruct
                - yydestruct
                - malloc
                - event_filter_parser_error
                - free
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
            - BranchSide:      'event-filter-parser.c:1444,5'
              BranchSideFuncs:
                - event_filter_parser_lex
                - free
                - free
                - yydestruct
                - yydestruct
                - malloc
                - event_filter_parser_error
                - free
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
        - Branch String:   'event-filter-parser.c:1443,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1444,5'
              BranchSideFuncs:
                - event_filter_parser_lex
                - free
                - free
                - yydestruct
                - yydestruct
                - malloc
                - event_filter_parser_error
                - free
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - malloc
                - yysyntax_error
                - free
            - BranchSide:      'event-filter-parser.c:1445,17'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1446,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1450,14'
              BranchSideFuncs:
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
            - BranchSide:      'event-filter-parser.c:1456,7'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1456,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1457,16'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1461,13'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1476,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1477,5'
              BranchSideFuncs:
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
                - malloc
                - yysyntax_error
                - free
            - BranchSide:      'event-filter-parser.c:1478,3'
              BranchSideFuncs:
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
        - Branch String:   'event-filter-parser.c:1500,3'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:198,52'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:199,35'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:202,56'
              BranchSideFuncs:
                - logic
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:203,56'
              BranchSideFuncs:
                - logic
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:204,56'
              BranchSideFuncs:
                - logic
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:205,51'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:206,51'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:210,31'
              BranchSideFuncs:
                - key_value
                - t_strdup_noconst
                - str_unescape
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
                - event_filter_parser_error
            - BranchSide:      'event-filter-parser.y:220,50'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:221,80'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:224,50'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:225,50'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:226,47'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:227,47'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:228,47'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:231,46'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:232,46'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:233,46'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:234,46'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.y:235,46'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1633,16'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.y:211,10'
          Branch Sides:
            - BranchSide:      'event-filter-parser.y:212,15'
              BranchSideFuncs:
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1556,5'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1660,25'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1660,28'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1662,28'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1660,42'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1660,53'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1662,28'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1660,16'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1661,26'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1662,28'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1674,13'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1674,11'
              BranchSideFuncs:
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
                - malloc
                - yysyntax_error
                - free
            - BranchSide:      'event-filter-parser.c:1674,43'
              BranchSideFuncs:
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
                - malloc
                - yysyntax_error
                - free
        - Branch String:   'event-filter-parser.c:1674,43'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1674,43'
              BranchSideFuncs:
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
                - malloc
                - yysyntax_error
                - free
            - BranchSide:      'event-filter-parser.c:1674,13'
              BranchSideFuncs:
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
                - malloc
                - yysyntax_error
                - free
        - Branch String:   'event-filter-parser.c:1674,43'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1674,13'
              BranchSideFuncs:
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
                - malloc
                - yysyntax_error
                - free
            - BranchSide:      'event-filter-parser.c:1674,13'
              BranchSideFuncs:
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
                - malloc
                - yysyntax_error
                - free
        - Branch String:   'event-filter-parser.c:1677,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1679,7'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
                - yydestruct
            - BranchSide:      'event-filter-parser.c:1718,7'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
                - yydestruct
        - Branch String:   'event-filter-parser.c:1689,13'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1690,20'
              BranchSideFuncs:
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
            - BranchSide:      'event-filter-parser.c:1691,18'
              BranchSideFuncs:
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
                - malloc
                - yysyntax_error
                - free
        - Branch String:   'event-filter-parser.c:1693,17'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1694,29'
              BranchSideFuncs:
                - free
                - malloc
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
                - yysyntax_error
            - BranchSide:      'event-filter-parser.c:1695,21'
              BranchSideFuncs:
                - malloc
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
                - yysyntax_error
        - Branch String:   'event-filter-parser.c:1696,17'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1698,25'
              BranchSideFuncs:
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - malloc
                - free
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
            - BranchSide:      'event-filter-parser.c:1704,41'
              BranchSideFuncs:
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - malloc
                - free
                - event_filter_parser_lex
                - malloc
                - event_filter_parser_error
                - free
                - yydestruct
        - Branch String:   'event-filter-parser.c:1709,13'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1710,11'
              BranchSideFuncs:
                - event_filter_parser_error
                - free
                - free
                - yydestruct
                - yydestruct
            - BranchSide:      'event-filter-parser.c:1714,5'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
                - yydestruct
        - Branch String:   'event-filter-parser.c:1718,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1723,11'
              BranchSideFuncs:
                - yydestruct
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1739,3'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1723,11'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1726,15'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1732,23'
              BranchSideFuncs:
                - yydestruct
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1726,15'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1727,13'
              BranchSideFuncs:
                - free
                - free
                - yydestruct
                - yydestruct
            - BranchSide:      'event-filter-parser.c:1728,9'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1769,11'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1771,15'
              BranchSideFuncs:
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1781,11'
              BranchSideFuncs:
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1772,24'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1772,27'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1778,9'
              BranchSideFuncs:
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1772,41'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1772,52'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1778,9'
              BranchSideFuncs:
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1772,15'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1774,29'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1778,9'
              BranchSideFuncs:
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1775,19'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1776,17'
              BranchSideFuncs:
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
            - BranchSide:      'event-filter-parser.c:1777,13'
              BranchSideFuncs:
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1781,11'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1782,9'
              BranchSideFuncs:
                - free
                - free
                - yydestruct
                - yydestruct
            - BranchSide:      'event-filter-parser.c:1786,26'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
                - yydestruct
                - t_strdup_noconst
                - str_unescape
                - key_value
                - event_filter_parser_error
                - logic
                - logic
                - logic
                - yysyntax_error
                - event_filter_parser_error
                - yydestruct
                - event_filter_parser_error
                - malloc
                - yysyntax_error
                - free
                - event_filter_parser_lex
                - malloc
                - free
        - Branch String:   'event-filter-parser.c:1835,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1839,17'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
            - BranchSide:      'event-filter-parser.c:1845,3'
              BranchSideFuncs:
                - free
                - free
                - yydestruct
        - Branch String:   'event-filter-parser.c:1839,17'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1839,17'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
            - BranchSide:      'event-filter-parser.c:1839,15'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
        - Branch String:   'event-filter-parser.c:1839,17'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1839,15'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
            - BranchSide:      'event-filter-parser.c:1839,15'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
                - yydestruct
        - Branch String:   'event-filter-parser.c:1847,3'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1850,28'
              BranchSideFuncs:
                - yydestruct
                - free
                - free
            - BranchSide:      'event-filter-parser.c:1854,7'
              BranchSideFuncs:
                - free
                - free
        - Branch String:   'event-filter-parser.c:1854,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1855,19'
              BranchSideFuncs:
                - free
                - free
            - BranchSide:      'event-filter-parser.c:1858,7'
              BranchSideFuncs:
                - free
        - Branch String:   'event-filter-parser.c:1858,7'
          Branch Sides:
            - BranchSide:      'event-filter-parser.c:1858,7'
              BranchSideFuncs:
                - free
            - BranchSide:      'event-filter-parser.c:1859,19'
              BranchSideFuncs:
                - free
      Callsites:
        - Src:             'event-filter-parser.c:1426,16'
          Dst:             event_filter_parser_lex
        - Src:             'event-filter-parser.y:202,50'
          Dst:             logic
        - Src:             'event-filter-parser.y:203,50'
          Dst:             logic
        - Src:             'event-filter-parser.y:204,50'
          Dst:             logic
        - Src:             'event-filter-parser.y:210,21'
          Dst:             key_value
        - Src:             'event-filter-parser.y:212,7'
          Dst:             event_filter_parser_error
        - Src:             'event-filter-parser.y:221,62'
          Dst:             t_strdup_noconst
        - Src:             'event-filter-parser.y:221,49'
          Dst:             str_unescape
        - Src:             'event-filter-parser.c:1688,33'
          Dst:             yysyntax_error
        - Src:             'event-filter-parser.c:1704,41'
          Dst:             yysyntax_error
        - Src:             'event-filter-parser.c:1708,9'
          Dst:             event_filter_parser_error
        - Src:             'event-filter-parser.c:1731,11'
          Dst:             yydestruct
        - Src:             'event-filter-parser.c:1785,7'
          Dst:             yydestruct
        - Src:             'event-filter-parser.c:1825,3'
          Dst:             event_filter_parser_error
        - Src:             'event-filter-parser.c:1840,7'
          Dst:             yydestruct
        - Src:             'event-filter-parser.c:1849,7'
          Dst:             yydestruct
    - functionName:    event_filter_parser_error
      functionSourceFile: '/src/dovecot/src/lib/event-filter-parser.y'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 32
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - scan
        - e
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_strdup_printf
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'event-filter-parser.y:31,17'
          Dst:             t_strdup_printf
    - functionName:    free_node
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
        - node
      BBCount:         8
      ICount:          51
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - p_free_internal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'hash.c:103,6'
          Branch Sides:
            - BranchSide:      'hash.c:104,3'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:106,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'hash.c:104,3'
          Dst:             p_free_internal
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    strfastcase_hash
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 592
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - p
      BBCount:         7
      ICount:          64
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'hash.c:583,2'
          Branch Sides:
            - BranchSide:      'hash.c:584,8'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:592,9'
              BranchSideFuncs: []
        - Branch String:   'hash.c:585,7'
          Branch Sides:
            - BranchSide:      'hash.c:586,8'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:589,4'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    mem_hash
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 574
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - p
        - size
      BBCount:         8
      ICount:          75
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'hash.c:566,2'
          Branch Sides:
            - BranchSide:      'hash.c:567,8'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:574,9'
              BranchSideFuncs: []
        - Branch String:   'hash.c:568,7'
          Branch Sides:
            - BranchSide:      'hash.c:569,8'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:572,4'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    strcase_hash
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 544
      functionLinenumberEnd: 557
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - p
      BBCount:         9
      ICount:          73
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - toupper
      functionUses:    0
      BranchProfiles:
        - Branch String:   'hash.c:548,2'
          Branch Sides:
            - BranchSide:      'hash.c:549,8'
              BranchSideFuncs:
                - toupper
            - BranchSide:      'hash.c:557,9'
              BranchSideFuncs: []
        - Branch String:   'hash.c:550,7'
          Branch Sides:
            - BranchSide:      'hash.c:551,8'
              BranchSideFuncs:
                - toupper
            - BranchSide:      'hash.c:554,4'
              BranchSideFuncs:
                - toupper
      Callsites:
        - Src:             'hash.c:549,18'
          Dst:             toupper
    - functionName:    str_hash
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 525
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - p
      BBCount:         7
      ICount:          63
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'hash.c:529,2'
          Branch Sides:
            - BranchSide:      'hash.c:530,8'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:538,9'
              BranchSideFuncs: []
        - Branch String:   'hash.c:531,7'
          Branch Sides:
            - BranchSide:      'hash.c:532,8'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:535,4'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    hash_table_copy
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 508
      functionLinenumberEnd: 520
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dest
        - src
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hash_table_freeze
        - hash_table_insert
        - hash_table_iterate
        - hash_table_iterate_deinit
        - hash_table_iterate_init
        - hash_table_thaw
      functionUses:    0
      BranchProfiles:
        - Branch String:   'hash.c:515,2'
          Branch Sides:
            - BranchSide:      'hash.c:516,21'
              BranchSideFuncs:
                - hash_table_insert
                - hash_table_iterate
                - hash_table_iterate_deinit
                - hash_table_thaw
            - BranchSide:      'hash.c:517,2'
              BranchSideFuncs:
                - hash_table_iterate_deinit
                - hash_table_thaw
      Callsites:
        - Src:             'hash.c:512,2'
          Dst:             hash_table_freeze
        - Src:             'hash.c:514,9'
          Dst:             hash_table_iterate_init
        - Src:             'hash.c:515,9'
          Dst:             hash_table_iterate
        - Src:             'hash.c:516,3'
          Dst:             hash_table_insert
        - Src:             'hash.c:517,2'
          Dst:             hash_table_iterate_deinit
        - Src:             'hash.c:519,2'
          Dst:             hash_table_thaw
    - functionName:    hash_table_freeze
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 435
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hash_table_iterate_init
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - hash_table_freeze
        - malloc_multiply_check
        - p_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hash.c:375,2'
          Dst:             hash_table_freeze
        - Src:             'hash.c:377,8'
          Dst:             malloc_multiply_check
        - Src:             'hash.c:377,8'
          Dst:             p_malloc
    - functionName:    hash_table_iterate
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 418
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - key_r
        - value_r
      BBCount:         11
      ICount:          85
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - hash_table_iterate_next
      functionUses:    2
      BranchProfiles:
        - Branch String:   'hash.c:407,19'
          Branch Sides:
            - BranchSide:      'hash.c:407,22'
              BranchSideFuncs:
                - hash_table_iterate_next
                - hash_table_iterate_next
            - BranchSide:      'hash.c:409,6'
              BranchSideFuncs:
                - hash_table_iterate_next
        - Branch String:   'hash.c:407,6'
          Branch Sides:
            - BranchSide:      'hash.c:408,34'
              BranchSideFuncs:
                - hash_table_iterate_next
                - hash_table_iterate_next
            - BranchSide:      'hash.c:409,6'
              BranchSideFuncs:
                - hash_table_iterate_next
        - Branch String:   'hash.c:409,6'
          Branch Sides:
            - BranchSide:      'hash.c:410,13'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:413,11'
              BranchSideFuncs:
                - hash_table_iterate_next
      Callsites:
        - Src:             'hash.c:408,10'
          Dst:             hash_table_iterate_next
        - Src:             'hash.c:416,14'
          Dst:             hash_table_iterate_next
    - functionName:    hash_table_insert
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
        - key
        - value
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - hash_table_insert_node
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hash.c:300,2'
          Dst:             hash_table_insert_node
    - functionName:    hash_table_iterate_deinit
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 430
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _ctx
      BBCount:         7
      ICount:          41
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - hash_table_thaw
        - p_free_internal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'hash.c:424,6'
          Branch Sides:
            - BranchSide:      'hash.c:425,3'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:427,3'
              BranchSideFuncs:
                - hash_table_thaw
                - p_free_internal.4864
      Callsites:
        - Src:             'hash.c:428,2'
          Dst:             hash_table_thaw
        - Src:             'hash.c:429,2'
          Dst:             p_free_internal
    - functionName:    hash_table_thaw
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
      BBCount:         15
      ICount:          69
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - hash_table_compress_removed
        - hash_table_resize
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'hash.c:439,2'
          Branch Sides:
            - BranchSide:      'hash.c:439,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:441,8'
              BranchSideFuncs:
                - hash_table_resize
                - hash_table_compress_removed
        - Branch String:   'hash.c:441,6'
          Branch Sides:
            - BranchSide:      'hash.c:442,3'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:444,6'
              BranchSideFuncs:
                - hash_table_resize
                - hash_table_compress_removed
        - Branch String:   'hash.c:444,6'
          Branch Sides:
            - BranchSide:      'hash.c:444,6'
              BranchSideFuncs:
                - hash_table_resize
                - hash_table_compress_removed
            - BranchSide:      'hash.c:445,26'
              BranchSideFuncs:
                - hash_table_resize
                - hash_table_compress_removed
        - Branch String:   'hash.c:445,7'
          Branch Sides:
            - BranchSide:      'hash.c:446,32'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:447,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'hash.c:439,2'
          Dst:             i_panic
        - Src:             'hash.c:445,8'
          Dst:             hash_table_resize
        - Src:             'hash.c:446,4'
          Dst:             hash_table_compress_removed
    - functionName:    hash_table_resize
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 505
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - table
        - grow
      BBCount:         42
      ICount:          295
      EdgeCount:       53
      CyclomaticComplexity: 13
      functionsReached:
        - free_node
        - hash_table_insert_node
        - i_panic
        - malloc_multiply_check
        - p_free_internal
        - p_malloc
        - primes_closest
      functionUses:    3
      BranchProfiles:
        - Branch String:   'hash.c:456,2'
          Branch Sides:
            - BranchSide:      'hash.c:456,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:458,27'
              BranchSideFuncs:
                - primes_closest
                - malloc_multiply_check.4875
                - p_malloc.4876
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
                - primes_closest
        - Branch String:   'hash.c:459,27'
          Branch Sides:
            - BranchSide:      'hash.c:459,30'
              BranchSideFuncs:
                - primes_closest
                - malloc_multiply_check.4875
                - p_malloc.4876
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
                - primes_closest
            - BranchSide:      'hash.c:462,14'
              BranchSideFuncs:
                - primes_closest
                - malloc_multiply_check.4875
                - p_malloc.4876
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
                - primes_closest
        - Branch String:   'hash.c:459,6'
          Branch Sides:
            - BranchSide:      'hash.c:460,3'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:462,14'
              BranchSideFuncs:
                - primes_closest
                - malloc_multiply_check.4875
                - p_malloc.4876
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
                - primes_closest
        - Branch String:   'hash.c:462,14'
          Branch Sides:
            - BranchSide:      'hash.c:462,12'
              BranchSideFuncs:
                - primes_closest
                - malloc_multiply_check.4875
                - p_malloc.4876
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
            - BranchSide:      'hash.c:462,12'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
        - Branch String:   'hash.c:464,6'
          Branch Sides:
            - BranchSide:      'hash.c:465,3'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:467,6'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
        - Branch String:   'hash.c:467,11'
          Branch Sides:
            - BranchSide:      'hash.c:467,14'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
            - BranchSide:      'hash.c:471,13'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
        - Branch String:   'hash.c:467,6'
          Branch Sides:
            - BranchSide:      'hash.c:468,3'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:471,13'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
        - Branch String:   'hash.c:474,16'
          Branch Sides:
            - BranchSide:      'hash.c:474,2'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
            - BranchSide:      'hash.c:474,2'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
        - Branch String:   'hash.c:483,2'
          Branch Sides:
            - BranchSide:      'hash.c:484,11'
              BranchSideFuncs:
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
            - BranchSide:      'hash.c:501,2'
              BranchSideFuncs:
                - p_free_internal.4864
        - Branch String:   'hash.c:485,7'
          Branch Sides:
            - BranchSide:      'hash.c:486,27'
              BranchSideFuncs:
                - hash_table_insert_node
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
            - BranchSide:      'hash.c:490,15'
              BranchSideFuncs:
                - p_free_internal.4864
                - hash_table_insert_node
                - free_node
                - hash_table_insert_node
        - Branch String:   'hash.c:490,3'
          Branch Sides:
            - BranchSide:      'hash.c:491,11'
              BranchSideFuncs:
                - free_node
                - p_free_internal.4864
                - hash_table_insert_node
                - hash_table_insert_node
            - BranchSide:      'hash.c:499,2'
              BranchSideFuncs:
                - p_free_internal.4864
                - free_node
                - hash_table_insert_node
                - hash_table_insert_node
        - Branch String:   'hash.c:493,8'
          Branch Sides:
            - BranchSide:      'hash.c:494,28'
              BranchSideFuncs:
                - hash_table_insert_node
                - free_node
                - p_free_internal.4864
                - hash_table_insert_node
            - BranchSide:      'hash.c:497,14'
              BranchSideFuncs:
                - free_node
                - p_free_internal.4864
                - hash_table_insert_node
                - hash_table_insert_node
      Callsites:
        - Src:             'hash.c:456,2'
          Dst:             i_panic
        - Src:             'hash.c:462,14'
          Dst:             primes_closest
        - Src:             'hash.c:462,14'
          Dst:             primes_closest
        - Src:             'hash.c:475,17'
          Dst:             malloc_multiply_check
        - Src:             'hash.c:475,17'
          Dst:             p_malloc
        - Src:             'hash.c:486,4'
          Dst:             hash_table_insert_node
        - Src:             'hash.c:494,5'
          Dst:             hash_table_insert_node
        - Src:             'hash.c:497,4'
          Dst:             free_node
        - Src:             'hash.c:503,2'
          Dst:             p_free_internal
    - functionName:    hash_table_compress_removed
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 343
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
      BBCount:         7
      ICount:          47
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - hash_table_compress
      functionUses:    1
      BranchProfiles:
        - Branch String:   'hash.c:339,2'
          Branch Sides:
            - BranchSide:      'hash.c:340,23'
              BranchSideFuncs:
                - hash_table_compress
            - BranchSide:      'hash.c:342,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'hash.c:340,3'
          Dst:             hash_table_compress
    - functionName:    hash_table_compress
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 333
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
        - root
      BBCount:         18
      ICount:          109
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - free_node
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'hash.c:313,2'
          Branch Sides:
            - BranchSide:      'hash.c:313,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:316,14'
              BranchSideFuncs:
                - free_node
                - free_node
        - Branch String:   'hash.c:316,2'
          Branch Sides:
            - BranchSide:      'hash.c:317,10'
              BranchSideFuncs:
                - free_node
                - free_node
            - BranchSide:      'hash.c:328,6'
              BranchSideFuncs:
                - free_node
        - Branch String:   'hash.c:319,7'
          Branch Sides:
            - BranchSide:      'hash.c:320,17'
              BranchSideFuncs:
                - free_node
                - free_node
            - BranchSide:      'hash.c:323,11'
              BranchSideFuncs:
                - free_node
                - free_node
        - Branch String:   'hash.c:328,24'
          Branch Sides:
            - BranchSide:      'hash.c:328,27'
              BranchSideFuncs:
                - free_node
            - BranchSide:      'hash.c:328,24'
              BranchSideFuncs: []
        - Branch String:   'hash.c:328,6'
          Branch Sides:
            - BranchSide:      'hash.c:328,6'
              BranchSideFuncs:
                - free_node
            - BranchSide:      'hash.c:329,10'
              BranchSideFuncs:
                - free_node
      Callsites:
        - Src:             'hash.c:313,2'
          Dst:             i_panic
        - Src:             'hash.c:321,4'
          Dst:             free_node
        - Src:             'hash.c:331,3'
          Dst:             free_node
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    5
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    5
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    hash_table_insert_node
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - table
        - key
        - value
        - opcode
      BBCount:         63
      ICount:          388
      EdgeCount:       78
      CyclomaticComplexity: 17
      functionsReached:
        - hash_table_insert_node
        - hash_table_lookup_node
        - hash_table_resize
        - i_panic
        - malloc_multiply_check
        - p_malloc
      functionUses:    5
      BranchProfiles:
        - Branch String:   'hash.c:222,2'
          Branch Sides:
            - BranchSide:      'hash.c:222,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:223,2'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
                - i_panic
                - hash_table_lookup_node
                - i_panic
                - i_panic
        - Branch String:   'hash.c:223,2'
          Branch Sides:
            - BranchSide:      'hash.c:223,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:225,5'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
                - i_panic
                - hash_table_lookup_node
                - i_panic
        - Branch String:   'hash.c:225,5'
          Branch Sides:
            - BranchSide:      'hash.c:226,18'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
                - i_panic
                - hash_table_lookup_node
                - i_panic
            - BranchSide:      'hash.c:227,9'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
                - i_panic
                - hash_table_lookup_node
                - i_panic
        - Branch String:   'hash.c:229,21'
          Branch Sides:
            - BranchSide:      'hash.c:229,24'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
                - i_panic
                - hash_table_lookup_node
                - i_panic
            - BranchSide:      'hash.c:242,10'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
                - i_panic
        - Branch String:   'hash.c:229,6'
          Branch Sides:
            - BranchSide:      'hash.c:231,33'
              BranchSideFuncs:
                - hash_table_lookup_node
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'hash.c:242,10'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
                - i_panic
        - Branch String:   'hash.c:232,7'
          Branch Sides:
            - BranchSide:      'hash.c:233,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:238,18'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
                - i_panic
        - Branch String:   'hash.c:233,4'
          Branch Sides:
            - BranchSide:      'hash.c:233,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:234,18'
              BranchSideFuncs: []
        - Branch String:   'hash.c:243,6'
          Branch Sides:
            - BranchSide:      'hash.c:244,3'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:250,6'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
                - i_panic
        - Branch String:   'hash.c:250,6'
          Branch Sides:
            - BranchSide:      'hash.c:251,7'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
                - i_panic
            - BranchSide:      'hash.c:259,9'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
        - Branch String:   'hash.c:251,7'
          Branch Sides:
            - BranchSide:      'hash.c:252,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:256,2'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
        - Branch String:   'hash.c:252,4'
          Branch Sides:
            - BranchSide:      'hash.c:252,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:253,18'
              BranchSideFuncs: []
        - Branch String:   'hash.c:260,2'
          Branch Sides:
            - BranchSide:      'hash.c:261,7'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
            - BranchSide:      'hash.c:275,6'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
        - Branch String:   'hash.c:261,7'
          Branch Sides:
            - BranchSide:      'hash.c:262,4'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
            - BranchSide:      'hash.c:264,7'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
        - Branch String:   'hash.c:264,7'
          Branch Sides:
            - BranchSide:      'hash.c:265,8'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
            - BranchSide:      'hash.c:271,10'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
        - Branch String:   'hash.c:265,8'
          Branch Sides:
            - BranchSide:      'hash.c:266,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:270,3'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
                - i_panic
        - Branch String:   'hash.c:266,5'
          Branch Sides:
            - BranchSide:      'hash.c:266,5'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:267,19'
              BranchSideFuncs: []
        - Branch String:   'hash.c:275,6'
          Branch Sides:
            - BranchSide:      'hash.c:276,7'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_resize
                - hash_table_insert_node
            - BranchSide:      'hash.c:292,14'
              BranchSideFuncs: []
        - Branch String:   'hash.c:276,26'
          Branch Sides:
            - BranchSide:      'hash.c:276,47'
              BranchSideFuncs:
                - hash_table_resize
                - malloc_multiply_check.4875
                - p_malloc.4876
                - hash_table_insert_node
            - BranchSide:      'hash.c:282,7'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
        - Branch String:   'hash.c:276,7'
          Branch Sides:
            - BranchSide:      'hash.c:278,27'
              BranchSideFuncs:
                - hash_table_insert_node
            - BranchSide:      'hash.c:282,7'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
        - Branch String:   'hash.c:282,7'
          Branch Sides:
            - BranchSide:      'hash.c:283,11'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
            - BranchSide:      'hash.c:285,11'
              BranchSideFuncs: []
      Callsites:
        - Src:             'hash.c:222,2'
          Dst:             i_panic
        - Src:             'hash.c:223,2'
          Dst:             i_panic
        - Src:             'hash.c:231,10'
          Dst:             hash_table_lookup_node
        - Src:             'hash.c:233,4'
          Dst:             i_panic
        - Src:             'hash.c:252,4'
          Dst:             i_panic
        - Src:             'hash.c:266,5'
          Dst:             i_panic
        - Src:             'hash.c:276,29'
          Dst:             hash_table_resize
        - Src:             'hash.c:278,4'
          Dst:             hash_table_insert_node
        - Src:             'hash.c:283,11'
          Dst:             malloc_multiply_check
        - Src:             'hash.c:283,11'
          Dst:             p_malloc
    - functionName:    hash_table_lookup_node
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - table
        - key
        - hash
      BBCount:         13
      ICount:          85
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'hash.c:180,7'
          Branch Sides:
            - BranchSide:      'hash.c:181,8'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:184,10'
              BranchSideFuncs: []
        - Branch String:   'hash.c:181,8'
          Branch Sides:
            - BranchSide:      'hash.c:182,12'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:183,3'
              BranchSideFuncs: []
        - Branch String:   'hash.c:185,2'
          Branch Sides:
            - BranchSide:      'hash.c:180,7'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:187,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    hash_table_iterate_next
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - node
      BBCount:         11
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'hash.c:389,7'
          Branch Sides:
            - BranchSide:      'hash.c:390,10'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:396,2'
              BranchSideFuncs: []
        - Branch String:   'hash.c:390,8'
          Branch Sides:
            - BranchSide:      'hash.c:391,5'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:394,12'
              BranchSideFuncs: []
        - Branch String:   'hash.c:396,2'
          Branch Sides:
            - BranchSide:      'hash.c:388,10'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:398,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    hash_table_count
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 368
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hash_table_try_remove
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 346
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
        - key
      BBCount:         12
      ICount:          98
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - hash_table_compress
        - hash_table_lookup_node
        - hash_table_resize
      functionUses:    0
      BranchProfiles:
        - Branch String:   'hash.c:353,6'
          Branch Sides:
            - BranchSide:      'hash.c:354,3'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:356,2'
              BranchSideFuncs:
                - hash_table_resize
                - hash_table_compress
        - Branch String:   'hash.c:359,6'
          Branch Sides:
            - BranchSide:      'hash.c:360,3'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:361,30'
              BranchSideFuncs:
                - hash_table_resize
                - hash_table_compress
      Callsites:
        - Src:             'hash.c:352,9'
          Dst:             hash_table_lookup_node
        - Src:             'hash.c:361,12'
          Dst:             hash_table_resize
        - Src:             'hash.c:362,3'
          Dst:             hash_table_compress
    - functionName:    hash_table_update
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
        - key
        - value
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - hash_table_insert_node
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hash.c:305,2'
          Dst:             hash_table_insert_node
    - functionName:    hash_table_lookup_full
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
        - lookup_key
        - orig_key
        - value
      BBCount:         6
      ICount:          61
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hash_table_lookup_node
      functionUses:    0
      BranchProfiles:
        - Branch String:   'hash.c:206,6'
          Branch Sides:
            - BranchSide:      'hash.c:207,3'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:209,14'
              BranchSideFuncs: []
      Callsites:
        - Src:             'hash.c:204,9'
          Dst:             hash_table_lookup_node
    - functionName:    hash_table_lookup
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
        - key
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - hash_table_lookup_node
      functionUses:    0
      BranchProfiles:
        - Branch String:   'hash.c:195,9'
          Branch Sides:
            - BranchSide:      'hash.c:195,24'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:195,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'hash.c:194,9'
          Dst:             hash_table_lookup_node
    - functionName:    hash_table_clear
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - table
        - free_nodes
      BBCount:         16
      ICount:          102
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - destroy_node_list
        - hash_table_destroy_nodes
        - i_panic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'hash.c:154,2'
          Branch Sides:
            - BranchSide:      'hash.c:154,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:156,7'
              BranchSideFuncs:
                - hash_table_destroy_nodes
                - destroy_node_list
        - Branch String:   'hash.c:156,6'
          Branch Sides:
            - BranchSide:      'hash.c:157,28'
              BranchSideFuncs:
                - destroy_node_list
            - BranchSide:      'hash.c:159,6'
              BranchSideFuncs:
                - destroy_node_list
        - Branch String:   'hash.c:159,6'
          Branch Sides:
            - BranchSide:      'hash.c:159,6'
              BranchSideFuncs:
                - destroy_node_list
            - BranchSide:      'hash.c:160,8'
              BranchSideFuncs:
                - destroy_node_list
        - Branch String:   'hash.c:160,7'
          Branch Sides:
            - BranchSide:      'hash.c:161,22'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:162,3'
              BranchSideFuncs: []
      Callsites:
        - Src:             'hash.c:154,2'
          Dst:             i_panic
        - Src:             'hash.c:157,3'
          Dst:             hash_table_destroy_nodes
        - Src:             'hash.c:161,4'
          Dst:             destroy_node_list
    - functionName:    hash_table_destroy_nodes
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
      BBCount:         10
      ICount:          64
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - destroy_node_list
      functionUses:    2
      BranchProfiles:
        - Branch String:   'hash.c:126,2'
          Branch Sides:
            - BranchSide:      'hash.c:127,7'
              BranchSideFuncs:
                - destroy_node_list
            - BranchSide:      'hash.c:130,1'
              BranchSideFuncs: []
        - Branch String:   'hash.c:127,7'
          Branch Sides:
            - BranchSide:      'hash.c:128,22'
              BranchSideFuncs:
                - destroy_node_list
            - BranchSide:      'hash.c:129,2'
              BranchSideFuncs:
                - destroy_node_list
      Callsites:
        - Src:             'hash.c:128,4'
          Dst:             destroy_node_list
    - functionName:    destroy_node_list
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - table
        - node
      BBCount:         8
      ICount:          44
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - p_free_internal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'hash.c:115,2'
          Branch Sides:
            - BranchSide:      'hash.c:116,10'
              BranchSideFuncs:
                - p_free_internal.4864
            - BranchSide:      'hash.c:120,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'hash.c:117,3'
          Dst:             p_free_internal
    - functionName:    pool_unref
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:176,6'
          Branch Sides:
            - BranchSide:      './mempool.h:176,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:177,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    hash_table_destroy
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _table
      BBCount:         16
      ICount:          92
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - destroy_node_list
        - hash_table_destroy_nodes
        - i_panic
        - p_free_internal
        - pool_unref
      functionUses:    1
      BranchProfiles:
        - Branch String:   'hash.c:136,6'
          Branch Sides:
            - BranchSide:      'hash.c:137,3'
              BranchSideFuncs: []
            - BranchSide:      'hash.c:138,3'
              BranchSideFuncs:
                - hash_table_destroy_nodes
                - destroy_node_list
                - pool_unref.4884
                - p_free_internal.4864
                - p_free_internal.4864
                - i_panic
        - Branch String:   'hash.c:140,2'
          Branch Sides:
            - BranchSide:      'hash.c:140,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'hash.c:142,7'
              BranchSideFuncs:
                - hash_table_destroy_nodes
                - destroy_node_list
                - pool_unref.4884
                - p_free_internal.4864
                - p_free_internal.4864
        - Branch String:   'hash.c:142,6'
          Branch Sides:
            - BranchSide:      'hash.c:143,28'
              BranchSideFuncs:
                - pool_unref.4884
                - p_free_internal.4864
                - p_free_internal.4864
            - BranchSide:      'hash.c:147,14'
              BranchSideFuncs:
                - pool_unref.4884
                - p_free_internal.4864
                - p_free_internal.4864
      Callsites:
        - Src:             'hash.c:140,2'
          Dst:             i_panic
        - Src:             'hash.c:143,3'
          Dst:             hash_table_destroy_nodes
        - Src:             'hash.c:144,3'
          Dst:             destroy_node_list
        - Src:             'hash.c:147,2'
          Dst:             pool_unref
        - Src:             'hash.c:148,2'
          Dst:             p_free_internal
        - Src:             'hash.c:149,2'
          Dst:             p_free_internal
    - functionName:    direct_cmp
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - p1
        - p2
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    direct_hash
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - p
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hash_table_create_direct
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - table_r
        - node_pool
        - initial_size
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - direct_cmp
        - direct_hash
        - hash_table_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hash.c:97,2'
          Dst:             hash_table_create
        - Src:             'hash.c:97,2'
          Dst:             direct_hash
        - Src:             'hash.c:97,2'
          Dst:             direct_cmp
    - functionName:    hash_table_create
      functionSourceFile: '/src/dovecot/src/lib/hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - table_r
        - node_pool
        - initial_size
        - hash_cb
        - key_compare_cb
      BBCount:         6
      ICount:          86
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - malloc_multiply_check
        - p_malloc
        - pool_ref
        - primes_closest
      functionUses:    1
      BranchProfiles:
        - Branch String:   'hash.c:73,3'
          Branch Sides:
            - BranchSide:      'hash.c:73,3'
              BranchSideFuncs:
                - primes_closest
                - malloc_multiply_check.4875
                - p_malloc.4876
            - BranchSide:      'hash.c:73,3'
              BranchSideFuncs:
                - malloc_multiply_check.4875
                - p_malloc.4876
      Callsites:
        - Src:             'hash.c:69,2'
          Dst:             pool_ref
        - Src:             'hash.c:70,10'
          Dst:             malloc_multiply_check
        - Src:             'hash.c:70,10'
          Dst:             p_malloc
        - Src:             'hash.c:73,3'
          Dst:             primes_closest
        - Src:             'hash.c:73,3'
          Dst:             primes_closest
        - Src:             'hash.c:79,17'
          Dst:             malloc_multiply_check
        - Src:             'hash.c:79,17'
          Dst:             p_malloc
    - functionName:    pool_ref
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_getgrgid
      functionSourceFile: '/src/dovecot/src/lib/ipwd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - gid
        - grp_r
      BBCount:         10
      ICount:          60
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - getgrgid_r
        - gr_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ipwd.c:99,2'
          Branch Sides:
            - BranchSide:      'ipwd.c:97,3'
              BranchSideFuncs:
                - gr_init
                - getgrgid_r
                - __errno_location
                - __errno_location
                - __errno_location
            - BranchSide:      'ipwd.c:100,6'
              BranchSideFuncs:
                - __errno_location
        - Branch String:   'ipwd.c:100,6'
          Branch Sides:
            - BranchSide:      'ipwd.c:101,3'
              BranchSideFuncs: []
            - BranchSide:      'ipwd.c:102,9'
              BranchSideFuncs:
                - __errno_location
      Callsites:
        - Src:             'ipwd.c:95,2'
          Dst:             __errno_location
        - Src:             'ipwd.c:97,3'
          Dst:             gr_init
        - Src:             'ipwd.c:98,11'
          Dst:             getgrgid_r
        - Src:             'ipwd.c:98,3'
          Dst:             __errno_location
        - Src:             'ipwd.c:99,11'
          Dst:             __errno_location
        - Src:             'ipwd.c:102,9'
          Dst:             __errno_location
    - functionName:    gr_init
      functionSourceFile: '/src/dovecot/src/lib/ipwd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          58
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - i_realloc
        - nearest_power
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ipwd.c:29,26'
          Branch Sides:
            - BranchSide:      'ipwd.c:29,9'
              BranchSideFuncs:
                - __errno_location
                - nearest_power
                - i_realloc
            - BranchSide:      'ipwd.c:29,26'
              BranchSideFuncs:
                - __errno_location
                - nearest_power
                - i_realloc
        - Branch String:   'ipwd.c:31,20'
          Branch Sides:
            - BranchSide:      'ipwd.c:31,23'
              BranchSideFuncs:
                - nearest_power
                - i_realloc
            - BranchSide:      'ipwd.c:32,30'
              BranchSideFuncs:
                - nearest_power
                - i_realloc
        - Branch String:   'ipwd.c:31,6'
          Branch Sides:
            - BranchSide:      'ipwd.c:31,6'
              BranchSideFuncs:
                - nearest_power
                - i_realloc
            - BranchSide:      'ipwd.c:32,30'
              BranchSideFuncs:
                - nearest_power
                - i_realloc
        - Branch String:   'ipwd.c:33,7'
          Branch Sides:
            - BranchSide:      'ipwd.c:34,15'
              BranchSideFuncs:
                - i_realloc
            - BranchSide:      'ipwd.c:35,21'
              BranchSideFuncs:
                - i_realloc
      Callsites:
        - Src:             'ipwd.c:31,23'
          Dst:             __errno_location
        - Src:             'ipwd.c:32,16'
          Dst:             nearest_power
        - Src:             'ipwd.c:35,11'
          Dst:             i_realloc
    - functionName:    getgrgid_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_getgrnam
      functionSourceFile: '/src/dovecot/src/lib/ipwd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
        - grp_r
      BBCount:         10
      ICount:          60
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - getgrnam_r
        - gr_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ipwd.c:85,2'
          Branch Sides:
            - BranchSide:      'ipwd.c:83,3'
              BranchSideFuncs:
                - gr_init
                - getgrnam_r
                - __errno_location
                - __errno_location
                - __errno_location
            - BranchSide:      'ipwd.c:86,6'
              BranchSideFuncs:
                - __errno_location
        - Branch String:   'ipwd.c:86,6'
          Branch Sides:
            - BranchSide:      'ipwd.c:87,3'
              BranchSideFuncs: []
            - BranchSide:      'ipwd.c:88,9'
              BranchSideFuncs:
                - __errno_location
      Callsites:
        - Src:             'ipwd.c:81,2'
          Dst:             __errno_location
        - Src:             'ipwd.c:83,3'
          Dst:             gr_init
        - Src:             'ipwd.c:84,11'
          Dst:             getgrnam_r
        - Src:             'ipwd.c:84,3'
          Dst:             __errno_location
        - Src:             'ipwd.c:85,11'
          Dst:             __errno_location
        - Src:             'ipwd.c:88,9'
          Dst:             __errno_location
    - functionName:    getgrnam_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_getpwuid
      functionSourceFile: '/src/dovecot/src/lib/ipwd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - uid
        - pwd_r
      BBCount:         10
      ICount:          60
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - getpwuid_r
        - pw_init
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ipwd.c:71,2'
          Branch Sides:
            - BranchSide:      'ipwd.c:69,3'
              BranchSideFuncs:
                - pw_init
                - getpwuid_r
                - __errno_location
                - __errno_location
                - __errno_location
            - BranchSide:      'ipwd.c:72,6'
              BranchSideFuncs:
                - __errno_location
        - Branch String:   'ipwd.c:72,6'
          Branch Sides:
            - BranchSide:      'ipwd.c:73,3'
              BranchSideFuncs: []
            - BranchSide:      'ipwd.c:74,9'
              BranchSideFuncs:
                - __errno_location
      Callsites:
        - Src:             'ipwd.c:67,2'
          Dst:             __errno_location
        - Src:             'ipwd.c:69,3'
          Dst:             pw_init
        - Src:             'ipwd.c:70,11'
          Dst:             getpwuid_r
        - Src:             'ipwd.c:70,3'
          Dst:             __errno_location
        - Src:             'ipwd.c:71,11'
          Dst:             __errno_location
        - Src:             'ipwd.c:74,9'
          Dst:             __errno_location
    - functionName:    pw_init
      functionSourceFile: '/src/dovecot/src/lib/ipwd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 16
      functionLinenumberEnd: 25
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          58
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - i_realloc
        - nearest_power
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ipwd.c:17,26'
          Branch Sides:
            - BranchSide:      'ipwd.c:17,9'
              BranchSideFuncs:
                - __errno_location
                - nearest_power
                - i_realloc
            - BranchSide:      'ipwd.c:17,26'
              BranchSideFuncs:
                - __errno_location
                - nearest_power
                - i_realloc
        - Branch String:   'ipwd.c:19,20'
          Branch Sides:
            - BranchSide:      'ipwd.c:19,23'
              BranchSideFuncs:
                - nearest_power
                - i_realloc
            - BranchSide:      'ipwd.c:20,30'
              BranchSideFuncs:
                - nearest_power
                - i_realloc
        - Branch String:   'ipwd.c:19,6'
          Branch Sides:
            - BranchSide:      'ipwd.c:19,6'
              BranchSideFuncs:
                - nearest_power
                - i_realloc
            - BranchSide:      'ipwd.c:20,30'
              BranchSideFuncs:
                - nearest_power
                - i_realloc
        - Branch String:   'ipwd.c:21,7'
          Branch Sides:
            - BranchSide:      'ipwd.c:22,15'
              BranchSideFuncs:
                - i_realloc
            - BranchSide:      'ipwd.c:23,21'
              BranchSideFuncs:
                - i_realloc
      Callsites:
        - Src:             'ipwd.c:19,23'
          Dst:             __errno_location
        - Src:             'ipwd.c:20,16'
          Dst:             nearest_power
        - Src:             'ipwd.c:23,11'
          Dst:             i_realloc
    - functionName:    getpwuid_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_getpwnam
      functionSourceFile: '/src/dovecot/src/lib/ipwd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
        - pwd_r
      BBCount:         12
      ICount:          70
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - getpwnam_r
        - pw_init
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ipwd.c:53,2'
          Branch Sides:
            - BranchSide:      'ipwd.c:51,3'
              BranchSideFuncs:
                - pw_init
                - getpwnam_r
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
            - BranchSide:      'ipwd.c:54,6'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
        - Branch String:   'ipwd.c:54,6'
          Branch Sides:
            - BranchSide:      'ipwd.c:55,3'
              BranchSideFuncs: []
            - BranchSide:      'ipwd.c:56,6'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
        - Branch String:   'ipwd.c:56,6'
          Branch Sides:
            - BranchSide:      'ipwd.c:58,3'
              BranchSideFuncs: []
            - BranchSide:      'ipwd.c:60,9'
              BranchSideFuncs:
                - __errno_location
      Callsites:
        - Src:             'ipwd.c:49,2'
          Dst:             __errno_location
        - Src:             'ipwd.c:51,3'
          Dst:             pw_init
        - Src:             'ipwd.c:52,11'
          Dst:             getpwnam_r
        - Src:             'ipwd.c:52,3'
          Dst:             __errno_location
        - Src:             'ipwd.c:53,11'
          Dst:             __errno_location
        - Src:             'ipwd.c:56,6'
          Dst:             __errno_location
        - Src:             'ipwd.c:60,9'
          Dst:             __errno_location
    - functionName:    getpwnam_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    ipwd_deinit
      functionSourceFile: '/src/dovecot/src/lib/ipwd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ipwd.c:41,2'
          Branch Sides:
            - BranchSide:      'ipwd.c:41,2'
              BranchSideFuncs:
                - p_free_internal.4916
                - p_free_internal.4916
            - BranchSide:      'ipwd.c:41,2'
              BranchSideFuncs:
                - p_free_internal.4916
                - p_free_internal.4916
      Callsites:
        - Src:             'ipwd.c:41,2'
          Dst:             p_free_internal
        - Src:             'ipwd.c:42,2'
          Dst:             p_free_internal
    - functionName:    array_count_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_create_from_buffer_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - array
        - buffer
        - element_size
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_stream_get_ioloop
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'iostream.c:192,10'
          Branch Sides:
            - BranchSide:      'iostream.c:192,35'
              BranchSideFuncs: []
            - BranchSide:      'iostream.c:192,52'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    io_stream_switch_ioloop_to
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - ioloop
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_stream_get_disconnect_reason
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - input
        - output
      BBCount:         21
      ICount:          111
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - i_stream_get_error
        - o_stream_get_error
        - t_strdup_printf
      functionUses:    2
      BranchProfiles:
        - Branch String:   'iostream.c:167,20'
          Branch Sides:
            - BranchSide:      'iostream.c:167,23'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - t_strdup_printf
                - __errno_location
                - o_stream_get_error
                - __errno_location
                - i_stream_get_error
            - BranchSide:      'iostream.c:170,13'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - t_strdup_printf
                - __errno_location
                - o_stream_get_error
        - Branch String:   'iostream.c:167,6'
          Branch Sides:
            - BranchSide:      'iostream.c:168,11'
              BranchSideFuncs:
                - __errno_location
                - i_stream_get_error
                - __errno_location
                - __errno_location
                - t_strdup_printf
            - BranchSide:      'iostream.c:170,13'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - t_strdup_printf
                - __errno_location
                - o_stream_get_error
        - Branch String:   'iostream.c:170,28'
          Branch Sides:
            - BranchSide:      'iostream.c:170,31'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - t_strdup_printf
                - __errno_location
                - o_stream_get_error
            - BranchSide:      'iostream.c:174,3'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - t_strdup_printf
        - Branch String:   'iostream.c:170,13'
          Branch Sides:
            - BranchSide:      'iostream.c:171,11'
              BranchSideFuncs:
                - __errno_location
                - o_stream_get_error
                - __errno_location
                - __errno_location
                - t_strdup_printf
            - BranchSide:      'iostream.c:174,3'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - t_strdup_printf
        - Branch String:   'iostream.c:178,17'
          Branch Sides:
            - BranchSide:      'iostream.c:178,20'
              BranchSideFuncs: []
            - BranchSide:      'iostream.c:179,3'
              BranchSideFuncs: []
        - Branch String:   'iostream.c:178,6'
          Branch Sides:
            - BranchSide:      'iostream.c:179,3'
              BranchSideFuncs: []
            - BranchSide:      'iostream.c:181,51'
              BranchSideFuncs:
                - t_strdup_printf
      Callsites:
        - Src:             'iostream.c:168,3'
          Dst:             __errno_location
        - Src:             'iostream.c:169,12'
          Dst:             i_stream_get_error
        - Src:             'iostream.c:171,3'
          Dst:             __errno_location
        - Src:             'iostream.c:172,12'
          Dst:             o_stream_get_error
        - Src:             'iostream.c:174,3'
          Dst:             __errno_location
        - Src:             'iostream.c:178,6'
          Dst:             __errno_location
        - Src:             'iostream.c:178,20'
          Dst:             __errno_location
        - Src:             'iostream.c:181,10'
          Dst:             t_strdup_printf
    - functionName:    io_stream_set_verror
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - fmt
        - args
      BBCount:         5
      ICount:          43
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_strdup_vprintf
        - p_free_internal
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'iostream.c:157,16'
          Dst:             i_strdup_vprintf
        - Src:             'iostream.c:158,2'
          Dst:             p_free_internal
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    io_stream_set_error
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - fmt
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - io_stream_set_verror
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'iostream.c:148,2'
          Dst:             io_stream_set_verror
    - functionName:    array_delete_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - array
        - idx
        - count
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:244,2'
          Dst:             buffer_delete
    - functionName:    array_get_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
        - count_r
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:253,13'
          Dst:             array_count_i
    - functionName:    io_stream_remove_destroy_callback
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - callback
      BBCount:         9
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - array_delete_i
        - array_get_i
        - i_unreached
      functionUses:    2
      BranchProfiles:
        - Branch String:   'iostream.c:133,2'
          Branch Sides:
            - BranchSide:      'iostream.c:134,7'
              BranchSideFuncs:
                - i_unreached
                - array_delete_i.4999
            - BranchSide:      'iostream.c:139,2'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'iostream.c:134,7'
          Branch Sides:
            - BranchSide:      'iostream.c:135,4'
              BranchSideFuncs:
                - array_delete_i.4999
            - BranchSide:      'iostream.c:138,2'
              BranchSideFuncs:
                - i_unreached
                - array_delete_i.4999
      Callsites:
        - Src:             'iostream.c:132,8'
          Dst:             array_get_i
        - Src:             'iostream.c:135,4'
          Dst:             array_delete_i
        - Src:             'iostream.c:139,2'
          Dst:             i_unreached
    - functionName:    array_append_space_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_space_unsafe
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:336,9'
          Dst:             buffer_append_space_unsafe
    - functionName:    array_create_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - array
        - pool
        - element_size
        - init_count
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    1
      BranchProfiles:
        - Branch String:   './array.h:149,3'
          Branch Sides:
            - BranchSide:      './array.h:149,3'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.4984
            - BranchSide:      './array.h:150,14'
              BranchSideFuncs:
                - buffer_create_dynamic_max
                - array_create_from_buffer_i.4984
      Callsites:
        - Src:             './array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             './array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    io_stream_add_destroy_callback
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
        - callback
        - context
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_append_space_i
        - array_create_i
        - array_is_created_i
      functionUses:    2
      BranchProfiles:
        - Branch String:   'iostream.c:119,6'
          Branch Sides:
            - BranchSide:      'iostream.c:119,6'
              BranchSideFuncs:
                - array_append_space_i.5004
            - BranchSide:      'iostream.c:120,3'
              BranchSideFuncs:
                - array_create_i.5005
                - array_append_space_i.5004
      Callsites:
        - Src:             'iostream.c:119,7'
          Dst:             array_is_created_i
        - Src:             'iostream.c:120,3'
          Dst:             array_create_i
        - Src:             'iostream.c:121,7'
          Dst:             array_append_space_i
    - functionName:    array_is_created_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_stream_set_max_buffer_size
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - stream
        - max_size
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_stream_close
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - close_parent
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    array_free_i
      functionSourceFile: '/src/dovecot/src/lib/./array.h'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - array
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './array.h:159,2'
          Dst:             buffer_free
    - functionName:    io_stream_free
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         16
      ICount:          98
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - array_free_i
        - array_is_created_i
        - p_free_internal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'iostream.c:92,6'
          Branch Sides:
            - BranchSide:      'iostream.c:93,3'
              BranchSideFuncs:
                - array_free_i.5013
                - p_free_internal.4996
                - p_free_internal.4996
                - p_free_internal.4996
            - BranchSide:      'iostream.c:98,9'
              BranchSideFuncs:
                - p_free_internal.4996
                - p_free_internal.4996
                - p_free_internal.4996
        - Branch String:   'iostream.c:93,3'
          Branch Sides:
            - BranchSide:      'iostream.c:94,4'
              BranchSideFuncs:
                - array_free_i.5013
                - p_free_internal.4996
                - p_free_internal.4996
                - p_free_internal.4996
            - BranchSide:      'iostream.c:95,3'
              BranchSideFuncs:
                - array_free_i.5013
                - p_free_internal.4996
                - p_free_internal.4996
                - p_free_internal.4996
      Callsites:
        - Src:             'iostream.c:92,6'
          Dst:             array_is_created_i
        - Src:             'iostream.c:95,3'
          Dst:             array_free_i
        - Src:             'iostream.c:98,9'
          Dst:             p_free_internal
        - Src:             'iostream.c:99,9'
          Dst:             p_free_internal
        - Src:             'iostream.c:100,9'
          Dst:             p_free_internal
    - functionName:    io_stream_unref
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         10
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:
        - Branch String:   'iostream.c:79,2'
          Branch Sides:
            - BranchSide:      'iostream.c:79,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream.c:80,8'
              BranchSideFuncs: []
        - Branch String:   'iostream.c:80,6'
          Branch Sides:
            - BranchSide:      'iostream.c:81,3'
              BranchSideFuncs: []
            - BranchSide:      'iostream.c:83,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'iostream.c:79,2'
          Dst:             i_panic
    - functionName:    io_stream_ref
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         7
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'iostream.c:72,2'
          Branch Sides:
            - BranchSide:      'iostream.c:72,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream.c:72,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'iostream.c:72,2'
          Dst:             i_panic
    - functionName:    io_stream_default_destroy
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_stream_default_close
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - close_parent
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    io_stream_init
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         7
      ICount:          46
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'iostream.c:61,6'
          Branch Sides:
            - BranchSide:      'iostream.c:62,3'
              BranchSideFuncs: []
            - BranchSide:      'iostream.c:63,6'
              BranchSideFuncs: []
        - Branch String:   'iostream.c:63,6'
          Branch Sides:
            - BranchSide:      'iostream.c:63,6'
              BranchSideFuncs: []
            - BranchSide:      'iostream.c:64,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    io_stream_create_fd_autoclose
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fd
        - max_in_buffer_size
        - max_out_buffer_size
        - input_r
        - output_r
      BBCount:         3
      ICount:          45
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_stream_create_fd_ref_autoclose
        - iostream_fd_init
        - iostream_fd_unref
        - o_stream_create_fd_ref_autoclose
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'iostream.c:41,31'
          Dst:             iostream_fd_init
        - Src:             'iostream.c:42,13'
          Dst:             i_stream_create_fd_ref_autoclose
        - Src:             'iostream.c:43,14'
          Dst:             o_stream_create_fd_ref_autoclose
        - Src:             'iostream.c:44,2'
          Dst:             iostream_fd_unref
    - functionName:    iostream_fd_init
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 10
      functionLinenumberEnd: 14
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - fd
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - p_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'iostream.c:11,28'
          Dst:             malloc_multiply_check
        - Src:             'iostream.c:11,28'
          Dst:             p_malloc
    - functionName:    iostream_fd_unref
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - _ref
      BBCount:         16
      ICount:          80
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - p_free_internal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'iostream.c:27,2'
          Branch Sides:
            - BranchSide:      'iostream.c:27,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream.c:28,2'
              BranchSideFuncs:
                - p_free_internal.4996
                - i_panic
        - Branch String:   'iostream.c:28,2'
          Branch Sides:
            - BranchSide:      'iostream.c:28,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream.c:30,8'
              BranchSideFuncs:
                - p_free_internal.4996
        - Branch String:   'iostream.c:30,6'
          Branch Sides:
            - BranchSide:      'iostream.c:31,3'
              BranchSideFuncs: []
            - BranchSide:      'iostream.c:32,2'
              BranchSideFuncs:
                - p_free_internal.4996
      Callsites:
        - Src:             'iostream.c:27,2'
          Dst:             i_panic
        - Src:             'iostream.c:28,2'
          Dst:             i_panic
        - Src:             'iostream.c:32,2'
          Dst:             p_free_internal
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    iostream_fd_ref
      functionSourceFile: '/src/dovecot/src/lib/iostream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ref
      BBCount:         7
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:
        - Branch String:   'iostream.c:19,2'
          Branch Sides:
            - BranchSide:      'iostream.c:19,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'iostream.c:19,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'iostream.c:19,2'
          Dst:             i_panic
    - functionName:    i_stream_create_file
      functionSourceFile: '/src/dovecot/src/lib/istream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 287
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - path
        - max_buffer_size
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_stream_create_file_common
        - i_stream_set_name
        - malloc_multiply_check
        - p_malloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'istream-file.c:291,12'
          Dst:             malloc_multiply_check
        - Src:             'istream-file.c:291,12'
          Dst:             p_malloc
        - Src:             'istream-file.c:292,10'
          Dst:             i_stream_create_file_common
        - Src:             'istream-file.c:294,2'
          Dst:             i_stream_set_name
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    4
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    4
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    i_stream_create_file_common
      functionSourceFile: '/src/dovecot/src/lib/istream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - fstream
        - fd
        - path
        - max_buffer_size
        - autoclose_fd
      BBCount:         31
      ICount:          253
      EdgeCount:       39
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - fcntl
        - fstat
        - i_panic
        - i_stream_create
        - i_stream_set_name
        - io_stream_set_error
        - t_strdup_printf
      functionUses:    4
      BranchProfiles:
        - Branch String:   'istream-file.c:210,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:212,11'
              BranchSideFuncs:
                - fcntl
                - i_stream_create
                - i_stream_set_name
                - __errno_location
                - io_stream_set_error
                - i_panic
            - BranchSide:      'istream-file.c:213,19'
              BranchSideFuncs:
                - fstat
                - fcntl
                - i_stream_create
                - i_stream_set_name
                - __errno_location
                - io_stream_set_error
                - i_panic
                - t_strdup_printf
                - io_stream_set_error
        - Branch String:   'istream-file.c:213,13'
          Branch Sides:
            - BranchSide:      'istream-file.c:214,11'
              BranchSideFuncs:
                - fcntl
                - i_stream_create
                - i_stream_set_name
                - __errno_location
                - io_stream_set_error
                - i_panic
            - BranchSide:      'istream-file.c:215,11'
              BranchSideFuncs:
                - fcntl
                - i_stream_create
                - i_stream_set_name
                - __errno_location
                - io_stream_set_error
                - i_panic
                - t_strdup_printf
                - io_stream_set_error
        - Branch String:   'istream-file.c:215,11'
          Branch Sides:
            - BranchSide:      'istream-file.c:216,11'
              BranchSideFuncs:
                - fcntl
                - i_stream_create
                - i_stream_set_name
                - __errno_location
                - io_stream_set_error
                - i_panic
            - BranchSide:      'istream-file.c:217,12'
              BranchSideFuncs:
                - fcntl
                - i_stream_create
                - i_stream_set_name
                - __errno_location
                - io_stream_set_error
                - i_panic
                - t_strdup_printf
                - io_stream_set_error
        - Branch String:   'istream-file.c:217,11'
          Branch Sides:
            - BranchSide:      'istream-file.c:218,11'
              BranchSideFuncs:
                - t_strdup_printf
                - io_stream_set_error
                - fcntl
                - i_stream_create
                - i_stream_set_name
                - __errno_location
                - io_stream_set_error
                - i_panic
            - BranchSide:      'istream-file.c:222,24'
              BranchSideFuncs:
                - t_strdup_printf
                - io_stream_set_error
                - fcntl
                - i_stream_create
                - i_stream_set_name
                - __errno_location
                - io_stream_set_error
                - i_panic
        - Branch String:   'istream-file.c:224,4'
          Branch Sides:
            - BranchSide:      'istream-file.c:224,19'
              BranchSideFuncs:
                - io_stream_set_error
                - fcntl
                - i_stream_create
                - i_stream_set_name
                - __errno_location
                - io_stream_set_error
                - i_panic
            - BranchSide:      'istream-file.c:224,53'
              BranchSideFuncs:
                - t_strdup_printf
                - io_stream_set_error
                - fcntl
                - i_stream_create
                - i_stream_set_name
                - __errno_location
                - io_stream_set_error
                - i_panic
        - Branch String:   'istream-file.c:228,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:229,3'
              BranchSideFuncs:
                - i_stream_create
                - i_stream_set_name
            - BranchSide:      'istream-file.c:232,28'
              BranchSideFuncs:
                - fcntl
                - i_stream_create
                - i_stream_set_name
                - __errno_location
                - io_stream_set_error
                - i_panic
        - Branch String:   'istream-file.c:232,13'
          Branch Sides:
            - BranchSide:      'istream-file.c:233,3'
              BranchSideFuncs:
                - __errno_location
                - io_stream_set_error
                - i_stream_create
                - i_stream_set_name
                - i_panic
            - BranchSide:      'istream-file.c:238,14'
              BranchSideFuncs:
                - i_stream_create
                - i_stream_set_name
        - Branch String:   'istream-file.c:233,3'
          Branch Sides:
            - BranchSide:      'istream-file.c:233,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream-file.c:235,43'
              BranchSideFuncs:
                - __errno_location
                - io_stream_set_error
                - i_stream_create
                - i_stream_set_name
      Callsites:
        - Src:             'istream-file.c:213,13'
          Dst:             fstat
        - Src:             'istream-file.c:224,26'
          Dst:             t_strdup_printf
        - Src:             'istream-file.c:222,3'
          Dst:             io_stream_set_error
        - Src:             'istream-file.c:232,22'
          Dst:             fcntl
        - Src:             'istream-file.c:233,3'
          Dst:             i_panic
        - Src:             'istream-file.c:235,43'
          Dst:             __errno_location
        - Src:             'istream-file.c:236,3'
          Dst:             io_stream_set_error
        - Src:             'istream-file.c:244,10'
          Dst:             i_stream_create
        - Src:             'istream-file.c:245,2'
          Dst:             i_stream_set_name
    - functionName:    i_stream_file_close
      functionSourceFile: '/src/dovecot/src/lib/istream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 17
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - close_parent
      BBCount:         19
      ICount:          121
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - close
        - i_error
        - i_stream_get_name
        - iostream_fd_unref
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream-file.c:23,43'
          Branch Sides:
            - BranchSide:      'istream-file.c:23,7'
              BranchSideFuncs:
                - iostream_fd_unref
                - close
                - i_stream_get_name
                - i_error
                - __errno_location
            - BranchSide:      'istream-file.c:24,22'
              BranchSideFuncs:
                - iostream_fd_unref
                - close
                - i_stream_get_name
                - i_error
                - __errno_location
        - Branch String:   'istream-file.c:25,28'
          Branch Sides:
            - BranchSide:      'istream-file.c:25,31'
              BranchSideFuncs:
                - close
                - i_stream_get_name
                - i_error
                - __errno_location
            - BranchSide:      'istream-file.c:25,28'
              BranchSideFuncs: []
        - Branch String:   'istream-file.c:25,49'
          Branch Sides:
            - BranchSide:      'istream-file.c:25,53'
              BranchSideFuncs:
                - close
                - i_stream_get_name
                - i_error
                - __errno_location
            - BranchSide:      'istream-file.c:25,49'
              BranchSideFuncs: []
        - Branch String:   'istream-file.c:25,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:25,6'
              BranchSideFuncs: []
            - BranchSide:      'istream-file.c:29,7'
              BranchSideFuncs:
                - close
                - i_stream_get_name
                - i_error
                - __errno_location
        - Branch String:   'istream-file.c:29,7'
          Branch Sides:
            - BranchSide:      'istream-file.c:29,7'
              BranchSideFuncs:
                - __errno_location
                - i_stream_get_name
                - i_error
            - BranchSide:      'istream-file.c:29,7'
              BranchSideFuncs:
                - i_stream_get_name
                - i_error
        - Branch String:   'istream-file.c:29,7'
          Branch Sides:
            - BranchSide:      'istream-file.c:31,24'
              BranchSideFuncs:
                - i_stream_get_name
                - i_error
            - BranchSide:      'istream-file.c:33,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream-file.c:24,3'
          Dst:             iostream_fd_unref
        - Src:             'istream-file.c:29,7'
          Dst:             close
        - Src:             'istream-file.c:29,7'
          Dst:             __errno_location
        - Src:             'istream-file.c:31,5'
          Dst:             i_stream_get_name
        - Src:             'istream-file.c:30,4'
          Dst:             i_error
    - functionName:    i_stream_file_read
      functionSourceFile: '/src/dovecot/src/lib/istream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         73
      ICount:          458
      EdgeCount:       88
      CyclomaticComplexity: 17
      functionsReached:
        - __errno_location
        - i_panic
        - i_stream_file_open
        - i_stream_try_alloc
        - io_stream_set_error
        - pread
        - read
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream-file.c:59,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:60,3'
              BranchSideFuncs:
                - read
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
                - pread
                - i_stream_file_open
                - i_panic
            - BranchSide:      'istream-file.c:62,6'
              BranchSideFuncs:
                - read
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
                - pread
                - i_stream_file_open
                - i_panic
        - Branch String:   'istream-file.c:62,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:63,26'
              BranchSideFuncs:
                - i_stream_file_open
                - read
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
                - pread
                - i_panic
            - BranchSide:      'istream-file.c:68,11'
              BranchSideFuncs:
                - read
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
                - pread
        - Branch String:   'istream-file.c:63,7'
          Branch Sides:
            - BranchSide:      'istream-file.c:64,4'
              BranchSideFuncs: []
            - BranchSide:      'istream-file.c:65,3'
              BranchSideFuncs:
                - read
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
                - pread
                - i_panic
        - Branch String:   'istream-file.c:65,3'
          Branch Sides:
            - BranchSide:      'istream-file.c:65,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream-file.c:66,2'
              BranchSideFuncs:
                - read
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
                - pread
        - Branch String:   'istream-file.c:70,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:71,15'
              BranchSideFuncs:
                - pread
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
            - BranchSide:      'istream-file.c:73,13'
              BranchSideFuncs:
                - read
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:73,13'
          Branch Sides:
            - BranchSide:      'istream-file.c:76,7'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
            - BranchSide:      'istream-file.c:78,14'
              BranchSideFuncs:
                - read
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:82,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:84,3'
              BranchSideFuncs: []
            - BranchSide:      'istream-file.c:89,6'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:89,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:90,8'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'istream-file.c:112,6'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:90,23'
          Branch Sides:
            - BranchSide:      'istream-file.c:90,26'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
            - BranchSide:      'istream-file.c:91,8'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:90,43'
          Branch Sides:
            - BranchSide:      'istream-file.c:91,8'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - i_panic
                - i_panic
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
            - BranchSide:      'istream-file.c:94,4'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:90,7'
          Branch Sides:
            - BranchSide:      'istream-file.c:92,8'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
            - BranchSide:      'istream-file.c:94,4'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:94,4'
          Branch Sides:
            - BranchSide:      'istream-file.c:94,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream-file.c:97,4'
              BranchSideFuncs:
                - __errno_location
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
                - i_panic
        - Branch String:   'istream-file.c:97,4'
          Branch Sides:
            - BranchSide:      'istream-file.c:97,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream-file.c:98,8'
              BranchSideFuncs:
                - io_stream_set_error
                - __errno_location
                - io_stream_set_error
        - Branch String:   'istream-file.c:98,8'
          Branch Sides:
            - BranchSide:      'istream-file.c:99,26'
              BranchSideFuncs:
                - io_stream_set_error
                - __errno_location
            - BranchSide:      'istream-file.c:103,26'
              BranchSideFuncs:
                - io_stream_set_error
                - __errno_location
        - Branch String:   'istream-file.c:112,14'
          Branch Sides:
            - BranchSide:      'istream-file.c:112,17'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'istream-file.c:127,17'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:112,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:113,3'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - i_panic
                - i_panic
            - BranchSide:      'istream-file.c:127,17'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:113,3'
          Branch Sides:
            - BranchSide:      'istream-file.c:113,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream-file.c:114,3'
              BranchSideFuncs:
                - i_panic
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:114,3'
          Branch Sides:
            - BranchSide:      'istream-file.c:114,3'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream-file.c:116,7'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:116,7'
          Branch Sides:
            - BranchSide:      'istream-file.c:117,26'
              BranchSideFuncs:
                - i_panic
                - i_panic
            - BranchSide:      'istream-file.c:120,11'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:128,2'
          Branch Sides:
            - BranchSide:      'istream-file.c:128,2'
              BranchSideFuncs:
                - i_panic
                - i_panic
            - BranchSide:      'istream-file.c:128,2'
              BranchSideFuncs:
                - i_panic
                - i_panic
        - Branch String:   'istream-file.c:128,2'
          Branch Sides:
            - BranchSide:      'istream-file.c:128,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream-file.c:129,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'istream-file.c:129,2'
          Branch Sides:
            - BranchSide:      'istream-file.c:129,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream-file.c:130,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream-file.c:59,7'
          Dst:             i_stream_try_alloc
        - Src:             'istream-file.c:63,7'
          Dst:             i_stream_file_open
        - Src:             'istream-file.c:65,3'
          Dst:             i_panic
        - Src:             'istream-file.c:71,9'
          Dst:             pread
        - Src:             'istream-file.c:78,9'
          Dst:             read
        - Src:             'istream-file.c:90,8'
          Dst:             __errno_location
        - Src:             'istream-file.c:90,26'
          Dst:             __errno_location
        - Src:             'istream-file.c:94,4'
          Dst:             __errno_location
        - Src:             'istream-file.c:94,4'
          Dst:             i_panic
        - Src:             'istream-file.c:97,4'
          Dst:             __errno_location
        - Src:             'istream-file.c:97,4'
          Dst:             i_panic
        - Src:             'istream-file.c:99,5'
          Dst:             io_stream_set_error
        - Src:             'istream-file.c:103,5'
          Dst:             io_stream_set_error
        - Src:             'istream-file.c:107,35'
          Dst:             __errno_location
        - Src:             'istream-file.c:113,3'
          Dst:             i_panic
        - Src:             'istream-file.c:114,3'
          Dst:             i_panic
        - Src:             'istream-file.c:128,2'
          Dst:             i_panic
        - Src:             'istream-file.c:129,2'
          Dst:             i_panic
    - functionName:    i_stream_file_seek
      functionSourceFile: '/src/dovecot/src/lib/istream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - stream
        - v_offset
        - mark
      BBCount:         8
      ICount:          84
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream-file.c:139,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:139,6'
              BranchSideFuncs: []
            - BranchSide:      'istream-file.c:140,7'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'istream-file.c:140,7'
          Branch Sides:
            - BranchSide:      'istream-file.c:141,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream-file.c:142,25'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream-file.c:141,4'
          Dst:             i_panic
    - functionName:    i_stream_file_sync
      functionSourceFile: '/src/dovecot/src/lib/istream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         4
      ICount:          36
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream-file.c:152,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:154,3'
              BranchSideFuncs: []
            - BranchSide:      'istream-file.c:157,17'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    i_stream_file_stat
      functionSourceFile: '/src/dovecot/src/lib/istream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - stream
        - exact
      BBCount:         14
      ICount:          113
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - fstat
        - i_error
        - i_stream_get_error
        - i_stream_get_name
        - io_stream_set_error
        - stat
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream-file.c:168,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:170,13'
              BranchSideFuncs:
                - stat
                - __errno_location
                - io_stream_set_error
                - i_stream_get_error
                - i_error
                - fstat
                - __errno_location
                - io_stream_set_error
                - i_stream_get_error
                - i_error
            - BranchSide:      'istream-file.c:170,2'
              BranchSideFuncs: []
        - Branch String:   'istream-file.c:170,13'
          Branch Sides:
            - BranchSide:      'istream-file.c:171,13'
              BranchSideFuncs:
                - fstat
                - __errno_location
                - io_stream_set_error
                - i_stream_get_error
                - i_error
            - BranchSide:      'istream-file.c:179,12'
              BranchSideFuncs:
                - stat
                - __errno_location
                - io_stream_set_error
                - i_stream_get_error
                - i_error
        - Branch String:   'istream-file.c:171,7'
          Branch Sides:
            - BranchSide:      'istream-file.c:172,35'
              BranchSideFuncs:
                - __errno_location
                - io_stream_set_error
                - i_stream_get_error
                - i_error
            - BranchSide:      'istream-file.c:178,2'
              BranchSideFuncs: []
        - Branch String:   'istream-file.c:179,7'
          Branch Sides:
            - BranchSide:      'istream-file.c:0,0'
              BranchSideFuncs:
                - __errno_location
                - io_stream_set_error
                - i_stream_get_error
                - i_error
            - BranchSide:      'istream-file.c:180,35'
              BranchSideFuncs:
                - __errno_location
                - io_stream_set_error
                - i_stream_get_error
                - i_error
      Callsites:
        - Src:             'istream-file.c:166,21'
          Dst:             i_stream_get_name
        - Src:             'istream-file.c:171,7'
          Dst:             fstat
        - Src:             'istream-file.c:172,35'
          Dst:             __errno_location
        - Src:             'istream-file.c:173,4'
          Dst:             io_stream_set_error
        - Src:             'istream-file.c:175,18'
          Dst:             i_stream_get_error
        - Src:             'istream-file.c:175,4'
          Dst:             i_error
        - Src:             'istream-file.c:179,7'
          Dst:             stat
        - Src:             'istream-file.c:180,35'
          Dst:             __errno_location
        - Src:             'istream-file.c:181,4'
          Dst:             io_stream_set_error
        - Src:             'istream-file.c:183,18'
          Dst:             i_stream_get_error
        - Src:             'istream-file.c:183,4'
          Dst:             i_error
    - functionName:    stat
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_file_open
      functionSourceFile: '/src/dovecot/src/lib/istream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - stream
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - i_stream_get_name
        - io_stream_set_error
        - open
      functionUses:    1
      BranchProfiles:
        - Branch String:   'istream-file.c:42,6'
          Branch Sides:
            - BranchSide:      'istream-file.c:43,24'
              BranchSideFuncs:
                - io_stream_set_error
                - __errno_location
            - BranchSide:      'istream-file.c:48,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'istream-file.c:39,21'
          Dst:             i_stream_get_name
        - Src:             'istream-file.c:41,15'
          Dst:             open
        - Src:             'istream-file.c:43,3'
          Dst:             io_stream_set_error
        - Src:             'istream-file.c:45,34'
          Dst:             __errno_location
    - functionName:    pread
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_create_fd_ref_autoclose
      functionSourceFile: '/src/dovecot/src/lib/istream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 283
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ref
        - max_buffer_size
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - i_stream_create_file_common
        - iostream_fd_ref
        - malloc_multiply_check
        - p_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'istream-file.c:279,12'
          Dst:             malloc_multiply_check
        - Src:             'istream-file.c:279,12'
          Dst:             p_malloc
        - Src:             'istream-file.c:281,2'
          Dst:             iostream_fd_ref
        - Src:             'istream-file.c:282,9'
          Dst:             i_stream_create_file_common
    - functionName:    i_stream_create_fd_autoclose
      functionSourceFile: '/src/dovecot/src/lib/istream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - fd
        - max_buffer_size
      BBCount:         7
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_create_file_common
        - malloc_multiply_check
        - p_malloc
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream-file.c:265,2'
          Branch Sides:
            - BranchSide:      'istream-file.c:265,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream-file.c:265,2'
              BranchSideFuncs:
                - malloc_multiply_check.5065
                - p_malloc.5066
                - i_stream_create_file_common
      Callsites:
        - Src:             'istream-file.c:265,2'
          Dst:             i_panic
        - Src:             'istream-file.c:267,12'
          Dst:             malloc_multiply_check
        - Src:             'istream-file.c:267,12'
          Dst:             p_malloc
        - Src:             'istream-file.c:268,10'
          Dst:             i_stream_create_file_common
    - functionName:    i_stream_create_fd
      functionSourceFile: '/src/dovecot/src/lib/istream-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - fd
        - max_buffer_size
      BBCount:         7
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_create_file_common
        - malloc_multiply_check
        - p_malloc
      functionUses:    0
      BranchProfiles:
        - Branch String:   'istream-file.c:253,2'
          Branch Sides:
            - BranchSide:      'istream-file.c:253,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'istream-file.c:253,2'
              BranchSideFuncs:
                - malloc_multiply_check.5065
                - p_malloc.5066
                - i_stream_create_file_common
      Callsites:
        - Src:             'istream-file.c:253,2'
          Dst:             i_panic
        - Src:             'istream-file.c:255,12'
          Dst:             malloc_multiply_check
        - Src:             'istream-file.c:255,12'
          Dst:             p_malloc
        - Src:             'istream-file.c:256,9'
          Dst:             i_stream_create_file_common
    - functionName:    ioloop_iolist_del
      functionSourceFile: '/src/dovecot/src/lib/ioloop-iolist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - list
        - io
      BBCount:         11
      ICount:          71
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-iolist.c:47,2'
          Branch Sides:
            - BranchSide:      'ioloop-iolist.c:48,7'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-iolist.c:55,9'
              BranchSideFuncs: []
        - Branch String:   'ioloop-iolist.c:48,7'
          Branch Sides:
            - BranchSide:      'ioloop-iolist.c:49,8'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-iolist.c:54,2'
              BranchSideFuncs: []
        - Branch String:   'ioloop-iolist.c:49,8'
          Branch Sides:
            - BranchSide:      'ioloop-iolist.c:50,5'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-iolist.c:52,10'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    ioloop_iolist_add
      functionSourceFile: '/src/dovecot/src/lib/ioloop-iolist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 12
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - list
        - io
      BBCount:         28
      ICount:          175
      EdgeCount:       33
      CyclomaticComplexity: 7
      functionsReached:
        - i_panic
        - i_unreached
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-iolist.c:15,6'
          Branch Sides:
            - BranchSide:      'ioloop-iolist.c:16,7'
              BranchSideFuncs:
                - i_panic
                - i_panic
            - BranchSide:      'ioloop-iolist.c:17,12'
              BranchSideFuncs:
                - i_unreached
                - i_panic
                - i_panic
        - Branch String:   'ioloop-iolist.c:17,11'
          Branch Sides:
            - BranchSide:      'ioloop-iolist.c:18,7'
              BranchSideFuncs:
                - i_panic
                - i_panic
            - BranchSide:      'ioloop-iolist.c:19,12'
              BranchSideFuncs:
                - i_unreached
                - i_panic
                - i_panic
        - Branch String:   'ioloop-iolist.c:19,11'
          Branch Sides:
            - BranchSide:      'ioloop-iolist.c:20,7'
              BranchSideFuncs:
                - i_panic
                - i_panic
            - BranchSide:      'ioloop-iolist.c:22,3'
              BranchSideFuncs:
                - i_unreached
        - Branch String:   'ioloop-iolist.c:25,6'
          Branch Sides:
            - BranchSide:      'ioloop-iolist.c:27,4'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop-iolist.c:30,2'
              BranchSideFuncs:
                - i_panic
        - Branch String:   'ioloop-iolist.c:30,2'
          Branch Sides:
            - BranchSide:      'ioloop-iolist.c:30,2'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      'ioloop-iolist.c:31,19'
              BranchSideFuncs: []
        - Branch String:   'ioloop-iolist.c:34,2'
          Branch Sides:
            - BranchSide:      'ioloop-iolist.c:35,7'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-iolist.c:39,2'
              BranchSideFuncs: []
        - Branch String:   'ioloop-iolist.c:35,16'
          Branch Sides:
            - BranchSide:      'ioloop-iolist.c:35,19'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-iolist.c:37,2'
              BranchSideFuncs: []
        - Branch String:   'ioloop-iolist.c:35,7'
          Branch Sides:
            - BranchSide:      'ioloop-iolist.c:36,4'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-iolist.c:37,2'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop-iolist.c:22,3'
          Dst:             i_unreached
        - Src:             'ioloop-iolist.c:26,3'
          Dst:             i_panic
        - Src:             'ioloop-iolist.c:30,2'
          Dst:             i_panic
    - functionName:    io_notify_fd_find
      functionSourceFile: '/src/dovecot/src/lib/ioloop-notify-fd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ctx
        - fd
      BBCount:         8
      ICount:          49
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-notify-fd.c:47,2'
          Branch Sides:
            - BranchSide:      'ioloop-notify-fd.c:48,7'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-notify-fd.c:52,2'
              BranchSideFuncs: []
        - Branch String:   'ioloop-notify-fd.c:48,7'
          Branch Sides:
            - BranchSide:      'ioloop-notify-fd.c:49,11'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-notify-fd.c:50,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    p_free_internal
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pool
        - mem
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:150,6'
          Branch Sides:
            - BranchSide:      './mempool.h:150,6'
              BranchSideFuncs: []
            - BranchSide:      './mempool.h:151,3'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    io_notify_fd_free
      functionSourceFile: '/src/dovecot/src/lib/ioloop-notify-fd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - io
      BBCount:         11
      ICount:          74
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - p_free_internal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-notify-fd.c:32,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-fd.c:33,20'
              BranchSideFuncs:
                - p_free_internal.5129
            - BranchSide:      'ioloop-notify-fd.c:35,19'
              BranchSideFuncs:
                - p_free_internal.5129
        - Branch String:   'ioloop-notify-fd.c:37,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-fd.c:38,20'
              BranchSideFuncs:
                - p_free_internal.5129
            - BranchSide:      'ioloop-notify-fd.c:39,2'
              BranchSideFuncs:
                - p_free_internal.5129
      Callsites:
        - Src:             'ioloop-notify-fd.c:39,2'
          Dst:             p_free_internal
    - functionName:    malloc_multiply_check
      functionSourceFile: '/src/dovecot/src/lib/./malloc-overflow.h'
      linkageType:     InternalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - size_t
        - size_t
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - b
        - sizeof_a
        - sizeof_b
        - fname
        - linenum
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './malloc-overflow.h:16,37'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,40'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:16,71'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,71'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './malloc-overflow.h:17,13'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:17,17'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:17,13'
              BranchSideFuncs: []
        - Branch String:   './malloc-overflow.h:16,6'
          Branch Sides:
            - BranchSide:      './malloc-overflow.h:16,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './malloc-overflow.h:19,4'
              BranchSideFuncs:
                - i_panic
      Callsites:
        - Src:             './malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    p_malloc
      functionSourceFile: '/src/dovecot/src/lib/./mempool.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - pool
        - size
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:118,6'
              BranchSideFuncs:
                - i_panic
        - Branch String:   './mempool.h:118,6'
          Branch Sides:
            - BranchSide:      './mempool.h:119,43'
              BranchSideFuncs:
                - i_panic
            - BranchSide:      './mempool.h:121,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             './mempool.h:119,3'
          Dst:             i_panic
    - functionName:    io_notify_fd_add
      functionSourceFile: '/src/dovecot/src/lib/ioloop-notify-fd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - fd
        - callback
        - context
      BBCount:         6
      ICount:          84
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - malloc_multiply_check
        - p_malloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ioloop-notify-fd.c:21,6'
          Branch Sides:
            - BranchSide:      'ioloop-notify-fd.c:21,6'
              BranchSideFuncs: []
            - BranchSide:      'ioloop-notify-fd.c:22,25'
              BranchSideFuncs: []
      Callsites:
        - Src:             'ioloop-notify-fd.c:14,7'
          Dst:             malloc_multiply_check
        - Src:             'ioloop-notify-fd.c:14,7'
          Dst:             p_malloc
    - functionName:    primes_closest
      functionSourceFile: '/src/dovecot/src/lib/primes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - num
      BBCount:         8
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'primes.c:43,2'
          Branch Sides:
            - BranchSide:      'primes.c:44,8'
              BranchSideFuncs: []
            - BranchSide:      'primes.c:47,9'
              BranchSideFuncs: []
        - Branch String:   'primes.c:44,7'
          Branch Sides:
            - BranchSide:      'primes.c:45,18'
              BranchSideFuncs: []
            - BranchSide:      'primes.c:46,2'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    str_begins_icase_with
      functionSourceFile: '/src/dovecot/src/lib/./strfuncs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - haystack
        - needle
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_match_icase
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             './strfuncs.h:105,16'
          Dst:             str_match_icase
    - functionName:    str_parse_get_bool
      functionSourceFile: '/src/dovecot/src/lib/str-parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - value
        - result_r
        - error_r
      BBCount:         15
      ICount:          75
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - strcasecmp
        - strcmp
        - t_strdup_printf
      functionUses:    0
      BranchProfiles:
        - Branch String:   'str-parse.c:155,36'
          Branch Sides:
            - BranchSide:      'str-parse.c:156,17'
              BranchSideFuncs: []
            - BranchSide:      'str-parse.c:157,4'
              BranchSideFuncs: []
        - Branch String:   'str-parse.c:156,34'
          Branch Sides:
            - BranchSide:      'str-parse.c:156,44'
              BranchSideFuncs: []
            - BranchSide:      'str-parse.c:157,4'
              BranchSideFuncs: []
        - Branch String:   'str-parse.c:155,6'
          Branch Sides:
            - BranchSide:      'str-parse.c:157,4'
              BranchSideFuncs: []
            - BranchSide:      'str-parse.c:158,22'
              BranchSideFuncs:
                - strcasecmp
                - t_strdup_printf
        - Branch String:   'str-parse.c:158,11'
          Branch Sides:
            - BranchSide:      'str-parse.c:159,4'
              BranchSideFuncs: []
            - BranchSide:      'str-parse.c:162,9'
              BranchSideFuncs:
                - t_strdup_printf
      Callsites:
        - Src:             'str-parse.c:155,6'
          Dst:             strcasecmp
        - Src:             'str-parse.c:156,6'
          Dst:             strcasecmp
        - Src:             'str-parse.c:156,37'
          Dst:             strcmp
        - Src:             'str-parse.c:158,11'
          Dst:             strcasecmp
        - Src:             'str-parse.c:161,14'
          Dst:             t_strdup_printf
    - functionName:    str_parse_get_size
      functionSourceFile: '/src/dovecot/src/lib/str-parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - bytes_r
        - error_r
      BBCount:         29
      ICount:          198
      EdgeCount:       35
      CyclomaticComplexity: 8
      functionsReached:
        - str_parse_uintmax
        - t_strconcat
        - toupper
      functionUses:    1
      BranchProfiles:
        - Branch String:   'str-parse.c:104,6'
          Branch Sides:
            - BranchSide:      'str-parse.c:105,44'
              BranchSideFuncs:
                - t_strconcat
            - BranchSide:      'str-parse.c:108,2'
              BranchSideFuncs:
                - toupper
                - t_strconcat
                - t_strconcat
                - toupper
                - toupper
        - Branch String:   'str-parse.c:108,2'
          Branch Sides:
            - BranchSide:      'str-parse.c:108,21'
              BranchSideFuncs:
                - toupper
                - t_strconcat
                - t_strconcat
                - toupper
                - toupper
            - BranchSide:      'str-parse.c:109,10'
              BranchSideFuncs:
                - toupper
                - t_strconcat
                - t_strconcat
                - toupper
                - toupper
        - Branch String:   'str-parse.c:109,2'
          Branch Sides:
            - BranchSide:      'str-parse.c:111,12'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
                - toupper
                - toupper
            - BranchSide:      'str-parse.c:115,12'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
                - toupper
                - toupper
            - BranchSide:      'str-parse.c:119,12'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
                - toupper
                - toupper
            - BranchSide:      'str-parse.c:123,12'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
                - toupper
                - toupper
            - BranchSide:      'str-parse.c:127,12'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
                - toupper
                - toupper
            - BranchSide:      'str-parse.c:132,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
                - toupper
                - toupper
        - Branch String:   'str-parse.c:132,6'
          Branch Sides:
            - BranchSide:      'str-parse.c:134,7'
              BranchSideFuncs:
                - toupper
                - toupper
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:139,7'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:134,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:135,5'
              BranchSideFuncs:
                - toupper
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:136,7'
              BranchSideFuncs:
                - toupper
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:136,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:137,5'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:138,2'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:139,6'
          Branch Sides:
            - BranchSide:      'str-parse.c:140,44'
              BranchSideFuncs:
                - t_strconcat
            - BranchSide:      'str-parse.c:143,6'
              BranchSideFuncs:
                - t_strconcat
        - Branch String:   'str-parse.c:143,6'
          Branch Sides:
            - BranchSide:      'str-parse.c:144,49'
              BranchSideFuncs:
                - t_strconcat
            - BranchSide:      'str-parse.c:147,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'str-parse.c:104,6'
          Dst:             str_parse_uintmax
        - Src:             'str-parse.c:105,14'
          Dst:             t_strconcat
        - Src:             'str-parse.c:109,10'
          Dst:             toupper
        - Src:             'str-parse.c:134,7'
          Dst:             toupper
        - Src:             'str-parse.c:136,7'
          Dst:             toupper
        - Src:             'str-parse.c:140,14'
          Dst:             t_strconcat
        - Src:             'str-parse.c:144,14'
          Dst:             t_strconcat
    - functionName:    str_parse_get_interval_msecs
      functionSourceFile: '/src/dovecot/src/lib/str-parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - msecs_r
        - error_r
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_parse_get_interval_full
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'str-parse.c:95,9'
          Dst:             str_parse_get_interval_full
    - functionName:    str_parse_get_interval_full
      functionSourceFile: '/src/dovecot/src/lib/str-parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - interval_r
        - milliseconds
        - error_r
      BBCount:         117
      ICount:          516
      EdgeCount:       158
      CyclomaticComplexity: 43
      functionsReached:
        - str_begins_icase_with
        - str_parse_uintmax
        - strlen
        - strncasecmp
        - t_strconcat
        - t_strdup_printf
        - toupper
      functionUses:    2
      BranchProfiles:
        - Branch String:   'str-parse.c:15,6'
          Branch Sides:
            - BranchSide:      'str-parse.c:16,53'
              BranchSideFuncs:
                - t_strconcat
            - BranchSide:      'str-parse.c:19,2'
              BranchSideFuncs:
                - toupper
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - t_strdup_printf
        - Branch String:   'str-parse.c:19,2'
          Branch Sides:
            - BranchSide:      'str-parse.c:19,21'
              BranchSideFuncs:
                - toupper
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - t_strdup_printf
            - BranchSide:      'str-parse.c:20,7'
              BranchSideFuncs:
                - toupper
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - t_strdup_printf
        - Branch String:   'str-parse.c:20,17'
          Branch Sides:
            - BranchSide:      'str-parse.c:20,20'
              BranchSideFuncs:
                - toupper
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - t_strdup_printf
            - BranchSide:      'str-parse.c:25,10'
              BranchSideFuncs:
                - toupper
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
        - Branch String:   'str-parse.c:20,6'
          Branch Sides:
            - BranchSide:      'str-parse.c:22,34'
              BranchSideFuncs:
                - t_strdup_printf
            - BranchSide:      'str-parse.c:25,10'
              BranchSideFuncs:
                - toupper
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
        - Branch String:   'str-parse.c:25,2'
          Branch Sides:
            - BranchSide:      'str-parse.c:27,12'
              BranchSideFuncs:
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
            - BranchSide:      'str-parse.c:33,12'
              BranchSideFuncs:
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
            - BranchSide:      'str-parse.c:57,12'
              BranchSideFuncs:
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - strlen
                - strncasecmp
            - BranchSide:      'str-parse.c:62,12'
              BranchSideFuncs:
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - strlen
                - strncasecmp
            - BranchSide:      'str-parse.c:67,12'
              BranchSideFuncs:
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - strlen
                - strncasecmp
            - BranchSide:      'str-parse.c:73,7'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:28,40'
          Branch Sides:
            - BranchSide:      'str-parse.c:28,7'
              BranchSideFuncs:
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - strlen
                - strncasecmp
            - BranchSide:      'str-parse.c:28,7'
              BranchSideFuncs:
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - strlen
                - strncasecmp
        - Branch String:   'str-parse.c:28,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:28,7'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:30,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:28,40'
          Branch Sides:
            - BranchSide:      'str-parse.c:28,7'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:30,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:28,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:29,7'
              BranchSideFuncs:
                - strlen
                - strncasecmp
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:29,7'
              BranchSideFuncs:
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:29,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:30,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:31,3'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:28,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:30,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:31,3'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:34,40'
          Branch Sides:
            - BranchSide:      'str-parse.c:34,7'
              BranchSideFuncs:
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
            - BranchSide:      'str-parse.c:34,7'
              BranchSideFuncs:
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
        - Branch String:   'str-parse.c:34,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:34,7'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:36,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:34,40'
          Branch Sides:
            - BranchSide:      'str-parse.c:34,7'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:36,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:34,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:35,7'
              BranchSideFuncs:
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
            - BranchSide:      'str-parse.c:35,7'
              BranchSideFuncs:
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
        - Branch String:   'str-parse.c:35,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:36,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:37,46'
              BranchSideFuncs:
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
        - Branch String:   'str-parse.c:34,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:36,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:37,46'
              BranchSideFuncs:
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
        - Branch String:   'str-parse.c:37,46'
          Branch Sides:
            - BranchSide:      'str-parse.c:37,12'
              BranchSideFuncs:
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
            - BranchSide:      'str-parse.c:37,12'
              BranchSideFuncs:
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
        - Branch String:   'str-parse.c:37,12'
          Branch Sides:
            - BranchSide:      'str-parse.c:38,42'
              BranchSideFuncs:
                - t_strdup_printf
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:41,8'
              BranchSideFuncs:
                - t_strdup_printf
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:37,46'
          Branch Sides:
            - BranchSide:      'str-parse.c:38,42'
              BranchSideFuncs:
                - t_strdup_printf
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:41,8'
              BranchSideFuncs:
                - t_strdup_printf
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:38,42'
          Branch Sides:
            - BranchSide:      'str-parse.c:38,5'
              BranchSideFuncs:
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
            - BranchSide:      'str-parse.c:38,5'
              BranchSideFuncs:
                - str_begins_icase_with
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
                - strlen
                - strncasecmp
        - Branch String:   'str-parse.c:38,5'
          Branch Sides:
            - BranchSide:      'str-parse.c:39,43'
              BranchSideFuncs:
                - t_strdup_printf
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:41,8'
              BranchSideFuncs:
                - t_strdup_printf
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:38,42'
          Branch Sides:
            - BranchSide:      'str-parse.c:39,43'
              BranchSideFuncs:
                - t_strdup_printf
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:41,8'
              BranchSideFuncs:
                - t_strdup_printf
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:39,43'
          Branch Sides:
            - BranchSide:      'str-parse.c:39,5'
              BranchSideFuncs:
                - strlen
                - strncasecmp
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
            - BranchSide:      'str-parse.c:39,5'
              BranchSideFuncs:
                - str_begins_icase_with
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
                - strlen
                - strncasecmp
        - Branch String:   'str-parse.c:39,5'
          Branch Sides:
            - BranchSide:      'str-parse.c:37,12'
              BranchSideFuncs:
                - t_strdup_printf
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:41,8'
              BranchSideFuncs:
                - t_strdup_printf
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:39,43'
          Branch Sides:
            - BranchSide:      'str-parse.c:37,12'
              BranchSideFuncs:
                - t_strdup_printf
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:41,8'
              BranchSideFuncs:
                - t_strdup_printf
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:37,12'
          Branch Sides:
            - BranchSide:      'str-parse.c:40,5'
              BranchSideFuncs:
                - strlen
                - strncasecmp
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
            - BranchSide:      'str-parse.c:40,5'
              BranchSideFuncs:
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
                - t_strdup_printf
        - Branch String:   'str-parse.c:41,21'
          Branch Sides:
            - BranchSide:      'str-parse.c:41,25'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:42,10'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:41,8'
          Branch Sides:
            - BranchSide:      'str-parse.c:42,10'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:52,56'
              BranchSideFuncs:
                - t_strdup_printf
        - Branch String:   'str-parse.c:42,9'
          Branch Sides:
            - BranchSide:      'str-parse.c:45,10'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:47,14'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:58,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:58,7'
              BranchSideFuncs:
                - strlen
                - strncasecmp
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:58,7'
              BranchSideFuncs:
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:58,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:59,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:60,3'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:58,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:59,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:60,3'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:63,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:63,7'
              BranchSideFuncs:
                - strlen
                - strncasecmp
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:63,7'
              BranchSideFuncs:
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:63,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:64,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:65,3'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:63,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:64,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:65,3'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:68,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:68,7'
              BranchSideFuncs:
                - strlen
                - strncasecmp
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:68,7'
              BranchSideFuncs:
                - str_begins_icase_with
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:68,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:69,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:70,3'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:68,7'
          Branch Sides:
            - BranchSide:      'str-parse.c:69,6'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
            - BranchSide:      'str-parse.c:70,3'
              BranchSideFuncs:
                - t_strconcat
                - t_strconcat
        - Branch String:   'str-parse.c:73,6'
          Branch Sides:
            - BranchSide:      'str-parse.c:74,53'
              BranchSideFuncs:
                - t_strconcat
            - BranchSide:      'str-parse.c:77,6'
              BranchSideFuncs:
                - t_strconcat
        - Branch String:   'str-parse.c:77,6'
          Branch Sides:
            - BranchSide:      'str-parse.c:79,12'
              BranchSideFuncs:
                - t_strconcat
            - BranchSide:      'str-parse.c:82,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'str-parse.c:15,6'
          Dst:             str_parse_uintmax
        - Src:             'str-parse.c:16,14'
          Dst:             t_strconcat
        - Src:             'str-parse.c:21,14'
          Dst:             t_strdup_printf
        - Src:             'str-parse.c:25,10'
          Dst:             toupper
        - Src:             'str-parse.c:28,7'
          Dst:             strlen
        - Src:             'str-parse.c:28,7'
          Dst:             strncasecmp
        - Src:             'str-parse.c:28,7'
          Dst:             str_begins_icase_with
        - Src:             'str-parse.c:29,7'
          Dst:             strlen
        - Src:             'str-parse.c:29,7'
          Dst:             strncasecmp
        - Src:             'str-parse.c:29,7'
          Dst:             str_begins_icase_with
        - Src:             'str-parse.c:34,7'
          Dst:             strlen
        - Src:             'str-parse.c:34,7'
          Dst:             strncasecmp
        - Src:             'str-parse.c:34,7'
          Dst:             str_begins_icase_with
        - Src:             'str-parse.c:35,7'
          Dst:             strlen
        - Src:             'str-parse.c:35,7'
          Dst:             strncasecmp
        - Src:             'str-parse.c:35,7'
          Dst:             str_begins_icase_with
        - Src:             'str-parse.c:37,12'
          Dst:             strlen
        - Src:             'str-parse.c:37,12'
          Dst:             strncasecmp
        - Src:             'str-parse.c:37,12'
          Dst:             str_begins_icase_with
        - Src:             'str-parse.c:38,5'
          Dst:             strlen
        - Src:             'str-parse.c:38,5'
          Dst:             strncasecmp
        - Src:             'str-parse.c:38,5'
          Dst:             str_begins_icase_with
        - Src:             'str-parse.c:39,5'
          Dst:             strlen
        - Src:             'str-parse.c:39,5'
          Dst:             strncasecmp
        - Src:             'str-parse.c:39,5'
          Dst:             str_begins_icase_with
        - Src:             'str-parse.c:40,5'
          Dst:             strlen
        - Src:             'str-parse.c:40,5'
          Dst:             strncasecmp
        - Src:             'str-parse.c:40,5'
          Dst:             str_begins_icase_with
        - Src:             'str-parse.c:51,15'
          Dst:             t_strdup_printf
        - Src:             'str-parse.c:58,7'
          Dst:             strlen
        - Src:             'str-parse.c:58,7'
          Dst:             strncasecmp
        - Src:             'str-parse.c:58,7'
          Dst:             str_begins_icase_with
        - Src:             'str-parse.c:63,7'
          Dst:             strlen
        - Src:             'str-parse.c:63,7'
          Dst:             strncasecmp
        - Src:             'str-parse.c:63,7'
          Dst:             str_begins_icase_with
        - Src:             'str-parse.c:68,7'
          Dst:             strlen
        - Src:             'str-parse.c:68,7'
          Dst:             strncasecmp
        - Src:             'str-parse.c:68,7'
          Dst:             str_begins_icase_with
        - Src:             'str-parse.c:74,14'
          Dst:             t_strconcat
        - Src:             'str-parse.c:78,14'
          Dst:             t_strconcat
    - functionName:    str_parse_get_interval
      functionSourceFile: '/src/dovecot/src/lib/str-parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - secs_r
        - error_r
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_parse_get_interval_full
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'str-parse.c:89,9'
          Dst:             str_parse_get_interval_full
    - functionName:    is_escaped
      functionSourceFile: '/src/dovecot/src/lib/wildcard-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - p
        - start
      BBCount:         7
      ICount:          51
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:
        - Branch String:   'wildcard-match.c:31,20'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:31,23'
              BranchSideFuncs: []
            - BranchSide:      'wildcard-match.c:31,3'
              BranchSideFuncs: []
        - Branch String:   'wildcard-match.c:31,3'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:32,19'
              BranchSideFuncs: []
            - BranchSide:      'wildcard-match.c:35,10'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    str_append
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cstr
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:35,27'
          Dst:             strlen
        - Src:             './str.h:35,2'
          Dst:             buffer_append
    - functionName:    str_append_c
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - str
        - chr
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_c
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:44,2'
          Dst:             buffer_append_c
    - functionName:    str_append_data
      functionSourceFile: '/src/dovecot/src/lib/./str.h'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - str
        - data
        - len
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './str.h:39,2'
          Dst:             buffer_append
    - functionName:    wildcard_str_escape
      functionSourceFile: '/src/dovecot/src/lib/wildcard-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         10
      ICount:          82
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - str_append
        - str_append_c
        - str_append_data
        - str_c
        - strlen
        - strpbrk
        - t_str_new
      functionUses:    0
      BranchProfiles:
        - Branch String:   'wildcard-match.c:176,6'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:177,10'
              BranchSideFuncs: []
            - BranchSide:      'wildcard-match.c:179,29'
              BranchSideFuncs:
                - strlen
                - t_str_new
                - str_append_data.5220
                - str_append_c.5219
                - str_append_c.5219
                - strpbrk
                - str_append.5218
                - str_c
        - Branch String:   'wildcard-match.c:187,2'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:181,19'
              BranchSideFuncs:
                - str_append_data.5220
                - str_append_c.5219
                - str_append_c.5219
                - strpbrk
                - str_append.5218
                - str_c
            - BranchSide:      'wildcard-match.c:188,13'
              BranchSideFuncs:
                - str_append.5218
                - str_c
      Callsites:
        - Src:             'wildcard-match.c:175,18'
          Dst:             strpbrk
        - Src:             'wildcard-match.c:179,40'
          Dst:             strlen
        - Src:             'wildcard-match.c:179,18'
          Dst:             t_str_new
        - Src:             'wildcard-match.c:181,3'
          Dst:             str_append_data
        - Src:             'wildcard-match.c:182,3'
          Dst:             str_append_c
        - Src:             'wildcard-match.c:183,3'
          Dst:             str_append_c
        - Src:             'wildcard-match.c:186,7'
          Dst:             strpbrk
        - Src:             'wildcard-match.c:188,2'
          Dst:             str_append
        - Src:             'wildcard-match.c:189,9'
          Dst:             str_c
    - functionName:    wildcard_is_escaped_literal
      functionSourceFile: '/src/dovecot/src/lib/wildcard-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - mask
      BBCount:         12
      ICount:          60
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strpbrk
      functionUses:    2
      BranchProfiles:
        - Branch String:   'wildcard-match.c:163,2'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:164,8'
              BranchSideFuncs:
                - strpbrk
            - BranchSide:      'wildcard-match.c:170,2'
              BranchSideFuncs: []
        - Branch String:   'wildcard-match.c:164,7'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:165,4'
              BranchSideFuncs: []
            - BranchSide:      'wildcard-match.c:166,7'
              BranchSideFuncs:
                - strpbrk
        - Branch String:   'wildcard-match.c:166,7'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:167,4'
              BranchSideFuncs: []
            - BranchSide:      'wildcard-match.c:168,5'
              BranchSideFuncs:
                - strpbrk
      Callsites:
        - Src:             'wildcard-match.c:163,14'
          Dst:             strpbrk
    - functionName:    wildcard_match_escaped_icase
      functionSourceFile: '/src/dovecot/src/lib/wildcard-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - mask
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - wildcard_match_int
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'wildcard-match.c:156,9'
          Dst:             wildcard_match_int
    - functionName:    wildcard_match_int
      functionSourceFile: '/src/dovecot/src/lib/wildcard-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - bool
      constantsTouched: []
      argNames:
        - data
        - mask
        - icase
        - escaped
      BBCount:         98
      ICount:          521
      EdgeCount:       130
      CyclomaticComplexity: 34
      functionsReached:
        - is_escaped
        - toupper
      functionUses:    4
      BranchProfiles:
        - Branch String:   'wildcard-match.c:45,7'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:47,4'
              BranchSideFuncs: []
            - BranchSide:      'wildcard-match.c:51,3'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:47,4'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:47,27'
              BranchSideFuncs: []
            - BranchSide:      'wildcard-match.c:48,11'
              BranchSideFuncs: []
        - Branch String:   'wildcard-match.c:48,11'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:48,27'
              BranchSideFuncs: []
            - BranchSide:      'wildcard-match.c:48,4'
              BranchSideFuncs: []
        - Branch String:   'wildcard-match.c:51,3'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:51,16'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:52,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:53,3'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:53,16'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:54,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:56,3'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:59,9'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:133,3'
              BranchSideFuncs:
                - is_escaped
        - Branch String:   'wildcard-match.c:59,9'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:60,11'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:71,14'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:60,11'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:61,16'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:68,9'
              BranchSideFuncs: []
        - Branch String:   'wildcard-match.c:63,13'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:64,15'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:65,15'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:71,5'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:73,11'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:83,11'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
                - is_escaped
                - is_escaped
            - BranchSide:      'wildcard-match.c:103,11'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
                - is_escaped
            - BranchSide:      'wildcard-match.c:115,9'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
        - Branch String:   'wildcard-match.c:73,19'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:73,33'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
            - BranchSide:      'wildcard-match.c:81,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
        - Branch String:   'wildcard-match.c:73,11'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:74,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:81,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
        - Branch String:   'wildcard-match.c:74,6'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:75,4'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:76,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:83,19'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:83,33'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
                - is_escaped
            - BranchSide:      'wildcard-match.c:91,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
                - is_escaped
        - Branch String:   'wildcard-match.c:83,11'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:84,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:91,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
                - is_escaped
        - Branch String:   'wildcard-match.c:84,6'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:85,4'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:86,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:93,27'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:92,2'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
                - is_escaped
            - BranchSide:      'wildcard-match.c:93,32'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
                - is_escaped
        - Branch String:   'wildcard-match.c:93,47'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:92,2'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
                - is_escaped
            - BranchSide:      'wildcard-match.c:94,9'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
                - is_escaped
        - Branch String:   'wildcard-match.c:92,2'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:92,6'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
                - is_escaped
            - BranchSide:      'wildcard-match.c:95,13'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:99,11'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:100,9'
              BranchSideFuncs: []
            - BranchSide:      'wildcard-match.c:101,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:103,19'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:103,33'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:111,11'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:103,11'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:104,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:111,11'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:104,6'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:105,4'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:106,7'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:115,9'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:115,18'
              BranchSideFuncs:
                - toupper
                - toupper
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
            - BranchSide:      'wildcard-match.c:116,4'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:115,9'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:116,17'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:117,11'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:115,9'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:116,17'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:117,11'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:123,9'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:124,14'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:131,5'
              BranchSideFuncs: []
        - Branch String:   'wildcard-match.c:126,11'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:127,13'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
            - BranchSide:      'wildcard-match.c:128,13'
              BranchSideFuncs:
                - is_escaped
                - is_escaped
                - is_escaped
                - is_escaped
                - toupper
                - toupper
                - is_escaped
        - Branch String:   'wildcard-match.c:133,23'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:133,28'
              BranchSideFuncs:
                - is_escaped
            - BranchSide:      'wildcard-match.c:133,3'
              BranchSideFuncs:
                - is_escaped
        - Branch String:   'wildcard-match.c:133,43'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:133,3'
              BranchSideFuncs:
                - is_escaped
            - BranchSide:      'wildcard-match.c:134,5'
              BranchSideFuncs:
                - is_escaped
        - Branch String:   'wildcard-match.c:133,3'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:135,9'
              BranchSideFuncs:
                - is_escaped
            - BranchSide:      'wildcard-match.c:136,11'
              BranchSideFuncs: []
        - Branch String:   'wildcard-match.c:136,10'
          Branch Sides:
            - BranchSide:      'wildcard-match.c:136,3'
              BranchSideFuncs: []
            - BranchSide:      'wildcard-match.c:136,35'
              BranchSideFuncs: []
      Callsites:
        - Src:             'wildcard-match.c:73,22'
          Dst:             is_escaped
        - Src:             'wildcard-match.c:83,22'
          Dst:             is_escaped
        - Src:             'wildcard-match.c:94,21'
          Dst:             is_escaped
        - Src:             'wildcard-match.c:103,22'
          Dst:             is_escaped
        - Src:             'wildcard-match.c:115,18'
          Dst:             toupper
        - Src:             'wildcard-match.c:115,38'
          Dst:             toupper
        - Src:             'wildcard-match.c:134,17'
          Dst:             is_escaped
    - functionName:    wildcard_match_escaped
      functionSourceFile: '/src/dovecot/src/lib/wildcard-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - mask
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - wildcard_match_int
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'wildcard-match.c:151,9'
          Dst:             wildcard_match_int
    - functionName:    wildcard_match_icase
      functionSourceFile: '/src/dovecot/src/lib/wildcard-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - mask
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - wildcard_match_int
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'wildcard-match.c:146,9'
          Dst:             wildcard_match_int
    - functionName:    wildcard_match
      functionSourceFile: '/src/dovecot/src/lib/wildcard-match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - mask
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - wildcard_match_int
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'wildcard-match.c:141,9'
          Dst:             wildcard_match_int
...
