---
Fuzzer filename: '/src/pigeonhole/src/testsuite/fuzzsuite.c'
All functions:
  Function list name: All functions
  Elements:
    - 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:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_c
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/str.h:44,2'
          Dst:             buffer_append_c
    - functionName:    buffer_append_c
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      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:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/str.h:35,27'
          Dst:             strlen
        - Src:             'dovecot/src/lib/str.h:35,2'
          Dst:             buffer_append
    - 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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    buffer_append
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_test_context_deinit
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:289,2'
          Dst:             str_free
    - functionName:    str_free
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_deinit
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 418
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          26
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
        - testsuite_binary_deinit
        - testsuite_log_deinit
        - testsuite_script_deinit
        - testsuite_smtp_deinit
        - testsuite_test_context_deinit
        - testsuite_tmp_dir_deinit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:409,2'
          Dst:             p_free_internal
        - Src:             'testsuite-common.c:411,2'
          Dst:             testsuite_smtp_deinit
        - Src:             'testsuite-common.c:412,2'
          Dst:             testsuite_binary_deinit
        - Src:             'testsuite-common.c:413,2'
          Dst:             testsuite_script_deinit
        - Src:             'testsuite-common.c:415,2'
          Dst:             testsuite_tmp_dir_deinit
        - Src:             'testsuite-common.c:416,2'
          Dst:             testsuite_log_deinit
        - Src:             'testsuite-common.c:417,2'
          Dst:             testsuite_test_context_deinit
    - 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:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_tmp_dir_deinit
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 340
      functionLinenumberEnd: 352
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          44
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - i_warning
        - p_free_internal
        - unlink_directory
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:346,6'
          Dst:             unlink_directory
        - Src:             'testsuite-common.c:348,3'
          Dst:             i_warning
        - Src:             'testsuite-common.c:351,2'
          Dst:             p_free_internal
    - functionName:    unlink_directory
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_warning
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_run
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 405
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_interpreter_create
        - sieve_interpreter_free
        - sieve_interpreter_run
        - testsuite_result_get
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:392,21'
          Dst:             sieve_interpreter_create
        - Src:             'testsuite-common.c:398,11'
          Dst:             testsuite_result_get
        - Src:             'testsuite-common.c:399,8'
          Dst:             sieve_interpreter_run
        - Src:             'testsuite-common.c:402,2'
          Dst:             sieve_interpreter_free
    - functionName:    sieve_interpreter_create
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_interpreter_run
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_interpreter_free
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_tmp_dir_init
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_fatal
        - i_strdup
        - safe_mkstemp_dir_pid
        - str_append
        - str_append_c
        - str_c
        - t_str_new
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:328,18'
          Dst:             t_str_new
        - Src:             'testsuite-common.c:329,2'
          Dst:             str_append
        - Src:             'testsuite-common.c:330,2'
          Dst:             str_append_c
        - Src:             'testsuite-common.c:331,2'
          Dst:             str_append
        - Src:             'testsuite-common.c:332,2'
          Dst:             str_append_c
        - Src:             'testsuite-common.c:334,6'
          Dst:             safe_mkstemp_dir_pid
        - Src:             'testsuite-common.c:335,46'
          Dst:             str_c
        - Src:             'testsuite-common.c:335,3'
          Dst:             i_fatal
        - Src:             'testsuite-common.c:336,31'
          Dst:             str_c
        - Src:             'testsuite-common.c:336,22'
          Dst:             i_strdup
    - functionName:    t_str_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    safe_mkstemp_dir_pid
      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:    str_c
      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:    65
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_fatal
      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:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_strdup
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_test_context_init
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_new
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:161,14'
          Dst:             str_new
    - functionName:    str_new
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_init
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 383
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_strdup
        - sieve_extension_register
        - testsuite_binary_init
        - testsuite_log_init
        - testsuite_script_init
        - testsuite_smtp_init
        - testsuite_test_context_init
        - testsuite_tmp_dir_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:370,2'
          Dst:             testsuite_test_context_init
        - Src:             'testsuite-common.c:371,2'
          Dst:             testsuite_log_init
        - Src:             'testsuite-common.c:372,2'
          Dst:             testsuite_tmp_dir_init
        - Src:             'testsuite-common.c:374,2'
          Dst:             testsuite_script_init
        - Src:             'testsuite-common.c:375,2'
          Dst:             testsuite_binary_init
        - Src:             'testsuite-common.c:376,2'
          Dst:             testsuite_smtp_init
        - Src:             'testsuite-common.c:378,8'
          Dst:             sieve_extension_register
        - Src:             'testsuite-common.c:380,2'
          Dst:             i_panic
        - Src:             'testsuite-common.c:382,24'
          Dst:             i_strdup
    - functionName:    sieve_extension_register
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_panic
      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:    42
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_tmp_dir_get
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 355
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_testcase_result
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 315
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - bool
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:296,4'
          Dst:             printf
        - Src:             'testsuite-common.c:302,3'
          Dst:             printf
        - Src:             'testsuite-common.c:308,3'
          Dst:             printf
        - Src:             'testsuite-common.c:313,2'
          Dst:             printf
    - functionName:    printf
      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:    21
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_test_succeed
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          140
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - printf
        - sieve_interpreter_program_jump_to
        - sieve_runtime_trace_error
        - str_c
        - str_len
        - str_truncate
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:253,6'
          Dst:             str_len
        - Src:             'testsuite-common.c:254,25'
          Dst:             str_len
        - Src:             'testsuite-common.c:255,4'
          Dst:             printf
        - Src:             'testsuite-common.c:258,23'
          Dst:             str_c
        - Src:             'testsuite-common.c:257,4'
          Dst:             printf
        - Src:             'testsuite-common.c:261,25'
          Dst:             str_len
        - Src:             'testsuite-common.c:263,23'
          Dst:             str_c
        - Src:             'testsuite-common.c:262,4'
          Dst:             printf
        - Src:             'testsuite-common.c:266,5'
          Dst:             str_c
        - Src:             'testsuite-common.c:266,23'
          Dst:             str_c
        - Src:             'testsuite-common.c:265,4'
          Dst:             printf
        - Src:             'testsuite-common.c:270,2'
          Dst:             str_truncate
        - Src:             'testsuite-common.c:274,3'
          Dst:             sieve_runtime_trace_error
        - Src:             'testsuite-common.c:278,9'
          Dst:             sieve_interpreter_program_jump_to
    - 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:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      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:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_set_used_size
        - str_len
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/str.h:90,6'
          Dst:             str_len
        - Src:             'dovecot/src/lib/str.h:91,3'
          Dst:             buffer_set_used_size
    - functionName:    sieve_runtime_trace_error
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _sieve_runtime_trace_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:76,3'
          Dst:             _sieve_runtime_trace_error
    - functionName:    sieve_interpreter_program_jump_to
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _sieve_runtime_trace_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    buffer_set_used_size
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_testcase_fail
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          41
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - printf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:240,3'
          Dst:             printf
        - Src:             'testsuite-common.c:242,3'
          Dst:             printf
    - functionName:    testsuite_test_failf
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - t_strdup_vprintf
        - testsuite_test_fail_cstr
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:196,39'
          Dst:             t_strdup_vprintf
        - Src:             'testsuite-common.c:196,8'
          Dst:             testsuite_test_fail_cstr
    - functionName:    t_strdup_vprintf
      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:    testsuite_test_fail_cstr
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          125
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - printf
        - sieve_interpreter_interrupt
        - sieve_interpreter_program_jump_to
        - str_c
        - str_len
        - str_truncate
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:207,6'
          Dst:             str_len
        - Src:             'testsuite-common.c:209,4'
          Dst:             printf
        - Src:             'testsuite-common.c:211,4'
          Dst:             printf
        - Src:             'testsuite-common.c:215,23'
          Dst:             str_c
        - Src:             'testsuite-common.c:214,4'
          Dst:             printf
        - Src:             'testsuite-common.c:218,23'
          Dst:             str_c
        - Src:             'testsuite-common.c:217,4'
          Dst:             printf
        - Src:             'testsuite-common.c:227,3'
          Dst:             sieve_interpreter_interrupt
        - Src:             'testsuite-common.c:231,2'
          Dst:             str_truncate
        - Src:             'testsuite-common.c:234,9'
          Dst:             sieve_interpreter_program_jump_to
    - functionName:    sieve_interpreter_interrupt
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_test_fail
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_c
        - testsuite_test_fail_cstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:186,40'
          Dst:             str_c
        - Src:             'testsuite-common.c:186,9'
          Dst:             testsuite_test_fail_cstr
    - 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:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/str.h:61,2'
          Dst:             buffer_append
    - functionName:    testsuite_test_start
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_runtime_trace_error
        - str_append_str
        - str_truncate
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:171,3'
          Dst:             sieve_runtime_trace_error
        - Src:             'testsuite-common.c:174,2'
          Dst:             str_truncate
        - Src:             'testsuite-common.c:175,2'
          Dst:             str_append_str
    - functionName:    testsuite_interpreter_context_get
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_interpreter_extension_get_context
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:150,3'
          Dst:             sieve_interpreter_extension_get_context
    - functionName:    sieve_interpreter_extension_get_context
      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:    testsuite_interpreter_context_initialize
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - p_malloc
        - sieve_interpreter_extension_register
        - sieve_interpreter_pool
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:136,16'
          Dst:             sieve_interpreter_pool
        - Src:             'testsuite-common.c:138,3'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-common.c:138,3'
          Dst:             p_malloc
        - Src:             'testsuite-common.c:140,2'
          Dst:             sieve_interpreter_extension_register
    - functionName:    sieve_interpreter_pool
      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:    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:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/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:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/mempool.h:119,3'
          Dst:             i_panic
    - functionName:    sieve_interpreter_extension_register
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_interpreter_free
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_binary_unref
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:125,2'
          Dst:             sieve_binary_unref
    - functionName:    sieve_binary_unref
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_generator_context_initialize
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - p_malloc
        - sieve_generator_extension_set_context
        - sieve_generator_get_block
        - sieve_generator_pool
        - sieve_jumplist_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:100,16'
          Dst:             sieve_generator_pool
        - Src:             'testsuite-common.c:101,38'
          Dst:             sieve_generator_get_block
        - Src:             'testsuite-common.c:103,3'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-common.c:103,3'
          Dst:             p_malloc
        - Src:             'testsuite-common.c:106,20'
          Dst:             sieve_jumplist_create
        - Src:             'testsuite-common.c:108,2'
          Dst:             sieve_generator_extension_set_context
    - functionName:    sieve_generator_pool
      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:    sieve_generator_get_block
      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:    sieve_jumplist_create
      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:    sieve_generator_extension_set_context
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_validator_context_get
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_validator_extension_get_context
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:90,3'
          Dst:             sieve_validator_extension_get_context
    - functionName:    sieve_validator_extension_get_context
      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:    testsuite_validator_context_initialize
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-common.c'
      linkageType:     externalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - p_malloc
        - sieve_validator_extension_set_context
        - sieve_validator_object_registry_create
        - sieve_validator_pool
        - testsuite_register_core_objects
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-common.c:72,16'
          Dst:             sieve_validator_pool
        - Src:             'testsuite-common.c:74,3'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-common.c:74,3'
          Dst:             p_malloc
        - Src:             'testsuite-common.c:78,3'
          Dst:             sieve_validator_object_registry_create
        - Src:             'testsuite-common.c:79,2'
          Dst:             testsuite_register_core_objects
        - Src:             'testsuite-common.c:81,2'
          Dst:             sieve_validator_extension_set_context
    - functionName:    sieve_validator_pool
      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:    sieve_validator_object_registry_create
      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:    sieve_validator_extension_set_context
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_setting_unset
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-settings.c'
      linkageType:     externalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - settings_root_find
        - settings_root_override_remove
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-settings.c:37,13'
          Dst:             settings_root_find
        - Src:             'testsuite-settings.c:38,2'
          Dst:             settings_root_override_remove
    - functionName:    settings_root_find
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    settings_root_override_remove
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_setting_set
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-settings.c'
      linkageType:     externalLinkage
      functionLinenumber: 13
      functionLinenumberEnd: 26
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - settings_root_find
        - settings_root_override
        - settings_root_override_remove
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-settings.c:21,13'
          Dst:             settings_root_find
        - Src:             'testsuite-settings.c:22,2'
          Dst:             settings_root_override_remove
        - Src:             'testsuite-settings.c:24,2'
          Dst:             settings_root_override
    - functionName:    settings_root_override
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_object_emit
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - sieve_binary_emit_byte
        - sieve_opr_object_emit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:120,2'
          Dst:             sieve_opr_object_emit
        - Src:             'testsuite-objects.c:123,9'
          Dst:             sieve_binary_emit_byte
    - functionName:    sieve_opr_object_emit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_binary_emit_byte
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tsto_envelope_set_member
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 373
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          64
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - str_c
        - testsuite_envelope_set_auth_user
        - testsuite_envelope_set_orig_recipient
        - testsuite_envelope_set_recipient
        - testsuite_envelope_set_sender
      functionUses:    0
      BranchProfiles:
        - Branch String:   'testsuite-objects.c:358,2'
          Branch Sides:    []
      Callsites:
        - Src:             'testsuite-objects.c:360,39'
          Dst:             str_c
        - Src:             'testsuite-objects.c:360,3'
          Dst:             testsuite_envelope_set_sender
        - Src:             'testsuite-objects.c:363,42'
          Dst:             str_c
        - Src:             'testsuite-objects.c:363,3'
          Dst:             testsuite_envelope_set_recipient
        - Src:             'testsuite-objects.c:366,47'
          Dst:             str_c
        - Src:             'testsuite-objects.c:366,3'
          Dst:             testsuite_envelope_set_orig_recipient
        - Src:             'testsuite-objects.c:369,42'
          Dst:             str_c
        - Src:             'testsuite-objects.c:369,3'
          Dst:             testsuite_envelope_set_auth_user
    - functionName:    tsto_envelope_get_member_name
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     InternalLinkage
      functionLinenumber: 340
      functionLinenumberEnd: 352
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          37
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'testsuite-objects.c:341,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    tsto_envelope_get_member_id
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          60
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - strcasecmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:328,6'
          Dst:             strcasecmp
        - Src:             'testsuite-objects.c:330,6'
          Dst:             strcasecmp
        - Src:             'testsuite-objects.c:332,6'
          Dst:             strcasecmp
        - Src:             'testsuite-objects.c:334,6'
          Dst:             strcasecmp
    - 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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tsto_message_set_member
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - testsuite_message_set_string
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:322,2'
          Dst:             testsuite_message_set_string
    - 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:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/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:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/mempool.h:119,3'
          Dst:             i_panic
    - functionName:    testsuite_object_create
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _get_object_registry
        - malloc_multiply_check
        - p_malloc
        - sieve_ast_pool
        - sieve_validator_object_registry_find
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:68,3'
          Dst:             _get_object_registry
        - Src:             'testsuite-objects.c:72,7'
          Dst:             sieve_validator_object_registry_find
        - Src:             'testsuite-objects.c:75,9'
          Dst:             sieve_ast_pool
        - Src:             'testsuite-objects.c:75,9'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-objects.c:75,9'
          Dst:             p_malloc
    - functionName:    _get_object_registry
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - testsuite_validator_context_get
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:48,3'
          Dst:             testsuite_validator_context_get
    - functionName:    sieve_validator_object_registry_find
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_ast_pool
      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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_object_argument_activate
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     externalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          182
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - malloc_multiply_check
        - p_malloc
        - sieve_argument_create
        - sieve_ast_pool
        - sieve_validator_error
        - str_c
        - strchr
        - t_strdup_until
        - testsuite_object_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:221,24'
          Dst:             str_c
        - Src:             'testsuite-objects.c:229,11'
          Dst:             strchr
        - Src:             'testsuite-objects.c:231,13'
          Dst:             t_strdup_until
        - Src:             'testsuite-objects.c:237,9'
          Dst:             testsuite_object_create
        - Src:             'testsuite-objects.c:239,3'
          Dst:             sieve_validator_error
        - Src:             'testsuite-objects.c:251,4'
          Dst:             sieve_validator_error
        - Src:             'testsuite-objects.c:260,8'
          Dst:             sieve_ast_pool
        - Src:             'testsuite-objects.c:260,8'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-objects.c:260,8'
          Dst:             p_malloc
        - Src:             'testsuite-objects.c:264,18'
          Dst:             sieve_argument_create
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    t_strdup_until
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_validator_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_argument_create
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    arg_testsuite_object_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - testsuite_object_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:278,2'
          Dst:             testsuite_object_emit
    - functionName:    testsuite_object_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     externalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_code_dumpf
        - sieve_code_mark
        - testsuite_object_member_name
        - testsuite_object_read_member
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:186,2'
          Dst:             sieve_code_mark
        - Src:             'testsuite-objects.c:188,7'
          Dst:             testsuite_object_read_member
        - Src:             'testsuite-objects.c:194,4'
          Dst:             testsuite_object_member_name
        - Src:             'testsuite-objects.c:192,2'
          Dst:             sieve_code_dumpf
    - functionName:    sieve_code_mark
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_object_read_member
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     externalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          60
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - sieve_binary_read_code
        - testsuite_object_read
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:149,7'
          Dst:             testsuite_object_read
        - Src:             'testsuite-objects.c:154,8'
          Dst:             sieve_binary_read_code
    - functionName:    testsuite_object_member_name
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     externalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          85
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - t_strdup_printf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:174,10'
          Dst:             t_strdup_printf
        - Src:             'testsuite-objects.c:177,9'
          Dst:             t_strdup_printf
    - functionName:    sieve_code_dumpf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    t_strdup_printf
      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:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_object_read
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     externalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          70
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - i_panic
        - sieve_operand_read
        - sieve_opr_object_read_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:131,7'
          Dst:             sieve_operand_read
        - Src:             'testsuite-objects.c:134,7'
          Dst:             sieve_opr_object_read_data
        - Src:             'testsuite-objects.c:140,2'
          Dst:             i_panic
    - functionName:    sieve_binary_read_code
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_operand_read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_opr_object_read_data
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_register_core_objects
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     externalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          47
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_validator_object_registry_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:93,3'
          Dst:             sieve_validator_object_registry_add
    - functionName:    sieve_validator_object_registry_add
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_object_register
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-objects.c'
      linkageType:     externalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _get_object_registry
        - sieve_validator_object_registry_add
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-objects.c:58,3'
          Dst:             _get_object_registry
        - Src:             'testsuite-objects.c:60,2'
          Dst:             sieve_validator_object_registry_add
    - functionName:    testsuite_substitution_get
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-substitutions.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_file_substitution_get_value
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-substitutions.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - str_printfa
        - t_str_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-substitutions.c:251,12'
          Dst:             t_str_new
        - Src:             'testsuite-substitutions.c:253,2'
          Dst:             str_printfa
    - functionName:    str_printfa
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    opr_substitution_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-substitutions.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          90
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - sieve_binary_read_string
        - sieve_binary_read_unsigned
        - sieve_code_dumpf
        - str_c
        - testsuite_substitution_get
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-substitutions.c:180,7'
          Dst:             sieve_binary_read_unsigned
        - Src:             'testsuite-substitutions.c:183,9'
          Dst:             testsuite_substitution_get
        - Src:             'testsuite-substitutions.c:187,7'
          Dst:             sieve_binary_read_string
        - Src:             'testsuite-substitutions.c:193,6'
          Dst:             str_c
        - Src:             'testsuite-substitutions.c:191,3'
          Dst:             sieve_code_dumpf
        - Src:             'testsuite-substitutions.c:196,32'
          Dst:             str_c
        - Src:             'testsuite-substitutions.c:195,3'
          Dst:             sieve_code_dumpf
    - functionName:    opr_substitution_read_value
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-substitutions.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          97
      EdgeCount:       22
      CyclomaticComplexity: 8
      functionsReached:
        - sieve_binary_read_string
        - sieve_binary_read_unsigned
        - str_c
        - testsuite_substitution_get
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-substitutions.c:210,7'
          Dst:             sieve_binary_read_unsigned
        - Src:             'testsuite-substitutions.c:213,9'
          Dst:             testsuite_substitution_get
        - Src:             'testsuite-substitutions.c:221,8'
          Dst:             sieve_binary_read_string
        - Src:             'testsuite-substitutions.c:226,7'
          Dst:             sieve_binary_read_string
        - Src:             'testsuite-substitutions.c:228,23'
          Dst:             str_c
    - functionName:    sieve_binary_read_unsigned
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-binary.h'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sieve_binary_read_integer
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-binary.h:244,7'
          Dst:             sieve_binary_read_integer
    - functionName:    sieve_binary_read_string
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_binary_read_integer
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_binary_emit_unsigned
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-binary.h'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_binary_emit_integer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-binary.h:204,9'
          Dst:             sieve_binary_emit_integer
    - functionName:    sieve_binary_emit_integer
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_opr_substitution_emit
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-substitutions.c'
      linkageType:     externalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_binary_emit_cstring
        - sieve_binary_emit_unsigned
        - sieve_operand_emit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-substitutions.c:166,8'
          Dst:             sieve_operand_emit
        - Src:             'testsuite-substitutions.c:168,8'
          Dst:             sieve_binary_emit_unsigned
        - Src:             'testsuite-substitutions.c:169,8'
          Dst:             sieve_binary_emit_cstring
    - functionName:    sieve_operand_emit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_binary_emit_cstring
      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:    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:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/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:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/mempool.h:119,3'
          Dst:             i_panic
    - functionName:    testsuite_substitution_create
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-substitutions.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          83
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - malloc_multiply_check
        - p_malloc
        - sieve_ast_pool
        - strcasecmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-substitutions.c:58,7'
          Dst:             strcasecmp
        - Src:             'testsuite-substitutions.c:64,11'
          Dst:             sieve_ast_pool
        - Src:             'testsuite-substitutions.c:64,11'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-substitutions.c:64,11'
          Dst:             p_malloc
    - functionName:    testsuite_substitution_argument_create
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-substitutions.c'
      linkageType:     externalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          82
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - malloc_multiply_check
        - p_malloc
        - p_strdup
        - sieve_argument_create
        - sieve_ast_argument_create
        - sieve_ast_pool
        - testsuite_substitution_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-substitutions.c:106,9'
          Dst:             testsuite_substitution_create
        - Src:             'testsuite-substitutions.c:110,8'
          Dst:             sieve_ast_argument_create
        - Src:             'testsuite-substitutions.c:113,9'
          Dst:             sieve_ast_pool
        - Src:             'testsuite-substitutions.c:114,10'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-substitutions.c:114,10'
          Dst:             p_malloc
        - Src:             'testsuite-substitutions.c:116,17'
          Dst:             p_strdup
        - Src:             'testsuite-substitutions.c:118,18'
          Dst:             sieve_argument_create
    - functionName:    sieve_ast_argument_create
      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:    p_strdup
      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:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    arg_testsuite_substitution_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-substitutions.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - testsuite_opr_substitution_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-substitutions.c:132,2'
          Dst:             testsuite_opr_substitution_emit
    - functionName:    sieve_ext_variables_get_extension
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/plugins/variables/sieve-ext-variables.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_extension_register
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/plugins/variables/sieve-ext-variables.h:35,9'
          Dst:             sieve_extension_register
    - functionName:    testsuite_variables_init
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-variables.c'
      linkageType:     externalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - sieve_ext_variables_get_extension
        - sieve_variables_namespace_register
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-variables.c:184,8'
          Dst:             sieve_ext_variables_get_extension
        - Src:             'testsuite-variables.c:186,2'
          Dst:             i_panic
        - Src:             'testsuite-variables.c:188,2'
          Dst:             sieve_variables_namespace_register
    - functionName:    sieve_variables_namespace_register
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_varnamespace_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-variables.c'
      linkageType:     externalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      bool
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          129
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - array_count_i
        - array_idx_i
        - p_strdup
        - sieve_ast_pool
        - sieve_validator_error
        - str_c
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-variables.c:73,6'
          Dst:             array_count_i
        - Src:             'testsuite-variables.c:74,3'
          Dst:             sieve_validator_error
        - Src:             'testsuite-variables.c:80,17'
          Dst:             array_idx_i
        - Src:             'testsuite-variables.c:82,3'
          Dst:             sieve_validator_error
        - Src:             'testsuite-variables.c:88,13'
          Dst:             str_c
        - Src:             'testsuite-variables.c:90,3'
          Dst:             sieve_validator_error
        - Src:             'testsuite-variables.c:96,23'
          Dst:             sieve_ast_pool
        - Src:             'testsuite-variables.c:96,14'
          Dst:             p_strdup
    - functionName:    testsuite_varnamespace_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-variables.c'
      linkageType:     externalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_binary_emit_cstring
        - sieve_variables_opr_namespace_variable_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-variables.c:112,2'
          Dst:             sieve_variables_opr_namespace_variable_emit
        - Src:             'testsuite-variables.c:115,2'
          Dst:             sieve_binary_emit_cstring
    - functionName:    testsuite_varnamespace_dump_variable
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-variables.c'
      linkageType:     externalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sieve_binary_read_string
        - sieve_code_dumpf
        - str_c
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-variables.c:127,7'
          Dst:             sieve_binary_read_string
        - Src:             'testsuite-variables.c:132,25'
          Dst:             str_c
        - Src:             'testsuite-variables.c:131,3'
          Dst:             sieve_code_dumpf
        - Src:             'testsuite-variables.c:134,43'
          Dst:             str_c
        - Src:             'testsuite-variables.c:134,3'
          Dst:             sieve_code_dumpf
    - functionName:    testsuite_varnamespace_read_variable
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-variables.c'
      linkageType:     externalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - sieve_binary_read_string
        - sieve_runtime_trace_operand_error
        - str_c
        - strcmp
        - strlen
        - t_str_new_const
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-variables.c:147,7'
          Dst:             sieve_binary_read_string
        - Src:             'testsuite-variables.c:148,3'
          Dst:             sieve_runtime_trace_operand_error
        - Src:             'testsuite-variables.c:154,14'
          Dst:             str_c
        - Src:             'testsuite-variables.c:154,7'
          Dst:             strcmp
        - Src:             'testsuite-variables.c:156,8'
          Dst:             strlen
        - Src:             'testsuite-variables.c:155,13'
          Dst:             t_str_new_const
        - Src:             'testsuite-variables.c:158,13'
          Dst:             t_str_new_const
    - functionName:    sieve_runtime_trace_operand_error
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _sieve_runtime_trace_operand_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:88,3'
          Dst:             _sieve_runtime_trace_operand_error
    - 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:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    t_str_new_const
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _sieve_runtime_trace_operand_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_variables_opr_namespace_variable_emit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      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:
        - ''
      BBCount:         1
      ICount:          17
      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:
        - ''
        - ''
      BBCount:         7
      ICount:          61
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/array.h:275,2'
          Dst:             i_panic
    - 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:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/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:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_c
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/str.h:44,2'
          Dst:             buffer_append_c
    - 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:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_set_used_size
        - str_len
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/str.h:90,6'
          Dst:             str_len
        - Src:             'dovecot/src/lib/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:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - 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:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    arg_testsuite_string_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-arguments.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          459
      EdgeCount:       88
      CyclomaticComplexity: 20
      functionsReached:
        - __ctype_b_loc
        - i_panic
        - sieve_arg_catenated_string_add_element
        - sieve_arg_catenated_string_create
        - sieve_ast_argument_string_create_raw
        - sieve_ast_pool
        - sieve_validator_argument_activate_super
        - sieve_validator_error
        - str_append_c
        - str_append_data
        - str_c
        - str_data
        - str_len
        - str_new
        - str_truncate
        - t_pop
        - t_push
        - t_str_new
        - testsuite_substitution_argument_create
      functionUses:    0
      BranchProfiles:
        - Branch String:   'testsuite-arguments.c:59,4'
          Branch Sides:    []
      Callsites:
        - Src:             'testsuite-arguments.c:43,16'
          Dst:             sieve_ast_pool
        - Src:             'testsuite-arguments.c:47,38'
          Dst:             str_data
        - Src:             'testsuite-arguments.c:48,32'
          Dst:             str_len
        - Src:             'testsuite-arguments.c:50,24'
          Dst:             t_str_new
        - Src:             'testsuite-arguments.c:51,25'
          Dst:             t_str_new
        - Src:             'testsuite-arguments.c:53,2'
          Dst:             t_push
        - Src:             'testsuite-arguments.c:66,6'
          Dst:             str_truncate
        - Src:             'testsuite-arguments.c:67,6'
          Dst:             str_truncate
        - Src:             'testsuite-arguments.c:86,12'
          Dst:             __ctype_b_loc
        - Src:             'testsuite-arguments.c:90,6'
          Dst:             str_append_c
        - Src:             'testsuite-arguments.c:100,7'
          Dst:             str_append_c
        - Src:             'testsuite-arguments.c:115,16'
          Dst:             sieve_arg_catenated_string_create
        - Src:             'testsuite-arguments.c:122,26'
          Dst:             str_new
        - Src:             'testsuite-arguments.c:123,7'
          Dst:             str_append_data
        - Src:             'testsuite-arguments.c:125,16'
          Dst:             sieve_ast_argument_string_create_raw
        - Src:             'testsuite-arguments.c:127,7'
          Dst:             sieve_arg_catenated_string_add_element
        - Src:             'testsuite-arguments.c:130,13'
          Dst:             sieve_validator_argument_activate_super
        - Src:             'testsuite-arguments.c:138,50'
          Dst:             str_c
        - Src:             'testsuite-arguments.c:139,8'
          Dst:             str_c
        - Src:             'testsuite-arguments.c:137,15'
          Dst:             testsuite_substitution_argument_create
        - Src:             'testsuite-arguments.c:142,7'
          Dst:             sieve_arg_catenated_string_add_element
        - Src:             'testsuite-arguments.c:144,7'
          Dst:             str_c
        - Src:             'testsuite-arguments.c:144,7'
          Dst:             sieve_validator_error
        - Src:             'testsuite-arguments.c:158,4'
          Dst:             t_pop
        - Src:             'testsuite-arguments.c:158,4'
          Dst:             i_panic
        - Src:             'testsuite-arguments.c:168,10'
          Dst:             sieve_validator_argument_activate_super
        - Src:             'testsuite-arguments.c:176,22'
          Dst:             str_new
        - Src:             'testsuite-arguments.c:177,3'
          Dst:             str_append_data
        - Src:             'testsuite-arguments.c:179,12'
          Dst:             sieve_ast_argument_string_create_raw
        - Src:             'testsuite-arguments.c:181,3'
          Dst:             sieve_arg_catenated_string_add_element
        - Src:             'testsuite-arguments.c:184,9'
          Dst:             sieve_validator_argument_activate_super
    - functionName:    t_push
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - 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:    sieve_arg_catenated_string_create
      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:    sieve_ast_argument_string_create_raw
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_arg_catenated_string_add_element
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_validator_argument_activate_super
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    t_pop
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_arg_catenated_string_generate
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_message_get_address
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          83
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - mail_get_first_header
        - message_address_parse
        - pool_datastack_create
        - smtp_address_create_from_msg_temp
        - strlen
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:62,6'
          Dst:             mail_get_first_header
        - Src:             'testsuite-message.c:64,31'
          Dst:             pool_datastack_create
        - Src:             'testsuite-message.c:66,10'
          Dst:             strlen
        - Src:             'testsuite-message.c:64,9'
          Dst:             message_address_parse
        - Src:             'testsuite-message.c:69,6'
          Dst:             smtp_address_create_from_msg_temp
    - functionName:    mail_get_first_header
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pool_datastack_create
      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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    message_address_parse
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    smtp_address_create_from_msg_temp
      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:    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:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/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:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/mempool.h:119,3'
          Dst:             i_panic
    - functionName:    testsuite_message_new
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - p_malloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:138,8'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-message.c:138,8'
          Dst:             p_malloc
    - functionName:    testsuite_envelope_set_auth_user
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 340
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          33
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_strdup
        - p_free_internal
        - sieve_message_context_reset
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:341,2'
          Dst:             sieve_message_context_reset
        - Src:             'testsuite-message.c:343,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:345,23'
          Dst:             i_strdup
    - functionName:    sieve_message_context_reset
      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:    8
      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:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_envelope_set_orig_recipient
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - e_error
        - pool_datastack_create
        - smtp_address_parse_path
        - testsuite_envelope_set_orig_recipient_address
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:327,30'
          Dst:             pool_datastack_create
        - Src:             'testsuite-message.c:327,6'
          Dst:             smtp_address_parse_path
        - Src:             'testsuite-message.c:331,3'
          Dst:             e_error
        - Src:             'testsuite-message.c:335,2'
          Dst:             testsuite_envelope_set_orig_recipient_address
    - functionName:    smtp_address_parse_path
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    e_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_envelope_set_orig_recipient_address
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          34
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
        - sieve_message_context_reset
        - smtp_address_clone
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:313,2'
          Dst:             sieve_message_context_reset
        - Src:             'testsuite-message.c:315,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:317,31'
          Dst:             smtp_address_clone
    - functionName:    smtp_address_clone
      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:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_envelope_set_recipient
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 307
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - e_error
        - pool_datastack_create
        - smtp_address_parse_path
        - testsuite_envelope_set_recipient_address
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:298,30'
          Dst:             pool_datastack_create
        - Src:             'testsuite-message.c:298,6'
          Dst:             smtp_address_parse_path
        - Src:             'testsuite-message.c:302,3'
          Dst:             e_error
        - Src:             'testsuite-message.c:306,2'
          Dst:             testsuite_envelope_set_recipient_address
    - functionName:    testsuite_envelope_set_recipient_address
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
        - sieve_message_context_reset
        - smtp_address_clone
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:281,2'
          Dst:             sieve_message_context_reset
        - Src:             'testsuite-message.c:283,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:284,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:286,26'
          Dst:             smtp_address_clone
        - Src:             'testsuite-message.c:287,31'
          Dst:             smtp_address_clone
    - functionName:    testsuite_envelope_set_sender
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - e_error
        - pool_datastack_create
        - smtp_address_parse_path
        - testsuite_envelope_set_sender_address
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:266,30'
          Dst:             pool_datastack_create
        - Src:             'testsuite-message.c:266,6'
          Dst:             smtp_address_parse_path
        - Src:             'testsuite-message.c:270,3'
          Dst:             e_error
        - Src:             'testsuite-message.c:274,2'
          Dst:             testsuite_envelope_set_sender_address
    - functionName:    testsuite_envelope_set_sender_address
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          34
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
        - sieve_message_context_reset
        - smtp_address_clone
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:252,2'
          Dst:             sieve_message_context_reset
        - Src:             'testsuite-message.c:254,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:256,28'
          Dst:             smtp_address_clone
    - 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:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_message_deinit
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          46
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - p_free_internal
        - pool_unref
        - testsuite_message_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:239,2'
          Dst:             testsuite_message_free
        - Src:             'testsuite-message.c:241,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:242,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:243,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:244,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:245,2'
          Dst:             pool_unref
        - Src:             'testsuite-message.c:246,2'
          Dst:             p_free_internal
    - functionName:    testsuite_message_free
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - bool
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          78
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - mail_raw_close
        - p_free_internal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:180,3'
          Dst:             mail_raw_close
        - Src:             'testsuite-message.c:181,3'
          Dst:             p_free_internal
    - functionName:    mail_raw_close
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_message_set_data
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         28
      ICount:          153
      EdgeCount:       33
      CyclomaticComplexity: 7
      functionsReached:
        - i_strdup
        - mail_get_message_id
        - p_free_internal
        - sieve_tool_get_username
        - smtp_address_clone
        - testsuite_message_get_address
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:88,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:89,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:90,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:91,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:92,2'
          Dst:             p_free_internal
        - Src:             'testsuite-message.c:99,14'
          Dst:             testsuite_message_get_address
        - Src:             'testsuite-message.c:101,15'
          Dst:             testsuite_message_get_address
        - Src:             'testsuite-message.c:106,11'
          Dst:             testsuite_message_get_address
        - Src:             'testsuite-message.c:108,12'
          Dst:             testsuite_message_get_address
        - Src:             'testsuite-message.c:110,12'
          Dst:             testsuite_message_get_address
        - Src:             'testsuite-message.c:114,28'
          Dst:             smtp_address_clone
        - Src:             'testsuite-message.c:115,26'
          Dst:             smtp_address_clone
        - Src:             'testsuite-message.c:116,31'
          Dst:             smtp_address_clone
        - Src:             'testsuite-message.c:118,8'
          Dst:             mail_get_message_id
        - Src:             'testsuite-message.c:119,21'
          Dst:             i_strdup
        - Src:             'testsuite-message.c:123,32'
          Dst:             sieve_tool_get_username
    - functionName:    mail_get_message_id
      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:    testsuite_message_set_mail
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_message_context_reset
        - testsuite_message_set_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:232,2'
          Dst:             sieve_message_context_reset
        - Src:             'testsuite-message.c:234,2'
          Dst:             testsuite_message_set_data
    - functionName:    testsuite_message_new_file
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mail_raw_open_file
        - sieve_tool_get_mail_raw_user
        - testsuite_message_new
        - testsuite_message_set_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:160,3'
          Dst:             sieve_tool_get_mail_raw_user
        - Src:             'testsuite-message.c:163,8'
          Dst:             testsuite_message_new
        - Src:             'testsuite-message.c:164,18'
          Dst:             mail_raw_open_file
        - Src:             'testsuite-message.c:166,2'
          Dst:             testsuite_message_set_data
    - functionName:    mail_raw_open_file
      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:    testsuite_message_set_file
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_message_context_reset
        - testsuite_message_new_file
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:224,2'
          Dst:             sieve_message_context_reset
        - Src:             'testsuite-message.c:226,2'
          Dst:             testsuite_message_new_file
    - functionName:    testsuite_message_set_string
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_message_context_reset
        - testsuite_message_new_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:216,2'
          Dst:             sieve_message_context_reset
        - Src:             'testsuite-message.c:218,2'
          Dst:             testsuite_message_new_string
    - functionName:    testsuite_message_new_string
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mail_raw_open_data
        - sieve_tool_get_mail_raw_user
        - testsuite_message_new
        - testsuite_message_set_data
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:148,3'
          Dst:             sieve_tool_get_mail_raw_user
        - Src:             'testsuite-message.c:151,8'
          Dst:             testsuite_message_new
        - Src:             'testsuite-message.c:152,18'
          Dst:             mail_raw_open_data
        - Src:             'testsuite-message.c:154,2'
          Dst:             testsuite_message_set_data
    - functionName:    mail_raw_open_data
      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:    testsuite_message_set_default
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_message_context_reset
        - testsuite_message_new_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:208,2'
          Dst:             sieve_message_context_reset
        - Src:             'testsuite-message.c:210,2'
          Dst:             testsuite_message_new_string
    - 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:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/str.h:35,27'
          Dst:             strlen
        - Src:             'dovecot/src/lib/str.h:35,2'
          Dst:             buffer_append
    - functionName:    testsuite_message_init
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pool_alloconly_create
        - str_append
        - str_new
        - testsuite_message_new_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:198,23'
          Dst:             pool_alloconly_create
        - Src:             'testsuite-message.c:200,26'
          Dst:             str_new
        - Src:             'testsuite-message.c:201,2'
          Dst:             str_append
        - Src:             'testsuite-message.c:203,2'
          Dst:             testsuite_message_new_string
    - functionName:    pool_alloconly_create
      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:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_message_flush
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-message.c'
      linkageType:     externalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - testsuite_message_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-message.c:193,2'
          Dst:             testsuite_message_free
    - 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:
        - ''
        - ''
      BBCount:         7
      ICount:          61
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/array.h:275,2'
          Dst:             i_panic
    - functionName:    _testsuite_main_log
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _testsuite_log
        - fprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-log.c:107,10'
          Dst:             _testsuite_log
        - Src:             'testsuite-log.c:110,3'
          Dst:             fprintf
        - Src:             'testsuite-log.c:112,3'
          Dst:             fprintf
    - functionName:    _testsuite_log
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          101
      EdgeCount:       26
      CyclomaticComplexity: 13
      functionsReached:
        - _testsuite_stdout_log
        - array_append_i
        - i_unreached
        - p_strdup
      functionUses:    2
      BranchProfiles:
        - Branch String:   'testsuite-log.c:62,2'
          Branch Sides:    []
        - Branch String:   'testsuite-log.c:84,2'
          Branch Sides:    []
      Callsites:
        - Src:             'testsuite-log.c:76,3'
          Dst:             i_unreached
        - Src:             'testsuite-log.c:79,2'
          Dst:             _testsuite_stdout_log
        - Src:             'testsuite-log.c:81,17'
          Dst:             p_strdup
        - Src:             'testsuite-log.c:82,16'
          Dst:             p_strdup
        - Src:             'testsuite-log.c:86,3'
          Dst:             array_append_i
        - Src:             'testsuite-log.c:89,3'
          Dst:             array_append_i
        - Src:             'testsuite-log.c:92,3'
          Dst:             array_append_i
        - Src:             'testsuite-log.c:97,3'
          Dst:             i_unreached
    - functionName:    fprintf
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_unreached
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _testsuite_stdout_log
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          62
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - fprintf
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-log.c:44,4'
          Dst:             fprintf
        - Src:             'testsuite-log.c:47,4'
          Dst:             fprintf
    - 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:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/array.h:212,2'
          Dst:             buffer_append
    - 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:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/mempool.h:119,3'
          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:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_log_stringlist_reset
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_log_stringlist_next_item
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          94
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - array_count_i
        - array_idx_i
        - strlen
        - t_str_new_const
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-log.c:302,19'
          Dst:             array_count_i
        - Src:             'testsuite-log.c:307,8'
          Dst:             array_idx_i
        - Src:             'testsuite-log.c:309,41'
          Dst:             strlen
        - Src:             'testsuite-log.c:309,11'
          Dst:             t_str_new_const
    - 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:
        - ''
      BBCount:         1
      ICount:          17
      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:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    testsuite_log_stringlist_create
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-log.c'
      linkageType:     externalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - t_malloc0
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-log.c:269,12'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-log.c:269,12'
          Dst:             t_malloc0
    - functionName:    t_malloc0
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_log_deinit
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-log.c'
      linkageType:     externalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - default_error_handler
        - i_set_debug_handler
        - i_set_error_handler
        - i_set_info_handler
        - pool_unref
        - sieve_error_handler_unref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-log.c:234,2'
          Dst:             sieve_error_handler_unref
        - Src:             'testsuite-log.c:235,2'
          Dst:             sieve_error_handler_unref
        - Src:             'testsuite-log.c:237,2'
          Dst:             i_set_error_handler
        - Src:             'testsuite-log.c:237,2'
          Dst:             default_error_handler
        - Src:             'testsuite-log.c:238,2'
          Dst:             i_set_info_handler
        - Src:             'testsuite-log.c:238,2'
          Dst:             default_error_handler
        - Src:             'testsuite-log.c:239,2'
          Dst:             i_set_debug_handler
        - Src:             'testsuite-log.c:239,2'
          Dst:             default_error_handler
        - Src:             'testsuite-log.c:241,2'
          Dst:             pool_unref
    - functionName:    sieve_error_handler_unref
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    default_error_handler
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_set_error_handler
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_set_info_handler
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_set_debug_handler
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - 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:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_error_handler
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          108
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached:
        - _testsuite_stdout_log
        - array_append_i
        - default_error_handler
        - i_panic
        - p_strdup_vprintf
        - t_pop
        - t_push
        - t_strdup_vprintf
      functionUses:    3
      BranchProfiles:
        - Branch String:   'testsuite-log.c:156,2'
          Branch Sides:    []
      Callsites:
        - Src:             'testsuite-log.c:158,3'
          Dst:             t_push
        - Src:             'testsuite-log.c:160,12'
          Dst:             t_strdup_vprintf
        - Src:             'testsuite-log.c:159,4'
          Dst:             _testsuite_stdout_log
        - Src:             'testsuite-log.c:161,5'
          Dst:             t_pop
        - Src:             'testsuite-log.c:161,5'
          Dst:             i_panic
        - Src:             'testsuite-log.c:164,17'
          Dst:             p_strdup_vprintf
        - Src:             'testsuite-log.c:165,3'
          Dst:             array_append_i
        - Src:             'testsuite-log.c:167,3'
          Dst:             _testsuite_stdout_log
        - Src:             'testsuite-log.c:170,17'
          Dst:             p_strdup_vprintf
        - Src:             'testsuite-log.c:171,3'
          Dst:             array_append_i
        - Src:             'testsuite-log.c:173,3'
          Dst:             _testsuite_stdout_log
        - Src:             'testsuite-log.c:176,17'
          Dst:             p_strdup_vprintf
        - Src:             'testsuite-log.c:177,3'
          Dst:             array_append_i
        - Src:             'testsuite-log.c:179,3'
          Dst:             _testsuite_stdout_log
        - Src:             'testsuite-log.c:182,3'
          Dst:             default_error_handler
    - functionName:    p_strdup_vprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _testsuite_log_main_ehandler_create
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - p_malloc
        - pool_alloconly_create
        - sieve_error_handler_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-log.c:135,9'
          Dst:             pool_alloconly_create
        - Src:             'testsuite-log.c:137,13'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-log.c:137,13'
          Dst:             p_malloc
        - Src:             'testsuite-log.c:138,2'
          Dst:             sieve_error_handler_init
    - functionName:    sieve_error_handler_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _testsuite_log_ehandler_create
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - p_malloc
        - pool_alloconly_create
        - sieve_error_handler_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-log.c:120,9'
          Dst:             pool_alloconly_create
        - Src:             'testsuite-log.c:122,13'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-log.c:122,13'
          Dst:             p_malloc
        - Src:             'testsuite-log.c:123,2'
          Dst:             sieve_error_handler_init
    - functionName:    testsuite_log_init
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-log.c'
      linkageType:     externalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - bool
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _testsuite_log_ehandler_create
        - _testsuite_log_main_ehandler_create
        - i_set_debug_handler
        - i_set_error_handler
        - i_set_info_handler
        - sieve_error_handler_accept_debuglog
        - sieve_error_handler_accept_infolog
        - testsuite_error_handler
        - testsuite_log_clear_messages
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-log.c:217,27'
          Dst:             _testsuite_log_ehandler_create
        - Src:             'testsuite-log.c:218,2'
          Dst:             sieve_error_handler_accept_infolog
        - Src:             'testsuite-log.c:219,2'
          Dst:             sieve_error_handler_accept_debuglog
        - Src:             'testsuite-log.c:221,32'
          Dst:             _testsuite_log_main_ehandler_create
        - Src:             'testsuite-log.c:222,2'
          Dst:             sieve_error_handler_accept_infolog
        - Src:             'testsuite-log.c:223,2'
          Dst:             sieve_error_handler_accept_debuglog
        - Src:             'testsuite-log.c:225,2'
          Dst:             i_set_error_handler
        - Src:             'testsuite-log.c:225,2'
          Dst:             testsuite_error_handler
        - Src:             'testsuite-log.c:226,2'
          Dst:             i_set_info_handler
        - Src:             'testsuite-log.c:226,2'
          Dst:             testsuite_error_handler
        - Src:             'testsuite-log.c:227,2'
          Dst:             i_set_debug_handler
        - Src:             'testsuite-log.c:227,2'
          Dst:             testsuite_error_handler
        - Src:             'testsuite-log.c:229,2'
          Dst:             testsuite_log_clear_messages
    - functionName:    sieve_error_handler_accept_infolog
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_error_handler_accept_debuglog
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_log_clear_messages
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-log.c'
      linkageType:     externalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          42
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - array_count_i
        - array_create_i
        - pool_alloconly_create
        - pool_unref
        - sieve_error_handler_reset
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-log.c:194,7'
          Dst:             array_count_i
        - Src:             'testsuite-log.c:196,3'
          Dst:             pool_unref
        - Src:             'testsuite-log.c:200,3'
          Dst:             pool_alloconly_create
        - Src:             'testsuite-log.c:202,2'
          Dst:             array_create_i
        - Src:             'testsuite-log.c:203,2'
          Dst:             array_create_i
        - Src:             'testsuite-log.c:204,2'
          Dst:             array_create_i
        - Src:             'testsuite-log.c:206,2'
          Dst:             sieve_error_handler_reset
    - 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:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             'dovecot/src/lib/array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    sieve_error_handler_reset
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    buffer_create_dynamic_max
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      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:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    _sieve_runtime_trace
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      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:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/array.h:253,13'
          Dst:             array_count_i
    - functionName:    testsuite_script_multiscript
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-script.c'
      linkageType:     externalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          178
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - _testsuite_script_compile
        - array_get_i
        - sieve_close
        - sieve_multiscript_finish
        - sieve_multiscript_run
        - sieve_multiscript_start_execute
        - sieve_runtime_error
        - sieve_runtime_trace
        - sieve_script_env_init
        - testsuite_log_clear_messages
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-script.c:268,2'
          Dst:             testsuite_log_clear_messages
        - Src:             'testsuite-script.c:271,6'
          Dst:             sieve_script_env_init
        - Src:             'testsuite-script.c:272,3'
          Dst:             sieve_runtime_error
        - Src:             'testsuite-script.c:291,12'
          Dst:             sieve_multiscript_start_execute
        - Src:             'testsuite-script.c:296,12'
          Dst:             array_get_i
        - Src:             'testsuite-script.c:302,10'
          Dst:             _testsuite_script_compile
        - Src:             'testsuite-script.c:310,3'
          Dst:             sieve_runtime_trace
        - Src:             'testsuite-script.c:313,10'
          Dst:             sieve_multiscript_run
        - Src:             'testsuite-script.c:317,3'
          Dst:             sieve_close
        - Src:             'testsuite-script.c:320,10'
          Dst:             sieve_multiscript_finish
    - functionName:    sieve_script_env_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_multiscript_start_execute
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _testsuite_script_compile
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-script.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          98
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - settings_instance_find
        - settings_override
        - sieve_compile
        - sieve_file_script_get_dir_path
        - sieve_runtime_trace
        - t_strconcat
        - t_strdup_printf
        - testsuite_script_get_name
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-script.c:72,2'
          Dst:             sieve_runtime_trace
        - Src:             'testsuite-script.c:75,16'
          Dst:             sieve_file_script_get_dir_path
        - Src:             'testsuite-script.c:79,16'
          Dst:             t_strconcat
        - Src:             'testsuite-script.c:81,29'
          Dst:             t_strdup_printf
        - Src:             'testsuite-script.c:83,28'
          Dst:             testsuite_script_get_name
        - Src:             'testsuite-script.c:86,3'
          Dst:             settings_instance_find
        - Src:             'testsuite-script.c:87,2'
          Dst:             settings_override
        - Src:             'testsuite-script.c:90,6'
          Dst:             t_strdup_printf
        - Src:             'testsuite-script.c:89,2'
          Dst:             settings_override
        - Src:             'testsuite-script.c:95,6'
          Dst:             t_strdup_printf
        - Src:             'testsuite-script.c:94,2'
          Dst:             settings_override
        - Src:             'testsuite-script.c:99,6'
          Dst:             t_strdup_printf
        - Src:             'testsuite-script.c:98,2'
          Dst:             settings_override
        - Src:             'testsuite-script.c:103,6'
          Dst:             t_strdup_printf
        - Src:             'testsuite-script.c:102,2'
          Dst:             settings_override
        - Src:             'testsuite-script.c:107,6'
          Dst:             sieve_compile
    - functionName:    sieve_multiscript_run
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_close
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_multiscript_finish
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_file_script_get_dir_path
      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:    t_strconcat
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_script_get_name
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-script.c'
      linkageType:     externalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          67
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - path_get_filename
        - strcmp
        - strrchr
        - t_strdup_until
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-script.c:51,9'
          Dst:             path_get_filename
        - Src:             'testsuite-script.c:54,8'
          Dst:             strrchr
        - Src:             'testsuite-script.c:56,7'
          Dst:             strcmp
        - Src:             'testsuite-script.c:57,7'
          Dst:             strcmp
        - Src:             'testsuite-script.c:60,9'
          Dst:             t_strdup_until
    - functionName:    settings_instance_find
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    settings_override
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_compile
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    path_get_filename
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-script.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-script.c:39,13'
          Dst:             strrchr
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_script_set_binary
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-script.c'
      linkageType:     externalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - sieve_binary_ref
        - sieve_binary_unref
        - testsuite_interpreter_context_get
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-script.c:239,3'
          Dst:             testsuite_interpreter_context_get
        - Src:             'testsuite-script.c:241,2'
          Dst:             i_panic
        - Src:             'testsuite-script.c:243,2'
          Dst:             sieve_binary_unref
        - Src:             'testsuite-script.c:246,2'
          Dst:             sieve_binary_ref
    - functionName:    sieve_binary_ref
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_script_get_binary
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-script.c'
      linkageType:     externalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - testsuite_interpreter_context_get
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-script.c:229,3'
          Dst:             testsuite_interpreter_context_get
        - Src:             'testsuite-script.c:231,2'
          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:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_script_run
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-script.c'
      linkageType:     externalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          190
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - i_panic
        - pool_alloconly_create
        - pool_unref
        - sieve_binary_extension_get_index
        - sieve_execute_deinit
        - sieve_execute_finish
        - sieve_execute_init
        - sieve_interpreter_create
        - sieve_interpreter_free
        - sieve_interpreter_run
        - sieve_runtime_error
        - sieve_script_env_init
        - testsuite_interpreter_context_get
        - testsuite_log_clear_messages
        - testsuite_result_get
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-script.c:153,3'
          Dst:             testsuite_interpreter_context_get
        - Src:             'testsuite-script.c:164,2'
          Dst:             i_panic
        - Src:             'testsuite-script.c:167,3'
          Dst:             sieve_runtime_error
        - Src:             'testsuite-script.c:172,2'
          Dst:             testsuite_log_clear_messages
        - Src:             'testsuite-script.c:177,6'
          Dst:             sieve_script_env_init
        - Src:             'testsuite-script.c:178,3'
          Dst:             sieve_runtime_error
        - Src:             'testsuite-script.c:193,11'
          Dst:             testsuite_result_get
        - Src:             'testsuite-script.c:195,9'
          Dst:             pool_alloconly_create
        - Src:             'testsuite-script.c:196,2'
          Dst:             sieve_execute_init
        - Src:             'testsuite-script.c:198,2'
          Dst:             pool_unref
        - Src:             'testsuite-script.c:201,11'
          Dst:             sieve_interpreter_create
        - Src:             'testsuite-script.c:205,3'
          Dst:             sieve_execute_deinit
        - Src:             'testsuite-script.c:209,8'
          Dst:             sieve_interpreter_run
        - Src:             'testsuite-script.c:210,2'
          Dst:             sieve_interpreter_free
        - Src:             'testsuite-script.c:212,2'
          Dst:             sieve_execute_finish
        - Src:             'testsuite-script.c:213,2'
          Dst:             sieve_execute_deinit
        - Src:             'testsuite-script.c:221,3'
          Dst:             sieve_binary_extension_get_index
    - functionName:    sieve_execute_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_execute_deinit
      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:    sieve_execute_finish
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_binary_extension_get_index
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_script_is_subtest
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-script.c'
      linkageType:     externalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - sieve_binary_extension_get_index
        - testsuite_interpreter_context_get
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-script.c:138,3'
          Dst:             testsuite_interpreter_context_get
        - Src:             'testsuite-script.c:140,2'
          Dst:             i_panic
        - Src:             'testsuite-script.c:144,10'
          Dst:             sieve_binary_extension_get_index
    - functionName:    testsuite_script_compile
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-script.c'
      linkageType:     externalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          66
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - _testsuite_script_compile
        - i_panic
        - sieve_binary_unref
        - testsuite_interpreter_context_get
        - testsuite_log_clear_messages
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-script.c:119,3'
          Dst:             testsuite_interpreter_context_get
        - Src:             'testsuite-script.c:122,2'
          Dst:             i_panic
        - Src:             'testsuite-script.c:123,2'
          Dst:             testsuite_log_clear_messages
        - Src:             'testsuite-script.c:125,9'
          Dst:             _testsuite_script_compile
        - Src:             'testsuite-script.c:129,2'
          Dst:             sieve_binary_unref
    - functionName:    testsuite_script_deinit
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-script.c'
      linkageType:     externalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 33
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_script_init
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-script.c'
      linkageType:     externalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 29
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_result_stringlist_reset
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-result.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - testsuite_result_iterate_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-result.c:203,25'
          Dst:             testsuite_result_iterate_init
    - functionName:    testsuite_result_iterate_init
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-result.c'
      linkageType:     externalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_result_iterate_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-result.c:80,9'
          Dst:             sieve_result_iterate_init
    - functionName:    sieve_result_iterate_init
      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:    testsuite_result_stringlist_next_item
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-result.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          137
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - sieve_result_iterate_next
        - strlen
        - t_str_new_const
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-result.c:179,17'
          Dst:             sieve_result_iterate_next
        - Src:             'testsuite-result.c:194,37'
          Dst:             strlen
        - Src:             'testsuite-result.c:194,11'
          Dst:             t_str_new_const
    - functionName:    sieve_result_iterate_next
      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:    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:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    testsuite_result_stringlist_create
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-result.c'
      linkageType:     externalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - malloc_multiply_check
        - t_malloc0
        - testsuite_result_iterate_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-result.c:150,12'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-result.c:150,12'
          Dst:             t_malloc0
        - Src:             'testsuite-result.c:156,25'
          Dst:             testsuite_result_iterate_init
    - functionName:    testsuite_result_print
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-result.c'
      linkageType:     externalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - o_stream_create_fd
        - o_stream_destroy
        - o_stream_nsend_str
        - o_stream_set_no_error_handling
        - sieve_result_print
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-result.c:113,8'
          Dst:             o_stream_create_fd
        - Src:             'testsuite-result.c:114,2'
          Dst:             o_stream_set_no_error_handling
        - Src:             'testsuite-result.c:116,2'
          Dst:             o_stream_nsend_str
        - Src:             'testsuite-result.c:117,2'
          Dst:             sieve_result_print
        - Src:             'testsuite-result.c:118,2'
          Dst:             o_stream_nsend_str
        - Src:             'testsuite-result.c:120,2'
          Dst:             o_stream_destroy
    - functionName:    o_stream_create_fd
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_set_no_error_handling
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_nsend_str
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_result_print
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_destroy
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_result_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-result.c'
      linkageType:     externalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sieve_result_execute
        - sieve_result_execution_create
        - sieve_runtime_error
        - testsuite_log_clear_messages
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-result.c:88,3'
          Dst:             sieve_runtime_error
        - Src:             'testsuite-result.c:94,2'
          Dst:             testsuite_log_clear_messages
        - Src:             'testsuite-result.c:97,22'
          Dst:             sieve_result_execution_create
        - Src:             'testsuite-result.c:102,8'
          Dst:             sieve_result_execute
    - functionName:    sieve_result_execution_create
      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:    sieve_result_execute
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - bool
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_result_get
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-result.c'
      linkageType:     externalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_result_reset
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-result.c'
      linkageType:     externalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - pool_alloconly_create
        - pool_unref
        - sieve_interpreter_set_result
        - sieve_result_create
        - sieve_result_execution_destroy
        - sieve_result_unref
        - testsuite_mailstore_flush
        - testsuite_message_flush
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-result.c:55,3'
          Dst:             sieve_result_execution_destroy
        - Src:             'testsuite-result.c:56,3'
          Dst:             sieve_result_unref
        - Src:             'testsuite-result.c:57,3'
          Dst:             pool_unref
        - Src:             'testsuite-result.c:60,2'
          Dst:             testsuite_message_flush
        - Src:             'testsuite-result.c:61,2'
          Dst:             testsuite_mailstore_flush
        - Src:             'testsuite-result.c:64,27'
          Dst:             pool_alloconly_create
        - Src:             'testsuite-result.c:65,22'
          Dst:             sieve_result_create
        - Src:             'testsuite-result.c:67,2'
          Dst:             sieve_interpreter_set_result
    - functionName:    sieve_result_execution_destroy
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_result_unref
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - 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:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_result_create
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_interpreter_set_result
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_result_deinit
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-result.c'
      linkageType:     externalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pool_unref
        - sieve_execute_deinit
        - sieve_result_execution_destroy
        - sieve_result_unref
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-result.c:44,2'
          Dst:             sieve_result_execution_destroy
        - Src:             'testsuite-result.c:45,2'
          Dst:             sieve_result_unref
        - Src:             'testsuite-result.c:46,2'
          Dst:             sieve_execute_deinit
        - Src:             'testsuite-result.c:47,2'
          Dst:             pool_unref
    - functionName:    testsuite_result_init
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-result.c'
      linkageType:     externalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pool_alloconly_create
        - sieve_execute_init
        - sieve_result_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-result.c:32,27'
          Dst:             pool_alloconly_create
        - Src:             'testsuite-result.c:34,2'
          Dst:             sieve_execute_init
        - Src:             'testsuite-result.c:38,22'
          Dst:             sieve_result_create
    - 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:
        - ''
        - ''
        - ''
      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:
        - ''
        - ''
      BBCount:         7
      ICount:          61
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/array.h:275,2'
          Dst:             i_panic
    - functionName:    testsuite_smtp_get
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-smtp.c'
      linkageType:     externalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_count_i
        - array_idx_i
        - testsuite_envelope_set_recipient_address
        - testsuite_envelope_set_sender_address
        - testsuite_message_set_file
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-smtp.c:168,15'
          Dst:             array_count_i
        - Src:             'testsuite-smtp.c:171,13'
          Dst:             array_idx_i
        - Src:             'testsuite-smtp.c:173,2'
          Dst:             testsuite_message_set_file
        - Src:             'testsuite-smtp.c:174,2'
          Dst:             testsuite_envelope_set_sender_address
        - Src:             'testsuite-smtp.c:175,2'
          Dst:             testsuite_envelope_set_recipient_address
    - 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:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_smtp_finish
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-smtp.c'
      linkageType:     externalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          79
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - i_error
        - o_stream_finish
        - o_stream_get_error
        - o_stream_unref
        - p_free_internal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-smtp.c:147,6'
          Dst:             o_stream_finish
        - Src:             'testsuite-smtp.c:149,4'
          Dst:             o_stream_get_error
        - Src:             'testsuite-smtp.c:148,3'
          Dst:             i_error
        - Src:             'testsuite-smtp.c:152,2'
          Dst:             o_stream_unref
        - Src:             'testsuite-smtp.c:153,2'
          Dst:             p_free_internal
        - Src:             'testsuite-smtp.c:154,2'
          Dst:             p_free_internal
        - Src:             'testsuite-smtp.c:155,2'
          Dst:             p_free_internal
    - functionName:    o_stream_finish
      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:    o_stream_get_error
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_error
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_unref
      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:    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:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_smtp_abort
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-smtp.c'
      linkageType:     externalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - i_unlink
        - o_stream_ignore_last_errors
        - o_stream_unref
        - p_free_internal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-smtp.c:133,2'
          Dst:             o_stream_ignore_last_errors
        - Src:             'testsuite-smtp.c:134,2'
          Dst:             o_stream_unref
        - Src:             'testsuite-smtp.c:135,2'
          Dst:             i_unlink
        - Src:             'testsuite-smtp.c:136,2'
          Dst:             p_free_internal
        - Src:             'testsuite-smtp.c:137,2'
          Dst:             p_free_internal
        - Src:             'testsuite-smtp.c:138,2'
          Dst:             p_free_internal
    - functionName:    o_stream_ignore_last_errors
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_unlink
      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:    testsuite_smtp_send
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-smtp.c'
      linkageType:     externalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      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:
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append_space_unsafe
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/array.h:336,9'
          Dst:             buffer_append_space_unsafe
    - functionName:    buffer_append_space_unsafe
      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:    testsuite_smtp_add_rcpt
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-smtp.c'
      linkageType:     externalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          45
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_append_space_i
        - p_strdup
        - smtp_address_clone
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-smtp.c:111,8'
          Dst:             array_append_space_i
        - Src:             'testsuite-smtp.c:113,14'
          Dst:             p_strdup
        - Src:             'testsuite-smtp.c:114,23'
          Dst:             smtp_address_clone
        - Src:             'testsuite-smtp.c:116,21'
          Dst:             smtp_address_clone
    - 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:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/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:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/mempool.h:119,3'
          Dst:             i_panic
    - functionName:    testsuite_smtp_start
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-smtp.c'
      linkageType:     externalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          62
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
        - i_fatal
        - i_strdup_printf
        - malloc_multiply_check
        - o_stream_create_fd_autoclose
        - open
        - p_malloc
        - smtp_address_clone
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-smtp.c:85,28'
          Dst:             array_count_i
        - Src:             'testsuite-smtp.c:88,9'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-smtp.c:88,9'
          Dst:             p_malloc
        - Src:             'testsuite-smtp.c:90,19'
          Dst:             i_strdup_printf
        - Src:             'testsuite-smtp.c:92,20'
          Dst:             smtp_address_clone
        - Src:             'testsuite-smtp.c:94,7'
          Dst:             open
        - Src:             'testsuite-smtp.c:96,3'
          Dst:             i_fatal
        - Src:             'testsuite-smtp.c:100,17'
          Dst:             o_stream_create_fd_autoclose
    - functionName:    i_strdup_printf
      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:    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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    o_stream_create_fd_autoclose
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_smtp_reset
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-smtp.c'
      linkageType:     externalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - testsuite_smtp_deinit
        - testsuite_smtp_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-smtp.c:67,2'
          Dst:             testsuite_smtp_deinit
        - Src:             'testsuite-smtp.c:68,2'
          Dst:             testsuite_smtp_init
    - functionName:    testsuite_smtp_deinit
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-smtp.c'
      linkageType:     externalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - i_warning
        - pool_unref
        - unlink_directory
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-smtp.c:57,6'
          Dst:             unlink_directory
        - Src:             'testsuite-smtp.c:59,3'
          Dst:             i_warning
        - Src:             'testsuite-smtp.c:62,2'
          Dst:             pool_unref
    - functionName:    testsuite_smtp_init
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-smtp.c'
      linkageType:     externalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          35
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - array_create_i
        - i_fatal
        - mkdir
        - p_strconcat
        - pool_alloconly_create
        - testsuite_tmp_dir_get
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-smtp.c:40,3'
          Dst:             pool_alloconly_create
        - Src:             'testsuite-smtp.c:43,9'
          Dst:             testsuite_tmp_dir_get
        - Src:             'testsuite-smtp.c:42,23'
          Dst:             p_strconcat
        - Src:             'testsuite-smtp.c:45,6'
          Dst:             mkdir
        - Src:             'testsuite-smtp.c:46,3'
          Dst:             i_fatal
        - Src:             'testsuite-smtp.c:50,2'
          Dst:             array_create_i
    - functionName:    p_strconcat
      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:    mkdir
      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:    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:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             'dovecot/src/lib/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:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_mailstore_set_imap_metadata
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-mailstore.c'
      linkageType:     externalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 360
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          129
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - e_error
        - imap_metadata_set
        - imap_metadata_transaction_begin
        - imap_metadata_transaction_begin_server
        - imap_metadata_transaction_commit
        - imap_metadata_transaction_get_last_error
        - imap_metadata_transaction_rollback
        - imap_metadata_verify_entry_name
        - mail_namespace_find
        - mailbox_alloc
        - mailbox_free
        - str_sanitize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-mailstore.c:319,7'
          Dst:             imap_metadata_verify_entry_name
        - Src:             'testsuite-mailstore.c:320,3'
          Dst:             str_sanitize
        - Src:             'testsuite-mailstore.c:320,3'
          Dst:             e_error
        - Src:             'testsuite-mailstore.c:329,8'
          Dst:             mail_namespace_find
        - Src:             'testsuite-mailstore.c:331,9'
          Dst:             mailbox_alloc
        - Src:             'testsuite-mailstore.c:332,13'
          Dst:             imap_metadata_transaction_begin
        - Src:             'testsuite-mailstore.c:335,13'
          Dst:             imap_metadata_transaction_begin_server
        - Src:             'testsuite-mailstore.c:341,13'
          Dst:             imap_metadata_set
        - Src:             'testsuite-mailstore.c:342,11'
          Dst:             imap_metadata_transaction_get_last_error
        - Src:             'testsuite-mailstore.c:344,3'
          Dst:             imap_metadata_transaction_rollback
        - Src:             'testsuite-mailstore.c:346,9'
          Dst:             imap_metadata_transaction_commit
        - Src:             'testsuite-mailstore.c:350,3'
          Dst:             mailbox_free
        - Src:             'testsuite-mailstore.c:353,3'
          Dst:             str_sanitize
        - Src:             'testsuite-mailstore.c:353,3'
          Dst:             e_error
    - functionName:    imap_metadata_verify_entry_name
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_sanitize
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mail_namespace_find
      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:    mailbox_alloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    imap_metadata_transaction_begin
      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:    imap_metadata_transaction_begin_server
      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:    imap_metadata_set
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    imap_metadata_transaction_get_last_error
      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:    imap_metadata_transaction_rollback
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    imap_metadata_transaction_commit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mailbox_free
      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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_mailstore_open
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-mailstore.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          191
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - e_error
        - i_strdup
        - mail_alloc
        - mailbox_alloc
        - mailbox_free
        - mailbox_open
        - mailbox_sync
        - mailbox_transaction_begin
        - malloc_multiply_check
        - p_malloc
        - sieve_mailbox_check_name
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-mailstore.c:189,7'
          Dst:             sieve_mailbox_check_name
        - Src:             'testsuite-mailstore.c:190,3'
          Dst:             e_error
        - Src:             'testsuite-mailstore.c:199,7'
          Dst:             strcmp
        - Src:             'testsuite-mailstore.c:218,8'
          Dst:             mailbox_alloc
        - Src:             'testsuite-mailstore.c:219,6'
          Dst:             mailbox_open
        - Src:             'testsuite-mailstore.c:220,3'
          Dst:             e_error
        - Src:             'testsuite-mailstore.c:222,3'
          Dst:             mailbox_free
        - Src:             'testsuite-mailstore.c:228,6'
          Dst:             mailbox_sync
        - Src:             'testsuite-mailstore.c:229,3'
          Dst:             e_error
        - Src:             'testsuite-mailstore.c:231,3'
          Dst:             mailbox_free
        - Src:             'testsuite-mailstore.c:237,6'
          Dst:             mailbox_transaction_begin
        - Src:             'testsuite-mailstore.c:239,10'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-mailstore.c:239,10'
          Dst:             p_malloc
        - Src:             'testsuite-mailstore.c:243,18'
          Dst:             i_strdup
        - Src:             'testsuite-mailstore.c:246,16'
          Dst:             mail_alloc
    - functionName:    sieve_mailbox_check_name
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mailbox_open
      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:    mailbox_sync
      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:    mailbox_transaction_begin
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      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:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/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:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/mempool.h:119,3'
          Dst:             i_panic
    - functionName:    mail_alloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_mailstore_mail_index
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-mailstore.c'
      linkageType:     externalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - mail_set_seq
        - mailbox_get_open_status
        - testsuite_mailstore_open
        - testsuite_message_set_default
        - testsuite_message_set_mail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-mailstore.c:288,10'
          Dst:             testsuite_mailstore_open
        - Src:             'testsuite-mailstore.c:290,3'
          Dst:             testsuite_message_set_default
        - Src:             'testsuite-mailstore.c:294,2'
          Dst:             mailbox_get_open_status
        - Src:             'testsuite-mailstore.c:298,2'
          Dst:             mail_set_seq
        - Src:             'testsuite-mailstore.c:299,2'
          Dst:             testsuite_message_set_mail
    - functionName:    mailbox_get_open_status
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mail_set_seq
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_mailstore_flush
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-mailstore.c'
      linkageType:     externalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - testsuite_mailstore_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-mailstore.c:279,2'
          Dst:             testsuite_mailstore_free
    - functionName:    testsuite_mailstore_free
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-mailstore.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - bool
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          94
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - mail_free
        - mailbox_free
        - mailbox_transaction_rollback
        - p_free_internal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-mailstore.c:263,3'
          Dst:             mail_free
        - Src:             'testsuite-mailstore.c:264,3'
          Dst:             mailbox_transaction_rollback
        - Src:             'testsuite-mailstore.c:265,3'
          Dst:             mailbox_free
        - Src:             'testsuite-mailstore.c:266,3'
          Dst:             p_free_internal
        - Src:             'testsuite-mailstore.c:267,3'
          Dst:             p_free_internal
    - functionName:    mail_free
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mailbox_transaction_rollback
      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:    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:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_mailstore_mailbox_create
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-mailstore.c'
      linkageType:     externalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mailbox_alloc
        - mailbox_create
        - mailbox_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-mailstore.c:165,8'
          Dst:             mailbox_alloc
        - Src:             'testsuite-mailstore.c:167,6'
          Dst:             mailbox_create
        - Src:             'testsuite-mailstore.c:168,3'
          Dst:             mailbox_free
        - Src:             'testsuite-mailstore.c:172,2'
          Dst:             mailbox_free
    - functionName:    mailbox_create
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_mailstore_get_user
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-mailstore.c'
      linkageType:     externalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_tool_get_mail_user
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-mailstore.c:150,10'
          Dst:             sieve_tool_get_mail_user
    - functionName:    testsuite_mailstore_deinit
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-mailstore.c'
      linkageType:     externalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          45
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_warning
        - mail_user_unref
        - p_free_internal
        - testsuite_mailstore_free
        - unlink_directory
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-mailstore.c:130,2'
          Dst:             testsuite_mailstore_free
        - Src:             'testsuite-mailstore.c:132,6'
          Dst:             unlink_directory
        - Src:             'testsuite-mailstore.c:134,3'
          Dst:             i_warning
        - Src:             'testsuite-mailstore.c:138,2'
          Dst:             p_free_internal
        - Src:             'testsuite-mailstore.c:139,2'
          Dst:             p_free_internal
        - Src:             'testsuite-mailstore.c:140,2'
          Dst:             mail_user_unref
    - functionName:    mail_user_unref
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_mailstore_init
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-mailstore.c'
      linkageType:     externalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          176
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - i_fatal
        - i_strconcat
        - mail_namespaces_init_empty
        - mail_namespaces_init_finish
        - mail_storage_create
        - mail_storage_service_lookup_next
        - mail_storage_service_user_get_settings_instance
        - malloc_multiply_check
        - mkdir
        - p_malloc
        - sieve_tool_get_mail_storage_service
        - sieve_tool_get_mail_user
        - t_get_working_dir
        - t_strconcat
        - testsuite_tmp_dir_get
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-mailstore.c:70,11'
          Dst:             testsuite_tmp_dir_get
        - Src:             'testsuite-mailstore.c:72,3'
          Dst:             i_strconcat
        - Src:             'testsuite-mailstore.c:74,3'
          Dst:             i_strconcat
        - Src:             'testsuite-mailstore.c:76,6'
          Dst:             mkdir
        - Src:             'testsuite-mailstore.c:77,3'
          Dst:             i_fatal
        - Src:             'testsuite-mailstore.c:81,22'
          Dst:             sieve_tool_get_mail_user
        - Src:             'testsuite-mailstore.c:83,6'
          Dst:             t_get_working_dir
        - Src:             'testsuite-mailstore.c:84,3'
          Dst:             i_fatal
        - Src:             'testsuite-mailstore.c:86,3'
          Dst:             t_strconcat
        - Src:             'testsuite-mailstore.c:88,3'
          Dst:             t_strconcat
        - Src:             'testsuite-mailstore.c:97,3'
          Dst:             mail_storage_service_user_get_settings_instance
        - Src:             'testsuite-mailstore.c:105,4'
          Dst:             sieve_tool_get_mail_storage_service
        - Src:             'testsuite-mailstore.c:104,6'
          Dst:             mail_storage_service_lookup_next
        - Src:             'testsuite-mailstore.c:107,3'
          Dst:             i_fatal
        - Src:             'testsuite-mailstore.c:110,11'
          Dst:             malloc_multiply_check
        - Src:             'testsuite-mailstore.c:110,11'
          Dst:             p_malloc
        - Src:             'testsuite-mailstore.c:114,7'
          Dst:             mail_namespaces_init_empty
        - Src:             'testsuite-mailstore.c:118,6'
          Dst:             mail_storage_create
        - Src:             'testsuite-mailstore.c:119,3'
          Dst:             i_fatal
        - Src:             'testsuite-mailstore.c:120,6'
          Dst:             mail_namespaces_init_finish
        - Src:             'testsuite-mailstore.c:121,3'
          Dst:             i_fatal
    - functionName:    i_strconcat
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    t_get_working_dir
      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:    mail_storage_service_user_get_settings_instance
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mail_storage_service_lookup_next
      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:    mail_namespaces_init_empty
      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:    mail_storage_create
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mail_namespaces_init_finish
      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:    testsuite_binary_load
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-binary.c'
      linkageType:     externalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_binfile_from_name
        - sieve_load
        - t_strdup_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-binary.c:81,13'
          Dst:             sieve_binfile_from_name
        - Src:             'testsuite-binary.c:80,25'
          Dst:             t_strdup_printf
        - Src:             'testsuite-binary.c:80,6'
          Dst:             sieve_load
    - functionName:    sieve_binfile_from_name
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_load
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_binary_save
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-binary.c'
      linkageType:     externalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_binfile_from_name
        - sieve_save_as
        - t_strdup_printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-binary.c:71,12'
          Dst:             sieve_binfile_from_name
        - Src:             'testsuite-binary.c:70,10'
          Dst:             t_strdup_printf
        - Src:             'testsuite-binary.c:69,10'
          Dst:             sieve_save_as
    - functionName:    sieve_save_as
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    testsuite_binary_reset
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-binary.c'
      linkageType:     externalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - testsuite_binary_deinit
        - testsuite_binary_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-binary.c:59,2'
          Dst:             testsuite_binary_init
        - Src:             'testsuite-binary.c:60,2'
          Dst:             testsuite_binary_deinit
    - functionName:    testsuite_binary_init
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-binary.c'
      linkageType:     externalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          28
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - i_fatal
        - i_strconcat
        - mkdir
        - testsuite_tmp_dir_get
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-binary.c:35,37'
          Dst:             testsuite_tmp_dir_get
        - Src:             'testsuite-binary.c:35,25'
          Dst:             i_strconcat
        - Src:             'testsuite-binary.c:38,6'
          Dst:             mkdir
        - Src:             'testsuite-binary.c:39,3'
          Dst:             i_fatal
    - functionName:    testsuite_binary_deinit
      functionSourceFile: '/src/pigeonhole/src/testsuite/testsuite-binary.c'
      linkageType:     externalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          37
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_warning
        - p_free_internal
        - unlink_directory
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'testsuite-binary.c:48,6'
          Dst:             unlink_directory
        - Src:             'testsuite-binary.c:50,3'
          Dst:             i_warning
        - Src:             'testsuite-binary.c:54,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:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    sieve_runtime_trace_sep
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _sieve_runtime_trace_sep
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:179,3'
          Dst:             _sieve_runtime_trace_sep
    - functionName:    _sieve_runtime_trace_sep
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace_error
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _sieve_runtime_trace_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:76,3'
          Dst:             _sieve_runtime_trace_error
    - functionName:    _get_generator_context
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_generator_extension_get_context
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test.c:106,3'
          Dst:             sieve_generator_extension_get_context
    - functionName:    sieve_generator_extension_get_context
      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:    cmd_test_finish_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_runtime_trace
        - sieve_runtime_trace_sep
        - testsuite_test_succeed
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test.c:204,2'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test.c:205,2'
          Dst:             sieve_runtime_trace_sep
        - Src:             'cmd-test.c:207,9'
          Dst:             testsuite_test_succeed
    - functionName:    cmd_test_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          73
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - sieve_binary_read_offset
        - sieve_opr_string_read
        - sieve_runtime_trace
        - sieve_runtime_trace_error
        - sieve_runtime_trace_sep
        - str_c
        - testsuite_test_start
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test.c:180,8'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test.c:185,7'
          Dst:             sieve_binary_read_offset
        - Src:             'cmd-test.c:186,3'
          Dst:             sieve_runtime_trace_error
        - Src:             'cmd-test.c:191,2'
          Dst:             sieve_runtime_trace_sep
        - Src:             'cmd-test.c:194,8'
          Dst:             str_c
        - Src:             'cmd-test.c:192,2'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test.c:197,9'
          Dst:             testsuite_test_start
    - functionName:    sieve_opr_string_read
      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:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_binary_read_offset
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmd_test_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          60
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - sieve_binary_read_offset
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_code_mark
        - sieve_opr_string_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test.c:150,2'
          Dst:             sieve_code_dumpf
        - Src:             'cmd-test.c:151,2'
          Dst:             sieve_code_descend
        - Src:             'cmd-test.c:153,7'
          Dst:             sieve_opr_string_dump
        - Src:             'cmd-test.c:156,2'
          Dst:             sieve_code_mark
        - Src:             'cmd-test.c:158,7'
          Dst:             sieve_binary_read_offset
        - Src:             'cmd-test.c:160,2'
          Dst:             sieve_code_dumpf
    - functionName:    sieve_code_descend
      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:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_opr_string_dump
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmd_test_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          78
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _get_generator_context
        - sieve_binary_emit_offset
        - sieve_generate_arguments
        - sieve_generate_block
        - sieve_jumplist_add
        - sieve_jumplist_reset
        - sieve_jumplist_resolve
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test.c:114,3'
          Dst:             _get_generator_context
        - Src:             'cmd-test.c:116,2'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test.c:119,7'
          Dst:             sieve_generate_arguments
        - Src:             'cmd-test.c:123,2'
          Dst:             sieve_jumplist_reset
        - Src:             'cmd-test.c:125,3'
          Dst:             sieve_binary_emit_offset
        - Src:             'cmd-test.c:124,2'
          Dst:             sieve_jumplist_add
        - Src:             'cmd-test.c:128,7'
          Dst:             sieve_generate_block
        - Src:             'cmd-test.c:131,2'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test.c:134,2'
          Dst:             sieve_jumplist_resolve
    - functionName:    sieve_operation_emit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    22
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_generate_arguments
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_jumplist_reset
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_binary_emit_offset
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_jumplist_add
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_generate_block
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_jumplist_resolve
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmd_test_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          88
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
        - sieve_validator_error
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test.c:85,3'
          Dst:             sieve_validator_error
        - Src:             'cmd-test.c:91,7'
          Dst:             sieve_validate_positional_argument
        - Src:             'cmd-test.c:95,9'
          Dst:             sieve_validator_argument_activate
    - functionName:    sieve_validate_positional_argument
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_validator_argument_activate
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    cmd_test_fail_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-fail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_opr_string_read
        - sieve_runtime_trace
        - testsuite_test_fail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-fail.c:121,8'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test-fail.c:125,2'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-fail.c:128,9'
          Dst:             testsuite_test_fail
    - functionName:    cmd_test_fail_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-fail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_string_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-fail.c:101,2'
          Dst:             sieve_code_dumpf
        - Src:             'cmd-test-fail.c:102,2'
          Dst:             sieve_code_descend
        - Src:             'cmd-test-fail.c:104,7'
          Dst:             sieve_opr_string_dump
    - functionName:    cmd_test_fail_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-fail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_generate_arguments
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-fail.c:84,2'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-fail.c:87,7'
          Dst:             sieve_generate_arguments
    - functionName:    cmd_test_fail_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-fail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-fail.c:69,7'
          Dst:             sieve_validate_positional_argument
        - Src:             'cmd-test-fail.c:73,9'
          Dst:             sieve_validator_argument_activate
    - functionName:    sieve_runtime_trace_error
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _sieve_runtime_trace_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:76,3'
          Dst:             _sieve_runtime_trace_error
    - functionName:    sieve_opr_optional_read
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-code.h'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_opr_optional_next
        - sieve_runtime_trace_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-code.h:93,13'
          Dst:             sieve_opr_optional_next
        - Src:             '../../src/lib-sieve/sieve-code.h:95,3'
          Dst:             sieve_runtime_trace_error
    - functionName:    sieve_opr_optional_next
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace_descend
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    sieve_runtime_trace_active
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_opr_optional_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-code.h'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_code_mark_specific
        - sieve_opr_optional_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-code.h:79,13'
          Dst:             sieve_opr_optional_next
        - Src:             '../../src/lib-sieve/sieve-code.h:83,2'
          Dst:             sieve_code_mark_specific
    - functionName:    sieve_code_mark_specific
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmd_test_config_reload_validate_tag
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_ast_arguments_detach
        - sieve_validate_tag_parameter
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-config.c:181,9'
          Dst:             sieve_ast_arguments_detach
        - Src:             'cmd-test-config.c:186,7'
          Dst:             sieve_validate_tag_parameter
    - functionName:    sieve_ast_arguments_detach
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_validate_tag_parameter
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmd_test_config_reload_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 505
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          180
      EdgeCount:       42
      CyclomaticComplexity: 11
      functionsReached:
        - printf
        - sieve_extension_get_by_name
        - sieve_extension_reload
        - sieve_opr_optional_read
        - sieve_opr_string_read
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - sieve_runtime_trace_error
        - sieve_settings_reload
        - str_c
      functionUses:    0
      BranchProfiles:
        - Branch String:   'cmd-test-config.c:447,3'
          Branch Sides:    []
      Callsites:
        - Src:             'cmd-test-config.c:441,9'
          Dst:             sieve_opr_optional_read
        - Src:             'cmd-test-config.c:449,10'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test-config.c:453,4'
          Dst:             sieve_runtime_trace_error
        - Src:             'cmd-test-config.c:466,6'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-config.c:467,3'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-config.c:469,3'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-config.c:473,7'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-config.c:474,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-config.c:479,7'
          Dst:             sieve_settings_reload
        - Src:             'cmd-test-config.c:480,4'
          Dst:             printf
        - Src:             'cmd-test-config.c:484,7'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-config.c:488,5'
          Dst:             str_c
        - Src:             'cmd-test-config.c:485,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-config.c:492,9'
          Dst:             str_c
        - Src:             'cmd-test-config.c:491,9'
          Dst:             sieve_extension_get_by_name
        - Src:             'cmd-test-config.c:495,11'
          Dst:             str_c
        - Src:             'cmd-test-config.c:494,4'
          Dst:             printf
        - Src:             'cmd-test-config.c:498,7'
          Dst:             sieve_extension_reload
        - Src:             'cmd-test-config.c:500,11'
          Dst:             str_c
        - Src:             'cmd-test-config.c:499,4'
          Dst:             printf
    - functionName:    sieve_settings_reload
      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:    sieve_extension_get_by_name
      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:    sieve_extension_reload
      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:    cmd_test_config_reload_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          80
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_optional_dump
        - sieve_opr_string_dump
      functionUses:    0
      BranchProfiles:
        - Branch String:   'cmd-test-config.c:329,3'
          Branch Sides:    []
      Callsites:
        - Src:             'cmd-test-config.c:314,2'
          Dst:             sieve_code_dumpf
        - Src:             'cmd-test-config.c:315,2'
          Dst:             sieve_code_descend
        - Src:             'cmd-test-config.c:323,9'
          Dst:             sieve_opr_optional_dump
        - Src:             'cmd-test-config.c:331,11'
          Dst:             sieve_opr_string_dump
    - functionName:    cmd_test_config_unset_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 421
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sieve_opr_string_read
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - str_c
        - testsuite_setting_unset
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-config.c:402,8'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test-config.c:410,6'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-config.c:411,3'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-config.c:413,3'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-config.c:415,34'
          Dst:             str_c
        - Src:             'cmd-test-config.c:414,3'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-config.c:418,26'
          Dst:             str_c
        - Src:             'cmd-test-config.c:418,2'
          Dst:             testsuite_setting_unset
    - functionName:    cmd_test_config_unset_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 300
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_string_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-config.c:301,2'
          Dst:             sieve_code_dumpf
        - Src:             'cmd-test-config.c:303,2'
          Dst:             sieve_code_descend
        - Src:             'cmd-test-config.c:305,9'
          Dst:             sieve_opr_string_dump
    - functionName:    cmd_test_config_set_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 353
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          76
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - sieve_opr_string_read
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - str_c
        - testsuite_setting_set
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-config.c:363,8'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test-config.c:368,8'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test-config.c:376,6'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-config.c:377,3'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-config.c:379,3'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-config.c:382,4'
          Dst:             str_c
        - Src:             'cmd-test-config.c:382,20'
          Dst:             str_c
        - Src:             'cmd-test-config.c:380,3'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-config.c:385,24'
          Dst:             str_c
        - Src:             'cmd-test-config.c:385,40'
          Dst:             str_c
        - Src:             'cmd-test-config.c:385,2'
          Dst:             testsuite_setting_set
    - functionName:    cmd_test_config_set_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_string_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-config.c:289,2'
          Dst:             sieve_code_dumpf
        - Src:             'cmd-test-config.c:291,2'
          Dst:             sieve_code_descend
        - Src:             'cmd-test-config.c:293,10'
          Dst:             sieve_opr_string_dump
        - Src:             'cmd-test-config.c:294,3'
          Dst:             sieve_opr_string_dump
    - functionName:    cmd_test_config_reload_registered
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_validator_register_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-config.c:205,2'
          Dst:             sieve_validator_register_tag
    - functionName:    sieve_validator_register_tag
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmd_test_config_unset_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-config.c:248,7'
          Dst:             sieve_validate_positional_argument
        - Src:             'cmd-test-config.c:251,9'
          Dst:             sieve_validator_argument_activate
    - functionName:    cmd_test_config_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          86
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - i_unreached
        - sieve_generate_arguments
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-config.c:263,3'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-config.c:266,3'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-config.c:269,3'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-config.c:272,3'
          Dst:             i_unreached
        - Src:             'cmd-test-config.c:276,7'
          Dst:             sieve_generate_arguments
    - functionName:    cmd_test_config_set_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-config.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 237
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          65
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-config.c:225,7'
          Dst:             sieve_validate_positional_argument
        - Src:             'cmd-test-config.c:228,7'
          Dst:             sieve_validator_argument_activate
        - Src:             'cmd-test-config.c:233,7'
          Dst:             sieve_validate_positional_argument
        - Src:             'cmd-test-config.c:236,9'
          Dst:             sieve_validator_argument_activate
    - functionName:    sieve_runtime_trace_descend
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    sieve_runtime_trace_active
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace_error
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _sieve_runtime_trace_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:76,3'
          Dst:             _sieve_runtime_trace_error
    - functionName:    cmd_test_set_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-set.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          105
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - sieve_opr_string_read
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - sieve_runtime_trace_error
        - str_c
        - testsuite_object_member_name
        - testsuite_object_read_member
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-set.c:134,8'
          Dst:             testsuite_object_read_member
        - Src:             'cmd-test-set.c:136,3'
          Dst:             sieve_runtime_trace_error
        - Src:             'cmd-test-set.c:140,12'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test-set.c:143,7'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-set.c:144,3'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-set.c:145,3'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-set.c:148,5'
          Dst:             testsuite_object_member_name
        - Src:             'cmd-test-set.c:148,53'
          Dst:             str_c
        - Src:             'cmd-test-set.c:146,3'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-set.c:152,3'
          Dst:             sieve_runtime_trace_error
    - functionName:    cmd_test_set_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-set.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_string_dump
        - testsuite_object_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-set.c:114,2'
          Dst:             sieve_code_dumpf
        - Src:             'cmd-test-set.c:115,2'
          Dst:             sieve_code_descend
        - Src:             'cmd-test-set.c:118,3'
          Dst:             testsuite_object_dump
        - Src:             'cmd-test-set.c:119,3'
          Dst:             sieve_opr_string_dump
    - functionName:    cmd_test_set_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-set.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_generate_arguments
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-set.c:101,2'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-set.c:104,9'
          Dst:             sieve_generate_arguments
    - functionName:    cmd_test_set_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-set.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          65
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
        - testsuite_object_argument_activate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-set.c:76,8'
          Dst:             sieve_validate_positional_argument
        - Src:             'cmd-test-set.c:81,8'
          Dst:             testsuite_object_argument_activate
        - Src:             'cmd-test-set.c:86,8'
          Dst:             sieve_validate_positional_argument
        - Src:             'cmd-test-set.c:91,9'
          Dst:             sieve_validator_argument_activate
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    cmd_test_result_print_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-result.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_runtime_trace
        - testsuite_result_print
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-result.c:132,2'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-result.c:135,2'
          Dst:             testsuite_result_print
    - functionName:    cmd_test_result_reset_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-result.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_runtime_trace
        - testsuite_result_reset
        - testsuite_smtp_reset
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-result.c:119,2'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-result.c:122,2'
          Dst:             testsuite_result_reset
        - Src:             'cmd-test-result.c:123,2'
          Dst:             testsuite_smtp_reset
    - functionName:    cmd_test_result_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-result.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - i_unreached
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-result.c:99,3'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-result.c:102,3'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-result.c:105,3'
          Dst:             i_unreached
    - 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:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_read_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/istream.h:229,2'
          Dst:             i_panic
        - Src:             'dovecot/src/lib/istream.h:230,9'
          Dst:             i_stream_read_data
    - functionName:    i_stream_read_data
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - i_panic
        - i_stream_read_bytes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/istream.h:237,12'
          Dst:             i_stream_read_bytes
        - Src:             'dovecot/src/lib/istream.h:238,2'
          Dst:             i_panic
    - functionName:    sieve_runtime_trace_descend
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    sieve_runtime_trace_active
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace_error
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _sieve_runtime_trace_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:76,3'
          Dst:             _sieve_runtime_trace_error
    - functionName:    cmd_test_message_validate_smtp_tag
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cmd_test_message_validate_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:222,3'
          Dst:             cmd_test_message_validate_tag
    - functionName:    cmd_test_message_validate_tag
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          73
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - malloc_multiply_check
        - p_malloc
        - sieve_ast_arguments_detach
        - sieve_ast_pool
        - sieve_validator_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:201,3'
          Dst:             sieve_validator_error
        - Src:             'cmd-test-message.c:206,13'
          Dst:             sieve_ast_pool
        - Src:             'cmd-test-message.c:206,13'
          Dst:             malloc_multiply_check
        - Src:             'cmd-test-message.c:206,13'
          Dst:             p_malloc
        - Src:             'cmd-test-message.c:211,9'
          Dst:             sieve_ast_arguments_detach
    - 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:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/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:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/mempool.h:119,3'
          Dst:             i_panic
    - functionName:    cmd_test_message_validate_folder_tag
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          116
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - cmd_test_message_validate_tag
        - sieve_mailbox_check_name
        - sieve_validate_tag_parameter
        - sieve_validator_error
        - str_c
        - str_sanitize
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:241,3'
          Dst:             cmd_test_message_validate_tag
        - Src:             'cmd-test-message.c:253,7'
          Dst:             sieve_validate_tag_parameter
        - Src:             'cmd-test-message.c:260,24'
          Dst:             str_c
        - Src:             'cmd-test-message.c:262,9'
          Dst:             sieve_mailbox_check_name
        - Src:             'cmd-test-message.c:263,4'
          Dst:             str_sanitize
        - Src:             'cmd-test-message.c:263,4'
          Dst:             sieve_validator_error
    - functionName:    cmd_test_message_print_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 543
      functionLinenumberEnd: 569
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - i_stream_read_more
        - i_stream_skip
        - mail_get_stream
        - printf
        - sieve_message_get_mail
        - sieve_runtime_error
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:544,22'
          Dst:             sieve_message_get_mail
        - Src:             'cmd-test-message.c:549,6'
          Dst:             mail_get_stream
        - Src:             'cmd-test-message.c:550,3'
          Dst:             sieve_runtime_error
        - Src:             'cmd-test-message.c:555,2'
          Dst:             printf
        - Src:             'cmd-test-message.c:558,9'
          Dst:             i_stream_read_more
        - Src:             'cmd-test-message.c:561,10'
          Dst:             write
        - Src:             'cmd-test-message.c:564,3'
          Dst:             i_stream_skip
        - Src:             'cmd-test-message.c:566,2'
          Dst:             printf
    - functionName:    sieve_message_get_mail
      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:    mail_get_stream
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_skip
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmd_test_message_print_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 383
      functionLinenumberEnd: 386
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_code_dumpf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:384,2'
          Dst:             sieve_code_dumpf
    - functionName:    cmd_test_message_mailbox_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 464
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          166
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - sieve_binary_read_byte
        - sieve_interpreter_set_test_result
        - sieve_mailbox_check_name
        - sieve_opr_number_read
        - sieve_opr_string_read
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - sieve_runtime_trace_error
        - str_c
        - testsuite_mailstore_mail_index
        - testsuite_test_failf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:477,7'
          Dst:             sieve_binary_read_byte
        - Src:             'cmd-test-message.c:478,3'
          Dst:             sieve_runtime_trace_error
        - Src:             'cmd-test-message.c:483,8'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test-message.c:488,8'
          Dst:             sieve_opr_number_read
        - Src:             'cmd-test-message.c:492,32'
          Dst:             str_c
        - Src:             'cmd-test-message.c:492,7'
          Dst:             sieve_mailbox_check_name
        - Src:             'cmd-test-message.c:495,4'
          Dst:             str_c
        - Src:             'cmd-test-message.c:493,10'
          Dst:             testsuite_test_failf
        - Src:             'cmd-test-message.c:503,7'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-message.c:504,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-message.c:506,4'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-message.c:510,5'
          Dst:             str_c
        - Src:             'cmd-test-message.c:507,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-message.c:513,7'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-message.c:514,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-message.c:516,4'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-message.c:520,5'
          Dst:             str_c
        - Src:             'cmd-test-message.c:517,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-message.c:524,48'
          Dst:             str_c
        - Src:             'cmd-test-message.c:524,11'
          Dst:             testsuite_mailstore_mail_index
        - Src:             'cmd-test-message.c:527,3'
          Dst:             sieve_interpreter_set_test_result
        - Src:             'cmd-test-message.c:534,4'
          Dst:             str_c
        - Src:             'cmd-test-message.c:532,10'
          Dst:             testsuite_test_failf
    - functionName:    sieve_binary_read_byte
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_opr_number_read
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_interpreter_set_test_result
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmd_test_message_mailbox_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sieve_binary_read_byte
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_number_dump
        - sieve_opr_string_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:368,7'
          Dst:             sieve_binary_read_byte
        - Src:             'cmd-test-message.c:371,2'
          Dst:             sieve_code_dumpf
        - Src:             'cmd-test-message.c:374,2'
          Dst:             sieve_code_descend
        - Src:             'cmd-test-message.c:376,10'
          Dst:             sieve_opr_string_dump
        - Src:             'cmd-test-message.c:377,3'
          Dst:             sieve_opr_number_dump
    - functionName:    sieve_opr_number_dump
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmd_test_message_smtp_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          128
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - sieve_binary_read_byte
        - sieve_interpreter_set_test_result
        - sieve_opr_number_read
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - sieve_runtime_trace_error
        - testsuite_smtp_get
        - testsuite_test_failf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:408,7'
          Dst:             sieve_binary_read_byte
        - Src:             'cmd-test-message.c:409,3'
          Dst:             sieve_runtime_trace_error
        - Src:             'cmd-test-message.c:415,8'
          Dst:             sieve_opr_number_read
        - Src:             'cmd-test-message.c:424,7'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-message.c:425,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-message.c:427,4'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-message.c:428,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-message.c:434,7'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-message.c:435,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-message.c:437,4'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-message.c:438,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-message.c:445,11'
          Dst:             testsuite_smtp_get
        - Src:             'cmd-test-message.c:448,3'
          Dst:             sieve_interpreter_set_test_result
        - Src:             'cmd-test-message.c:453,10'
          Dst:             testsuite_test_failf
    - functionName:    cmd_test_message_smtp_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 360
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_binary_read_byte
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_number_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:351,7'
          Dst:             sieve_binary_read_byte
        - Src:             'cmd-test-message.c:354,2'
          Dst:             sieve_code_dumpf
        - Src:             'cmd-test-message.c:357,2'
          Dst:             sieve_code_descend
        - Src:             'cmd-test-message.c:359,9'
          Dst:             sieve_opr_number_dump
    - functionName:    cmd_test_message_print_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:336,2'
          Dst:             sieve_operation_emit
    - functionName:    cmd_test_message_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          82
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
        - sieve_binary_emit_byte
        - sieve_generate_arguments
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:314,2'
          Dst:             i_panic
        - Src:             'cmd-test-message.c:317,2'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-message.c:321,2'
          Dst:             sieve_binary_emit_byte
        - Src:             'cmd-test-message.c:325,7'
          Dst:             sieve_generate_arguments
    - functionName:    cmd_test_message_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          67
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
        - sieve_validator_error
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:289,3'
          Dst:             sieve_validator_error
        - Src:             'cmd-test-message.c:296,7'
          Dst:             sieve_validate_positional_argument
        - Src:             'cmd-test-message.c:300,9'
          Dst:             sieve_validator_argument_activate
    - functionName:    cmd_test_message_registered
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_validator_register_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-message.c:185,2'
          Dst:             sieve_validator_register_tag
        - Src:             'cmd-test-message.c:187,2'
          Dst:             sieve_validator_register_tag
    - functionName:    sieve_runtime_trace_descend
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    sieve_runtime_trace_active
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmd_test_mailbox_delete_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-mailbox.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - testsuite_test_failf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-mailbox.c:207,6'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-mailbox.c:208,3'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-mailbox.c:211,3'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-mailbox.c:212,3'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-mailbox.c:217,9'
          Dst:             testsuite_test_failf
    - functionName:    cmd_test_mailbox_create_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-mailbox.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - testsuite_mailstore_mailbox_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-mailbox.c:190,6'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-mailbox.c:191,3'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-mailbox.c:194,3'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-mailbox.c:195,3'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-mailbox.c:199,2'
          Dst:             testsuite_mailstore_mailbox_create
    - functionName:    cmd_test_mailbox_get_command_name
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-mailbox.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_unreached
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-mailbox.c:183,2'
          Dst:             i_unreached
    - functionName:    cmd_test_mailbox_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-mailbox.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_string_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-mailbox.c:164,2'
          Dst:             sieve_code_dumpf
        - Src:             'cmd-test-mailbox.c:166,2'
          Dst:             sieve_code_descend
        - Src:             'cmd-test-mailbox.c:168,9'
          Dst:             sieve_opr_string_dump
    - functionName:    cmd_test_mailbox_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-mailbox.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - cmd_test_mailbox_create_execute
        - cmd_test_mailbox_delete_execute
        - cmd_test_mailbox_get_command_name
        - i_unreached
        - sieve_mailbox_check_name
        - sieve_opr_string_read
        - sieve_runtime_error
        - str_c
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-mailbox.c:236,8'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test-mailbox.c:240,32'
          Dst:             str_c
        - Src:             'cmd-test-mailbox.c:240,7'
          Dst:             sieve_mailbox_check_name
        - Src:             'cmd-test-mailbox.c:241,3'
          Dst:             cmd_test_mailbox_get_command_name
        - Src:             'cmd-test-mailbox.c:241,3'
          Dst:             str_c
        - Src:             'cmd-test-mailbox.c:241,3'
          Dst:             sieve_runtime_error
        - Src:             'cmd-test-mailbox.c:254,47'
          Dst:             str_c
        - Src:             'cmd-test-mailbox.c:254,9'
          Dst:             cmd_test_mailbox_create_execute
        - Src:             'cmd-test-mailbox.c:256,47'
          Dst:             str_c
        - Src:             'cmd-test-mailbox.c:256,9'
          Dst:             cmd_test_mailbox_delete_execute
        - Src:             'cmd-test-mailbox.c:258,3'
          Dst:             i_unreached
    - functionName:    cmd_test_mailbox_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-mailbox.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - i_unreached
        - sieve_generate_arguments
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-mailbox.c:140,3'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-mailbox.c:143,3'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-mailbox.c:146,3'
          Dst:             i_unreached
        - Src:             'cmd-test-mailbox.c:150,7'
          Dst:             sieve_generate_arguments
    - functionName:    cmd_test_mailbox_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-mailbox.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          98
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - sieve_mailbox_check_name
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
        - sieve_validator_error
        - str_c
        - str_sanitize
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-mailbox.c:106,7'
          Dst:             sieve_validate_positional_argument
        - Src:             'cmd-test-mailbox.c:110,8'
          Dst:             sieve_validator_argument_activate
        - Src:             'cmd-test-mailbox.c:115,24'
          Dst:             str_c
        - Src:             'cmd-test-mailbox.c:117,9'
          Dst:             sieve_mailbox_check_name
        - Src:             'cmd-test-mailbox.c:118,4'
          Dst:             str_sanitize
        - Src:             'cmd-test-mailbox.c:118,4'
          Dst:             sieve_validator_error
    - functionName:    sieve_runtime_trace_descend
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    sieve_runtime_trace_active
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cmd_test_binary_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-binary.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          150
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - e_error
        - i_unreached
        - sieve_binary_unref
        - sieve_opr_string_read
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - str_c
        - testsuite_binary_load
        - testsuite_binary_save
        - testsuite_script_get_binary
        - testsuite_script_set_binary
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-binary.c:169,8'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test-binary.c:179,26'
          Dst:             str_c
        - Src:             'cmd-test-binary.c:179,4'
          Dst:             testsuite_binary_load
        - Src:             'cmd-test-binary.c:181,7'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-binary.c:182,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-binary.c:184,4'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-binary.c:186,10'
          Dst:             str_c
        - Src:             'cmd-test-binary.c:185,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-binary.c:190,4'
          Dst:             testsuite_script_set_binary
        - Src:             'cmd-test-binary.c:192,4'
          Dst:             sieve_binary_unref
        - Src:             'cmd-test-binary.c:194,4'
          Dst:             str_c
        - Src:             'cmd-test-binary.c:194,4'
          Dst:             e_error
        - Src:             'cmd-test-binary.c:199,31'
          Dst:             testsuite_script_get_binary
        - Src:             'cmd-test-binary.c:201,8'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-binary.c:202,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-binary.c:204,4'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-binary.c:206,10'
          Dst:             str_c
        - Src:             'cmd-test-binary.c:205,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-binary.c:210,32'
          Dst:             str_c
        - Src:             'cmd-test-binary.c:210,4'
          Dst:             testsuite_binary_save
        - Src:             'cmd-test-binary.c:212,4'
          Dst:             str_c
        - Src:             'cmd-test-binary.c:212,4'
          Dst:             e_error
        - Src:             'cmd-test-binary.c:218,3'
          Dst:             i_unreached
    - functionName:    cmd_test_binary_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-binary.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_string_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-binary.c:144,2'
          Dst:             sieve_code_dumpf
        - Src:             'cmd-test-binary.c:146,2'
          Dst:             sieve_code_descend
        - Src:             'cmd-test-binary.c:148,9'
          Dst:             sieve_opr_string_dump
    - functionName:    cmd_test_binary_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-binary.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - i_unreached
        - sieve_generate_arguments
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-binary.c:120,3'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-binary.c:123,3'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-binary.c:126,3'
          Dst:             i_unreached
        - Src:             'cmd-test-binary.c:130,7'
          Dst:             sieve_generate_arguments
    - functionName:    cmd_test_binary_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-binary.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-binary.c:103,7'
          Dst:             sieve_validate_positional_argument
        - Src:             'cmd-test-binary.c:107,9'
          Dst:             sieve_validator_argument_activate
    - functionName:    sieve_runtime_trace_descend
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    sieve_runtime_trace_active
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace_error
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _sieve_runtime_trace_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:76,3'
          Dst:             _sieve_runtime_trace_error
    - functionName:    sieve_opr_optional_read
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-code.h'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_opr_optional_next
        - sieve_runtime_trace_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-code.h:93,13'
          Dst:             sieve_opr_optional_next
        - Src:             '../../src/lib-sieve/sieve-code.h:95,3'
          Dst:             sieve_runtime_trace_error
    - functionName:    sieve_opr_optional_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-code.h'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_code_mark_specific
        - sieve_opr_optional_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-code.h:79,13'
          Dst:             sieve_opr_optional_next
        - Src:             '../../src/lib-sieve/sieve-code.h:83,2'
          Dst:             sieve_code_mark_specific
    - functionName:    cmd_test_imap_metadata_validate_mailbox_tag
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-imap-metadata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          99
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - sieve_ast_arguments_detach
        - sieve_mailbox_check_name
        - sieve_validate_tag_parameter
        - sieve_validator_error
        - str_c
        - str_sanitize
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-imap-metadata.c:108,9'
          Dst:             sieve_ast_arguments_detach
        - Src:             'cmd-test-imap-metadata.c:113,7'
          Dst:             sieve_validate_tag_parameter
        - Src:             'cmd-test-imap-metadata.c:119,25'
          Dst:             str_c
        - Src:             'cmd-test-imap-metadata.c:121,8'
          Dst:             sieve_mailbox_check_name
        - Src:             'cmd-test-imap-metadata.c:122,4'
          Dst:             str_sanitize
        - Src:             'cmd-test-imap-metadata.c:122,4'
          Dst:             sieve_validator_error
    - functionName:    cmd_test_imap_metadata_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-imap-metadata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 328
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          210
      EdgeCount:       49
      CyclomaticComplexity: 13
      functionsReached:
        - sieve_mailbox_check_name
        - sieve_opr_optional_read
        - sieve_opr_string_read
        - sieve_runtime_error
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - sieve_runtime_trace_error
        - str_c
        - testsuite_mailstore_set_imap_metadata
      functionUses:    0
      BranchProfiles:
        - Branch String:   'cmd-test-imap-metadata.c:269,3'
          Branch Sides:    []
      Callsites:
        - Src:             'cmd-test-imap-metadata.c:263,9'
          Dst:             sieve_opr_optional_read
        - Src:             'cmd-test-imap-metadata.c:271,10'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test-imap-metadata.c:274,34'
          Dst:             str_c
        - Src:             'cmd-test-imap-metadata.c:274,9'
          Dst:             sieve_mailbox_check_name
        - Src:             'cmd-test-imap-metadata.c:275,5'
          Dst:             str_c
        - Src:             'cmd-test-imap-metadata.c:275,5'
          Dst:             sieve_runtime_error
        - Src:             'cmd-test-imap-metadata.c:284,4'
          Dst:             sieve_runtime_trace_error
        - Src:             'cmd-test-imap-metadata.c:295,8'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test-imap-metadata.c:298,8'
          Dst:             sieve_opr_string_read
        - Src:             'cmd-test-imap-metadata.c:307,7'
          Dst:             sieve_runtime_trace_active
        - Src:             'cmd-test-imap-metadata.c:308,4'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-imap-metadata.c:310,4'
          Dst:             sieve_runtime_trace_descend
        - Src:             'cmd-test-imap-metadata.c:314,6'
          Dst:             str_c
        - Src:             'cmd-test-imap-metadata.c:312,5'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-imap-metadata.c:318,6'
          Dst:             str_c
        - Src:             'cmd-test-imap-metadata.c:318,25'
          Dst:             str_c
        - Src:             'cmd-test-imap-metadata.c:316,5'
          Dst:             sieve_runtime_trace
        - Src:             'cmd-test-imap-metadata.c:323,30'
          Dst:             str_c
        - Src:             'cmd-test-imap-metadata.c:324,4'
          Dst:             str_c
        - Src:             'cmd-test-imap-metadata.c:324,23'
          Dst:             str_c
        - Src:             'cmd-test-imap-metadata.c:322,7'
          Dst:             testsuite_mailstore_set_imap_metadata
    - functionName:    cmd_test_imap_metadata_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-imap-metadata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          113
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_optional_dump
        - sieve_opr_string_dump
      functionUses:    0
      BranchProfiles:
        - Branch String:   'cmd-test-imap-metadata.c:224,3'
          Branch Sides:    []
      Callsites:
        - Src:             'cmd-test-imap-metadata.c:209,2'
          Dst:             sieve_code_dumpf
        - Src:             'cmd-test-imap-metadata.c:210,2'
          Dst:             sieve_code_descend
        - Src:             'cmd-test-imap-metadata.c:218,9'
          Dst:             sieve_opr_optional_dump
        - Src:             'cmd-test-imap-metadata.c:226,11'
          Dst:             sieve_opr_string_dump
        - Src:             'cmd-test-imap-metadata.c:236,10'
          Dst:             sieve_opr_string_dump
        - Src:             'cmd-test-imap-metadata.c:237,3'
          Dst:             sieve_opr_string_dump
    - functionName:    cmd_test_imap_metadata_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-imap-metadata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - i_unreached
        - sieve_generate_arguments
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-imap-metadata.c:187,3'
          Dst:             sieve_operation_emit
        - Src:             'cmd-test-imap-metadata.c:190,3'
          Dst:             i_unreached
        - Src:             'cmd-test-imap-metadata.c:194,7'
          Dst:             sieve_generate_arguments
    - functionName:    cmd_test_imap_metadata_registered
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-imap-metadata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_validator_register_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-imap-metadata.c:144,2'
          Dst:             sieve_validator_register_tag
    - functionName:    cmd_test_imap_metadata_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/cmd-test-imap-metadata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          71
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cmd-test-imap-metadata.c:161,7'
          Dst:             sieve_validate_positional_argument
        - Src:             'cmd-test-imap-metadata.c:164,7'
          Dst:             sieve_validator_argument_activate
        - Src:             'cmd-test-imap-metadata.c:169,7'
          Dst:             sieve_validate_positional_argument
        - Src:             'cmd-test-imap-metadata.c:172,7'
          Dst:             sieve_validator_argument_activate
    - functionName:    sieve_runtime_trace_descend
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    sieve_runtime_trace_active
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tst_test_script_compile_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-script-compile.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - sieve_interpreter_set_test_result
        - sieve_opr_string_read
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - str_c
        - testsuite_script_compile
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-script-compile.c:119,12'
          Dst:             sieve_opr_string_read
        - Src:             'tst-test-script-compile.c:127,7'
          Dst:             sieve_runtime_trace_active
        - Src:             'tst-test-script-compile.c:128,3'
          Dst:             sieve_runtime_trace
        - Src:             'tst-test-script-compile.c:129,3'
          Dst:             sieve_runtime_trace_descend
        - Src:             'tst-test-script-compile.c:134,42'
          Dst:             str_c
        - Src:             'tst-test-script-compile.c:134,11'
          Dst:             testsuite_script_compile
        - Src:             'tst-test-script-compile.c:137,2'
          Dst:             sieve_interpreter_set_test_result
    - functionName:    tst_test_script_compile_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-script-compile.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_string_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-script-compile.c:95,2'
          Dst:             sieve_code_dumpf
        - Src:             'tst-test-script-compile.c:96,2'
          Dst:             sieve_code_descend
        - Src:             'tst-test-script-compile.c:98,8'
          Dst:             sieve_opr_string_dump
    - functionName:    tst_test_script_compile_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-script-compile.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_generate_arguments
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-script-compile.c:82,2'
          Dst:             sieve_operation_emit
        - Src:             'tst-test-script-compile.c:85,9'
          Dst:             sieve_generate_arguments
    - functionName:    tst_test_script_compile_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-script-compile.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-script-compile.c:67,8'
          Dst:             sieve_validate_positional_argument
        - Src:             'tst-test-script-compile.c:72,9'
          Dst:             sieve_validator_argument_activate
    - functionName:    sieve_runtime_trace_descend
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace_active
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    sieve_runtime_trace_error
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _sieve_runtime_trace_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:76,3'
          Dst:             _sieve_runtime_trace_error
    - functionName:    sieve_opr_optional_read
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-code.h'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_opr_optional_next
        - sieve_runtime_trace_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-code.h:93,13'
          Dst:             sieve_opr_optional_next
        - Src:             '../../src/lib-sieve/sieve-code.h:95,3'
          Dst:             sieve_runtime_trace_error
    - functionName:    sieve_opr_optional_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-code.h'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_code_mark_specific
        - sieve_opr_optional_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-code.h:79,13'
          Dst:             sieve_opr_optional_next
        - Src:             '../../src/lib-sieve/sieve-code.h:83,2'
          Dst:             sieve_code_mark_specific
    - functionName:    tst_test_script_run_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-script-run.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          109
      EdgeCount:       22
      CyclomaticComplexity: 5
      functionsReached:
        - sieve_interpreter_set_test_result
        - sieve_opr_optional_read
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - sieve_runtime_trace_error
        - testsuite_result_reset
        - testsuite_script_run
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tst-test-script-run.c:158,3'
          Branch Sides:    []
      Callsites:
        - Src:             'tst-test-script-run.c:153,13'
          Dst:             sieve_opr_optional_read
        - Src:             'tst-test-script-run.c:163,4'
          Dst:             sieve_runtime_trace_error
        - Src:             'tst-test-script-run.c:173,2'
          Dst:             sieve_runtime_trace
        - Src:             'tst-test-script-run.c:179,3'
          Dst:             testsuite_result_reset
        - Src:             'tst-test-script-run.c:182,11'
          Dst:             testsuite_script_run
        - Src:             'tst-test-script-run.c:184,7'
          Dst:             sieve_runtime_trace_active
        - Src:             'tst-test-script-run.c:185,3'
          Dst:             sieve_runtime_trace_descend
        - Src:             'tst-test-script-run.c:186,3'
          Dst:             sieve_runtime_trace
        - Src:             'tst-test-script-run.c:191,2'
          Dst:             sieve_interpreter_set_test_result
    - functionName:    tst_test_script_run_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-script-run.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          63
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_optional_dump
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tst-test-script-run.c:121,3'
          Branch Sides:    []
      Callsites:
        - Src:             'tst-test-script-run.c:109,2'
          Dst:             sieve_code_dumpf
        - Src:             'tst-test-script-run.c:110,2'
          Dst:             sieve_code_descend
        - Src:             'tst-test-script-run.c:116,13'
          Dst:             sieve_opr_optional_dump
        - Src:             'tst-test-script-run.c:123,4'
          Dst:             sieve_code_dumpf
    - functionName:    tst_test_script_run_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-script-run.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_generate_arguments
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-script-run.c:95,2'
          Dst:             sieve_operation_emit
        - Src:             'tst-test-script-run.c:97,9'
          Dst:             sieve_generate_arguments
    - functionName:    tst_test_script_run_registered
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-script-run.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_validator_register_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-script-run.c:81,2'
          Dst:             sieve_validator_register_tag
    - 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:
        - ''
        - ''
        - ''
      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:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/array.h:212,2'
          Dst:             buffer_append
    - functionName:    sieve_stringlist_next_item
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-stringlist.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      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:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             'dovecot/src/lib/array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    sieve_runtime_trace_descend
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    tst_test_multiscript_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-multiscript.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          104
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - array_append_i
        - array_create_i
        - pool_datastack_create
        - sieve_interpreter_set_test_result
        - sieve_opr_stringlist_read
        - sieve_runtime_trace
        - sieve_runtime_trace_descend
        - sieve_stringlist_next_item
        - str_c
        - t_strdup
        - testsuite_script_multiscript
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-multiscript.c:122,12'
          Dst:             sieve_opr_stringlist_read
        - Src:             'tst-test-multiscript.c:130,2'
          Dst:             sieve_runtime_trace
        - Src:             'tst-test-multiscript.c:132,2'
          Dst:             sieve_runtime_trace_descend
        - Src:             'tst-test-multiscript.c:134,2'
          Dst:             pool_datastack_create
        - Src:             'tst-test-multiscript.c:134,2'
          Dst:             array_create_i
        - Src:             'tst-test-multiscript.c:138,8'
          Dst:             sieve_stringlist_next_item
        - Src:             'tst-test-multiscript.c:139,33'
          Dst:             str_c
        - Src:             'tst-test-multiscript.c:139,24'
          Dst:             t_strdup
        - Src:             'tst-test-multiscript.c:141,3'
          Dst:             array_append_i
        - Src:             'tst-test-multiscript.c:145,3'
          Dst:             testsuite_script_multiscript
        - Src:             'tst-test-multiscript.c:148,2'
          Dst:             sieve_interpreter_set_test_result
    - functionName:    sieve_opr_stringlist_read
      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:    t_strdup
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tst_test_multiscript_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-multiscript.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_opr_stringlist_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-multiscript.c:96,2'
          Dst:             sieve_code_dumpf
        - Src:             'tst-test-multiscript.c:97,2'
          Dst:             sieve_code_descend
        - Src:             'tst-test-multiscript.c:99,8'
          Dst:             sieve_opr_stringlist_dump
    - functionName:    sieve_opr_stringlist_dump
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tst_test_multiscript_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-multiscript.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_generate_arguments
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-multiscript.c:83,2'
          Dst:             sieve_operation_emit
        - Src:             'tst-test-multiscript.c:86,9'
          Dst:             sieve_generate_arguments
    - functionName:    tst_test_multiscript_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-multiscript.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-multiscript.c:68,8'
          Dst:             sieve_validate_positional_argument
        - Src:             'tst-test-multiscript.c:73,9'
          Dst:             sieve_validator_argument_activate
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    sieve_runtime_trace_error
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _sieve_runtime_trace_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:76,3'
          Dst:             _sieve_runtime_trace_error
    - functionName:    tst_test_error_validate_index_tag
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_ast_arguments_detach
        - sieve_validate_tag_parameter
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-error.c:98,9'
          Dst:             sieve_ast_arguments_detach
        - Src:             'tst-test-error.c:103,8'
          Dst:             sieve_validate_tag_parameter
    - functionName:    tst_test_error_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          142
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - sieve_interpreter_set_test_result
        - sieve_match
        - sieve_match_opr_optional_read
        - sieve_opr_number_read
        - sieve_opr_stringlist_read
        - sieve_runtime_trace
        - sieve_runtime_trace_error
        - testsuite_log_stringlist_create
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-error.c:227,13'
          Dst:             sieve_match_opr_optional_read
        - Src:             'tst-test-error.c:234,14'
          Dst:             sieve_opr_number_read
        - Src:             'tst-test-error.c:238,4'
          Dst:             sieve_runtime_trace_error
        - Src:             'tst-test-error.c:244,12'
          Dst:             sieve_opr_stringlist_read
        - Src:             'tst-test-error.c:253,3'
          Dst:             sieve_runtime_trace
        - Src:             'tst-test-error.c:256,3'
          Dst:             sieve_runtime_trace
        - Src:             'tst-test-error.c:260,15'
          Dst:             testsuite_log_stringlist_create
        - Src:             'tst-test-error.c:263,14'
          Dst:             sieve_match
        - Src:             'tst-test-error.c:267,2'
          Dst:             sieve_interpreter_set_test_result
    - functionName:    sieve_match_opr_optional_read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - '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:    sieve_match
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - '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:    tst_test_error_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          73
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_match_opr_optional_dump
        - sieve_opr_number_dump
        - sieve_opr_stringlist_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-error.c:180,2'
          Dst:             sieve_code_dumpf
        - Src:             'tst-test-error.c:181,2'
          Dst:             sieve_code_descend
        - Src:             'tst-test-error.c:187,13'
          Dst:             sieve_match_opr_optional_dump
        - Src:             'tst-test-error.c:194,10'
          Dst:             sieve_opr_number_dump
        - Src:             'tst-test-error.c:201,9'
          Dst:             sieve_opr_stringlist_dump
    - functionName:    sieve_match_opr_optional_dump
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tst_test_error_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_generate_arguments
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-error.c:165,2'
          Dst:             sieve_operation_emit
        - Src:             'tst-test-error.c:168,9'
          Dst:             sieve_generate_arguments
    - functionName:    tst_test_error_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - sieve_match_type_validate
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-error.c:145,8'
          Dst:             sieve_validate_positional_argument
        - Src:             'tst-test-error.c:150,8'
          Dst:             sieve_validator_argument_activate
        - Src:             'tst-test-error.c:154,9'
          Dst:             sieve_match_type_validate
    - functionName:    sieve_match_type_validate
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      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:    tst_test_error_registered
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_comparators_link_tag
        - sieve_match_types_link_tags
        - sieve_validator_register_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-error.c:123,2'
          Dst:             sieve_comparators_link_tag
        - Src:             'tst-test-error.c:124,2'
          Dst:             sieve_match_types_link_tags
        - Src:             'tst-test-error.c:126,2'
          Dst:             sieve_validator_register_tag
    - functionName:    sieve_comparators_link_tag
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_match_types_link_tags
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    sieve_runtime_trace_error
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _sieve_runtime_trace_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:76,3'
          Dst:             _sieve_runtime_trace_error
    - functionName:    tst_test_result_action_validate_index_tag
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-result-action.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_ast_arguments_detach
        - sieve_validate_tag_parameter
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-result-action.c:98,9'
          Dst:             sieve_ast_arguments_detach
        - Src:             'tst-test-result-action.c:103,8'
          Dst:             sieve_validate_tag_parameter
    - functionName:    tst_test_result_action_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-result-action.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          128
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - sieve_interpreter_set_test_result
        - sieve_match
        - sieve_match_opr_optional_read
        - sieve_opr_number_read
        - sieve_opr_stringlist_read
        - sieve_runtime_trace
        - sieve_runtime_trace_error
        - testsuite_result_stringlist_create
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-result-action.c:227,13'
          Dst:             sieve_match_opr_optional_read
        - Src:             'tst-test-result-action.c:234,14'
          Dst:             sieve_opr_number_read
        - Src:             'tst-test-result-action.c:238,4'
          Dst:             sieve_runtime_trace_error
        - Src:             'tst-test-result-action.c:244,12'
          Dst:             sieve_opr_stringlist_read
        - Src:             'tst-test-result-action.c:252,2'
          Dst:             sieve_runtime_trace
        - Src:             'tst-test-result-action.c:256,15'
          Dst:             testsuite_result_stringlist_create
        - Src:             'tst-test-result-action.c:259,14'
          Dst:             sieve_match
        - Src:             'tst-test-result-action.c:263,2'
          Dst:             sieve_interpreter_set_test_result
    - functionName:    tst_test_result_action_operation_dump
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-result-action.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          73
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - sieve_code_descend
        - sieve_code_dumpf
        - sieve_match_opr_optional_dump
        - sieve_opr_number_dump
        - sieve_opr_stringlist_dump
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-result-action.c:180,2'
          Dst:             sieve_code_dumpf
        - Src:             'tst-test-result-action.c:181,2'
          Dst:             sieve_code_descend
        - Src:             'tst-test-result-action.c:187,13'
          Dst:             sieve_match_opr_optional_dump
        - Src:             'tst-test-result-action.c:194,10'
          Dst:             sieve_opr_number_dump
        - Src:             'tst-test-result-action.c:201,9'
          Dst:             sieve_opr_stringlist_dump
    - functionName:    tst_test_result_action_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-result-action.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_generate_arguments
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-result-action.c:165,2'
          Dst:             sieve_operation_emit
        - Src:             'tst-test-result-action.c:168,9'
          Dst:             sieve_generate_arguments
    - functionName:    tst_test_result_action_validate
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-result-action.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - sieve_match_type_validate
        - sieve_validate_positional_argument
        - sieve_validator_argument_activate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-result-action.c:145,8'
          Dst:             sieve_validate_positional_argument
        - Src:             'tst-test-result-action.c:150,8'
          Dst:             sieve_validator_argument_activate
        - Src:             'tst-test-result-action.c:154,9'
          Dst:             sieve_match_type_validate
    - functionName:    tst_test_result_action_registered
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-result-action.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_comparators_link_tag
        - sieve_match_types_link_tags
        - sieve_validator_register_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-result-action.c:123,2'
          Dst:             sieve_comparators_link_tag
        - Src:             'tst-test-result-action.c:124,2'
          Dst:             sieve_match_types_link_tags
        - Src:             'tst-test-result-action.c:126,2'
          Dst:             sieve_validator_register_tag
    - functionName:    sieve_runtime_trace_descend
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace_active
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 22
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_runtime_trace
      functionSourceFile: '/src/pigeonhole/src/testsuite/../../src/lib-sieve/sieve-runtime-trace.h'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _sieve_runtime_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../src/lib-sieve/sieve-runtime-trace.h:111,3'
          Dst:             _sieve_runtime_trace
    - functionName:    tst_test_result_execute_operation_execute
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-result-execute.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_interpreter_set_test_result
        - sieve_runtime_trace
        - sieve_runtime_trace_active
        - sieve_runtime_trace_descend
        - testsuite_result_execute
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-result-execute.c:77,2'
          Dst:             sieve_runtime_trace
        - Src:             'tst-test-result-execute.c:80,11'
          Dst:             testsuite_result_execute
        - Src:             'tst-test-result-execute.c:82,7'
          Dst:             sieve_runtime_trace_active
        - Src:             'tst-test-result-execute.c:83,3'
          Dst:             sieve_runtime_trace_descend
        - Src:             'tst-test-result-execute.c:84,3'
          Dst:             sieve_runtime_trace
        - Src:             'tst-test-result-execute.c:89,2'
          Dst:             sieve_interpreter_set_test_result
    - functionName:    tst_test_result_execute_generate
      functionSourceFile: '/src/pigeonhole/src/testsuite/tst-test-result-execute.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_operation_emit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tst-test-result-execute.c:59,2'
          Dst:             sieve_operation_emit
    - functionName:    ext_testsuite_binary_load
      functionSourceFile: '/src/pigeonhole/src/testsuite/ext-testsuite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ext_testsuite_interpreter_load
      functionSourceFile: '/src/pigeonhole/src/testsuite/ext-testsuite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - testsuite_interpreter_context_initialize
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ext-testsuite.c:165,9'
          Dst:             testsuite_interpreter_context_initialize
    - functionName:    ext_testsuite_generator_load
      functionSourceFile: '/src/pigeonhole/src/testsuite/ext-testsuite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - testsuite_generator_context_initialize
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ext-testsuite.c:158,9'
          Dst:             testsuite_generator_context_initialize
    - functionName:    ext_testsuite_validator_load
      functionSourceFile: '/src/pigeonhole/src/testsuite/ext-testsuite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          83
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_validator_register_command
        - testsuite_validator_context_initialize
        - testsuite_variables_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ext-testsuite.c:124,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:125,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:126,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:127,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:128,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:129,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:130,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:131,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:132,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:133,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:134,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:135,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:136,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:137,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:138,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:140,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:141,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:142,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:143,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:144,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:145,2'
          Dst:             sieve_validator_register_command
        - Src:             'ext-testsuite.c:150,2'
          Dst:             testsuite_variables_init
        - Src:             'ext-testsuite.c:152,9'
          Dst:             testsuite_validator_context_initialize
    - functionName:    sieve_validator_register_command
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    21
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/pigeonhole/src/testsuite/fuzzsuite.c'
      linkageType:     externalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          224
      EdgeCount:       53
      CyclomaticComplexity: 28
      functionsReached:
        - fuzz_die
        - fuzzer_deinit
        - fuzzer_init
        - i_fatal
        - i_panic
        - i_stream_create_from_data
        - i_stream_destroy
        - lib_signals_set_handler
        - master_service_parse_option
        - printf
        - settings_info_register
        - settings_instance_find
        - settings_override
        - sieve_close
        - sieve_compile_script
        - sieve_data_script_create_from_input
        - sieve_script_env_init
        - sieve_script_unref
        - sieve_tool_deinit
        - sieve_tool_get_homedir
        - sieve_tool_init_finish
        - sieve_tool_init_fuzzer
        - t_pop
        - t_push
        - t_strdup_printf
        - testsuite_deinit
        - testsuite_init
        - testsuite_mailstore_deinit
        - testsuite_mailstore_get_user
        - testsuite_mailstore_init
        - testsuite_message_deinit
        - testsuite_message_init
        - testsuite_result_deinit
        - testsuite_result_init
        - testsuite_run
        - testsuite_testcase_fail
        - testsuite_testcase_result
      functionUses:    0
      BranchProfiles:
        - Branch String:   'fuzzsuite.c:246,3'
          Branch Sides:    []
      Callsites:
        - Src:             'fuzzsuite.c:106,1'
          Dst:             fuzzer_init
        - Src:             'fuzzsuite.c:106,1'
          Dst:             t_push
        - Src:             'fuzzsuite.c:115,15'
          Dst:             sieve_tool_init_fuzzer
        - Src:             'fuzzsuite.c:119,2'
          Dst:             lib_signals_set_handler
        - Src:             'fuzzsuite.c:119,2'
          Dst:             fuzz_die
        - Src:             'fuzzsuite.c:131,2'
          Dst:             master_service_parse_option
        - Src:             'fuzzsuite.c:134,2'
          Dst:             master_service_parse_option
        - Src:             'fuzzsuite.c:135,2'
          Dst:             master_service_parse_option
        - Src:             'fuzzsuite.c:139,3'
          Dst:             settings_info_register
        - Src:             'fuzzsuite.c:142,11'
          Dst:             sieve_tool_init_finish
        - Src:             'fuzzsuite.c:146,36'
          Dst:             sieve_tool_get_homedir
        - Src:             'fuzzsuite.c:146,2'
          Dst:             testsuite_init
        - Src:             'fuzzsuite.c:149,2'
          Dst:             printf
        - Src:             'fuzzsuite.c:152,3'
          Dst:             settings_instance_find
        - Src:             'fuzzsuite.c:155,2'
          Dst:             settings_override
        - Src:             'fuzzsuite.c:157,2'
          Dst:             settings_override
        - Src:             'fuzzsuite.c:161,2'
          Dst:             settings_override
        - Src:             'fuzzsuite.c:165,2'
          Dst:             settings_override
        - Src:             'fuzzsuite.c:170,6'
          Dst:             t_strdup_printf
        - Src:             'fuzzsuite.c:168,2'
          Dst:             settings_override
        - Src:             'fuzzsuite.c:174,2'
          Dst:             settings_override
        - Src:             'fuzzsuite.c:176,2'
          Dst:             settings_override
        - Src:             'fuzzsuite.c:180,2'
          Dst:             settings_override
        - Src:             'fuzzsuite.c:184,2'
          Dst:             settings_override
        - Src:             'fuzzsuite.c:189,6'
          Dst:             t_strdup_printf
        - Src:             'fuzzsuite.c:187,2'
          Dst:             settings_override
        - Src:             'fuzzsuite.c:196,10'
          Dst:             i_stream_create_from_data
        - Src:             'fuzzsuite.c:197,11'
          Dst:             sieve_data_script_create_from_input
        - Src:             'fuzzsuite.c:201,6'
          Dst:             sieve_compile_script
        - Src:             'fuzzsuite.c:203,3'
          Dst:             testsuite_testcase_fail
        - Src:             'fuzzsuite.c:215,3'
          Dst:             testsuite_mailstore_init
        - Src:             'fuzzsuite.c:216,3'
          Dst:             testsuite_message_init
        - Src:             'fuzzsuite.c:219,8'
          Dst:             testsuite_mailstore_get_user
        - Src:             'fuzzsuite.c:218,7'
          Dst:             sieve_script_env_init
        - Src:             'fuzzsuite.c:221,4'
          Dst:             i_fatal
        - Src:             'fuzzsuite.c:241,3'
          Dst:             testsuite_result_init
        - Src:             'fuzzsuite.c:244,9'
          Dst:             testsuite_run
        - Src:             'fuzzsuite.c:252,4'
          Dst:             testsuite_testcase_fail
        - Src:             'fuzzsuite.c:256,4'
          Dst:             i_panic
        - Src:             'fuzzsuite.c:259,4'
          Dst:             i_panic
        - Src:             'fuzzsuite.c:263,3'
          Dst:             sieve_close
        - Src:             'fuzzsuite.c:266,3'
          Dst:             testsuite_result_deinit
        - Src:             'fuzzsuite.c:267,3'
          Dst:             testsuite_message_deinit
        - Src:             'fuzzsuite.c:268,3'
          Dst:             testsuite_mailstore_deinit
        - Src:             'fuzzsuite.c:278,2'
          Dst:             sieve_script_unref
        - Src:             'fuzzsuite.c:279,2'
          Dst:             i_stream_destroy
        - Src:             'fuzzsuite.c:282,2'
          Dst:             testsuite_deinit
        - Src:             'fuzzsuite.c:284,2'
          Dst:             sieve_tool_deinit
        - Src:             'fuzzsuite.c:286,2'
          Dst:             testsuite_testcase_result
        - Src:             'fuzzsuite.c:288,1'
          Dst:             t_pop
        - Src:             'fuzzsuite.c:288,1'
          Dst:             i_panic
        - Src:             'fuzzsuite.c:288,1'
          Dst:             fuzzer_deinit
    - functionName:    fuzzer_init
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fuzz_die
      functionSourceFile: '/src/pigeonhole/src/testsuite/fuzzsuite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - _exit
        - printf
        - testsuite_tmp_dir_deinit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzzsuite.c:98,2'
          Dst:             printf
        - Src:             'fuzzsuite.c:100,2'
          Dst:             testsuite_tmp_dir_deinit
        - Src:             'fuzzsuite.c:103,2'
          Dst:             _exit
    - functionName:    lib_signals_set_handler
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    master_service_parse_option
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    settings_info_register
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_create_from_data
      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:    sieve_data_script_create_from_input
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_compile_script
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_script_unref
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_stream_destroy
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fuzzer_deinit
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    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:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_count_i
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/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:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      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:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    str_begins_builtin_success
      functionSourceFile: '/src/dovecot/src/lib/strfuncs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_parse_trace_option
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 743
      functionLinenumberEnd: 769
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         37
      ICount:          160
      EdgeCount:       47
      CyclomaticComplexity: 12
      functionsReached:
        - i_fatal_status
        - str_begins
        - str_begins_builtin_success
        - strcmp
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:746,6'
          Dst:             str_begins
        - Src:             'sieve-tool.c:746,6'
          Dst:             strncmp
        - Src:             'sieve-tool.c:746,6'
          Dst:             str_begins_builtin_success
        - Src:             'sieve-tool.c:747,7'
          Dst:             strcmp
        - Src:             'sieve-tool.c:749,14'
          Dst:             strcmp
        - Src:             'sieve-tool.c:751,14'
          Dst:             strcmp
        - Src:             'sieve-tool.c:753,14'
          Dst:             strcmp
        - Src:             'sieve-tool.c:755,14'
          Dst:             strcmp
        - Src:             'sieve-tool.c:758,4'
          Dst:             i_fatal_status
        - Src:             'sieve-tool.c:761,13'
          Dst:             strcmp
        - Src:             'sieve-tool.c:763,13'
          Dst:             strcmp
        - Src:             'sieve-tool.c:766,3'
          Dst:             i_fatal_status
    - functionName:    str_begins
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i_fatal_status
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_dump_binary_to
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 715
      functionLinenumberEnd: 735
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - i_fatal
        - o_stream_destroy
        - o_stream_finish
        - o_stream_get_error
        - sieve_dump
        - sieve_hexdump
        - sieve_tool_open_output_stream
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:721,15'
          Dst:             sieve_tool_open_output_stream
        - Src:             'sieve-tool.c:724,10'
          Dst:             sieve_hexdump
        - Src:             'sieve-tool.c:726,10'
          Dst:             sieve_dump
        - Src:             'sieve-tool.c:727,7'
          Dst:             o_stream_finish
        - Src:             'sieve-tool.c:729,5'
          Dst:             o_stream_get_error
        - Src:             'sieve-tool.c:728,4'
          Dst:             i_fatal
        - Src:             'sieve-tool.c:731,3'
          Dst:             o_stream_destroy
        - Src:             'sieve-tool.c:733,3'
          Dst:             i_fatal
    - functionName:    sieve_tool_open_output_stream
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 581
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_fatal
        - o_stream_create_fd
        - o_stream_create_fd_autoclose
        - open
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:585,6'
          Dst:             strcmp
        - Src:             'sieve-tool.c:586,15'
          Dst:             o_stream_create_fd
        - Src:             'sieve-tool.c:588,8'
          Dst:             open
        - Src:             'sieve-tool.c:590,4'
          Dst:             i_fatal
        - Src:             'sieve-tool.c:592,15'
          Dst:             o_stream_create_fd_autoclose
    - functionName:    sieve_hexdump
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_dump
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_script_open
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 710
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          116
      EdgeCount:       22
      CyclomaticComplexity: 5
      functionsReached:
        - i_fatal
        - i_panic
        - sieve_error_handler_accept_debuglog
        - sieve_error_handler_accept_infolog
        - sieve_error_handler_unref
        - sieve_open
        - sieve_save
        - sieve_stderr_ehandler_create
        - sieve_storage_name_is_valid
        - sieve_tool_script_parse_location
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:687,13'
          Dst:             sieve_stderr_ehandler_create
        - Src:             'sieve-tool.c:688,2'
          Dst:             sieve_error_handler_accept_infolog
        - Src:             'sieve-tool.c:689,2'
          Dst:             sieve_error_handler_accept_debuglog
        - Src:             'sieve-tool.c:691,6'
          Dst:             sieve_storage_name_is_valid
        - Src:             'sieve-tool.c:692,6'
          Dst:             sieve_open
        - Src:             'sieve-tool.c:695,3'
          Dst:             i_fatal
        - Src:             'sieve-tool.c:700,3'
          Dst:             sieve_tool_script_parse_location
        - Src:             'sieve-tool.c:701,7'
          Dst:             sieve_open
        - Src:             'sieve-tool.c:703,4'
          Dst:             i_fatal
        - Src:             'sieve-tool.c:705,2'
          Dst:             i_panic
        - Src:             'sieve-tool.c:707,2'
          Dst:             sieve_error_handler_unref
        - Src:             'sieve-tool.c:709,2'
          Dst:             sieve_save
    - functionName:    sieve_stderr_ehandler_create
      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:    sieve_storage_name_is_valid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      bool
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_open
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_script_parse_location
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 605
      functionLinenumberEnd: 645
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          111
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - settings_instance_find
        - settings_override
        - strchr
        - strcmp
        - t_strdup_printf
        - t_strdup_until
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:607,21'
          Dst:             strchr
        - Src:             'sieve-tool.c:613,19'
          Dst:             t_strdup_until
        - Src:             'sieve-tool.c:614,7'
          Dst:             strcmp
        - Src:             'sieve-tool.c:623,3'
          Dst:             settings_instance_find
        - Src:             'sieve-tool.c:624,23'
          Dst:             t_strdup_printf
        - Src:             'sieve-tool.c:626,2'
          Dst:             settings_override
        - Src:             'sieve-tool.c:629,6'
          Dst:             t_strdup_printf
        - Src:             'sieve-tool.c:628,2'
          Dst:             settings_override
        - Src:             'sieve-tool.c:632,6'
          Dst:             t_strdup_printf
        - Src:             'sieve-tool.c:631,2'
          Dst:             settings_override
        - Src:             'sieve-tool.c:635,6'
          Dst:             t_strdup_printf
        - Src:             'sieve-tool.c:634,2'
          Dst:             settings_override
        - Src:             'sieve-tool.c:639,18'
          Dst:             t_strdup_printf
        - Src:             'sieve-tool.c:638,3'
          Dst:             settings_override
    - functionName:    sieve_save
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_script_compile
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 649
      functionLinenumberEnd: 676
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          114
      EdgeCount:       22
      CyclomaticComplexity: 5
      functionsReached:
        - i_fatal
        - i_panic
        - sieve_compile
        - sieve_error_handler_accept_debuglog
        - sieve_error_handler_accept_infolog
        - sieve_error_handler_unref
        - sieve_stderr_ehandler_create
        - sieve_storage_name_is_valid
        - sieve_tool_script_parse_location
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:655,13'
          Dst:             sieve_stderr_ehandler_create
        - Src:             'sieve-tool.c:656,2'
          Dst:             sieve_error_handler_accept_infolog
        - Src:             'sieve-tool.c:657,2'
          Dst:             sieve_error_handler_accept_debuglog
        - Src:             'sieve-tool.c:659,6'
          Dst:             sieve_storage_name_is_valid
        - Src:             'sieve-tool.c:660,6'
          Dst:             sieve_compile
        - Src:             'sieve-tool.c:663,3'
          Dst:             i_fatal
        - Src:             'sieve-tool.c:668,3'
          Dst:             sieve_tool_script_parse_location
        - Src:             'sieve-tool.c:669,7'
          Dst:             sieve_compile
        - Src:             'sieve-tool.c:671,4'
          Dst:             i_fatal
        - Src:             'sieve-tool.c:673,2'
          Dst:             i_panic
        - Src:             'sieve-tool.c:675,2'
          Dst:             sieve_error_handler_unref
    - functionName:    sieve_tool_get_address
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 518
      functionLinenumberEnd: 535
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          104
      EdgeCount:       26
      CyclomaticComplexity: 9
      functionsReached:
        - mail_get_first_header
        - message_address_parse
        - pool_datastack_create
        - smtp_address_create_from_msg_temp
        - strlen
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:523,6'
          Dst:             mail_get_first_header
        - Src:             'sieve-tool.c:525,31'
          Dst:             pool_datastack_create
        - Src:             'sieve-tool.c:527,10'
          Dst:             strlen
        - Src:             'sieve-tool.c:525,9'
          Dst:             message_address_parse
        - Src:             'sieve-tool.c:532,6'
          Dst:             smtp_address_create_from_msg_temp
    - functionName:    sieve_tool_get_envelope_data
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 542
      functionLinenumberEnd: 574
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          155
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - malloc_multiply_check
        - sieve_tool_get_address
        - smtp_address_create_temp
        - t_malloc0
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:547,12'
          Dst:             sieve_tool_get_address
        - Src:             'sieve-tool.c:549,12'
          Dst:             sieve_tool_get_address
        - Src:             'sieve-tool.c:551,12'
          Dst:             sieve_tool_get_address
        - Src:             'sieve-tool.c:553,12'
          Dst:             smtp_address_create_temp
        - Src:             'sieve-tool.c:557,16'
          Dst:             sieve_tool_get_address
        - Src:             'sieve-tool.c:559,16'
          Dst:             sieve_tool_get_address
        - Src:             'sieve-tool.c:561,16'
          Dst:             smtp_address_create_temp
        - Src:             'sieve-tool.c:570,16'
          Dst:             malloc_multiply_check
        - Src:             'sieve-tool.c:570,16'
          Dst:             t_malloc0
    - functionName:    smtp_address_create_temp
      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:    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:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - i_panic
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/malloc-overflow.h:18,3'
          Dst:             i_panic
    - functionName:    sieve_tool_get_mail_storage_service
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 507
      functionLinenumberEnd: 509
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_tool_init_mail_raw_user
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:508,2'
          Dst:             sieve_tool_init_mail_raw_user
    - functionName:    sieve_tool_init_mail_raw_user
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mail_raw_user_create
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:404,25'
          Dst:             mail_raw_user_create
    - functionName:    mail_raw_user_create
      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:    sieve_tool_get_mail_raw_user
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 500
      functionLinenumberEnd: 502
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_tool_init_mail_raw_user
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:501,2'
          Dst:             sieve_tool_init_mail_raw_user
    - functionName:    sieve_tool_get_mail_user
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 496
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_get_username
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 476
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sieve_tool_get_user_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:471,3'
          Dst:             sieve_tool_get_user_data
    - functionName:    sieve_tool_get_user_data
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          140
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - dec2str
        - getenv
        - geteuid
        - getpwuid
        - i_fatal
        - t_strdup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:94,23'
          Dst:             geteuid
        - Src:             'sieve-tool.c:98,9'
          Dst:             getenv
        - Src:             'sieve-tool.c:99,9'
          Dst:             getenv
        - Src:             'sieve-tool.c:102,8'
          Dst:             getpwuid
        - Src:             'sieve-tool.c:112,5'
          Dst:             dec2str
        - Src:             'sieve-tool.c:111,4'
          Dst:             i_fatal
        - Src:             'sieve-tool.c:115,17'
          Dst:             t_strdup
        - Src:             'sieve-tool.c:119,16'
          Dst:             t_strdup
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getpwuid
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dec2str
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_set_setting_callback
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 460
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_set_homedir
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 452
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          108
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - i_panic
        - mail_user_set_home
        - p_strdup
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:441,2'
          Dst:             i_panic
        - Src:             'sieve-tool.c:443,31'
          Dst:             strcmp
        - Src:             'sieve-tool.c:446,18'
          Dst:             p_strdup
        - Src:             'sieve-tool.c:449,3'
          Dst:             mail_user_set_home
        - Src:             'sieve-tool.c:451,3'
          Dst:             mail_user_set_home
    - functionName:    mail_user_set_home
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_open_data_as_mail
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 432
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mail_raw_close
        - mail_raw_open_data
        - sieve_tool_init_mail_raw_user
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:425,2'
          Dst:             sieve_tool_init_mail_raw_user
        - Src:             'sieve-tool.c:428,3'
          Dst:             mail_raw_close
        - Src:             'sieve-tool.c:430,19'
          Dst:             mail_raw_open_data
    - functionName:    sieve_tool_open_file_as_mail
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mail_raw_close
        - mail_raw_open_file
        - sieve_tool_init_mail_raw_user
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:412,2'
          Dst:             sieve_tool_init_mail_raw_user
        - Src:             'sieve-tool.c:415,3'
          Dst:             mail_raw_close
        - Src:             'sieve-tool.c:417,19'
          Dst:             mail_raw_open_file
    - functionName:    sieve_tool_get_homedir
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 479
      functionLinenumberEnd: 491
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          62
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - mail_user_get_home
        - sieve_tool_get_user_data
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:486,6'
          Dst:             mail_user_get_home
        - Src:             'sieve-tool.c:489,2'
          Dst:             sieve_tool_get_user_data
    - functionName:    mail_user_get_home
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_init_mail_user
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          147
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - i_fatal
        - mail_namespaces_init_location
        - mail_storage_service_lookup_next
        - mail_storage_service_user_get_settings_instance
        - mail_user_init
        - mail_user_set_home
        - sieve_tool_get_homedir
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:375,3'
          Dst:             mail_storage_service_user_get_settings_instance
        - Src:             'sieve-tool.c:382,6'
          Dst:             mail_storage_service_lookup_next
        - Src:             'sieve-tool.c:384,3'
          Dst:             i_fatal
        - Src:             'sieve-tool.c:386,9'
          Dst:             sieve_tool_get_homedir
        - Src:             'sieve-tool.c:388,3'
          Dst:             mail_user_set_home
        - Src:             'sieve-tool.c:390,6'
          Dst:             mail_user_init
        - Src:             'sieve-tool.c:391,4'
          Dst:             i_fatal
        - Src:             'sieve-tool.c:393,6'
          Dst:             mail_namespaces_init_location
        - Src:             'sieve-tool.c:395,3'
          Dst:             i_fatal
    - functionName:    mail_user_init
      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:    mail_namespaces_init_location
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_deinit
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 361
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          93
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - mail_raw_close
        - mail_storage_service_deinit
        - mail_user_unref
        - master_service_deinit
        - pool_unref
        - sieve_deinit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:336,2'
          Dst:             sieve_deinit
        - Src:             'sieve-tool.c:341,3'
          Dst:             mail_raw_close
        - Src:             'sieve-tool.c:344,3'
          Dst:             mail_user_unref
        - Src:             'sieve-tool.c:349,3'
          Dst:             mail_user_unref
        - Src:             'sieve-tool.c:351,3'
          Dst:             mail_user_unref
        - Src:             'sieve-tool.c:353,2'
          Dst:             mail_storage_service_deinit
        - Src:             'sieve-tool.c:357,2'
          Dst:             pool_unref
        - Src:             'sieve-tool.c:360,2'
          Dst:             master_service_deinit
    - functionName:    sieve_deinit
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mail_storage_service_deinit
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    master_service_deinit
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_load_plugins
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          82
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - array_get_i
        - sieve_plugins_load
        - strrchr
        - t_strdup_until
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:224,12'
          Dst:             array_get_i
        - Src:             'sieve-tool.c:226,29'
          Dst:             strrchr
        - Src:             'sieve-tool.c:229,11'
          Dst:             t_strdup_until
        - Src:             'sieve-tool.c:236,3'
          Dst:             sieve_plugins_load
    - functionName:    sieve_plugins_load
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_init_finish
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 326
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - bool
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          312
      EdgeCount:       48
      CyclomaticComplexity: 12
      functionsReached:
        - array_count_i
        - i_fatal
        - mail_storage_service_init
        - mail_storage_service_lookup_next
        - mail_user_get_home
        - master_service_init_finish
        - master_service_settings_read_simple
        - my_hostdomain
        - p_strdup
        - sieve_init
        - sieve_set_extensions
        - sieve_tool_get_user_data
        - sieve_tool_load_plugins
        - t_strconcat
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:253,6'
          Dst:             master_service_settings_read_simple
        - Src:             'sieve-tool.c:254,3'
          Dst:             i_fatal
        - Src:             'sieve-tool.c:256,2'
          Dst:             master_service_init_finish
        - Src:             'sieve-tool.c:262,3'
          Dst:             sieve_tool_get_user_data
        - Src:             'sieve-tool.c:264,31'
          Dst:             p_strdup
        - Src:             'sieve-tool.c:266,19'
          Dst:             p_strdup
        - Src:             'sieve-tool.c:283,4'
          Dst:             t_strconcat
        - Src:             'sieve-tool.c:292,26'
          Dst:             mail_storage_service_init
        - Src:             'sieve-tool.c:294,6'
          Dst:             mail_storage_service_lookup_next
        - Src:             'sieve-tool.c:297,3'
          Dst:             i_fatal
        - Src:             'sieve-tool.c:301,8'
          Dst:             mail_user_get_home
        - Src:             'sieve-tool.c:302,19'
          Dst:             my_hostdomain
        - Src:             'sieve-tool.c:311,6'
          Dst:             sieve_init
        - Src:             'sieve-tool.c:313,3'
          Dst:             i_fatal
        - Src:             'sieve-tool.c:316,6'
          Dst:             array_count_i
        - Src:             'sieve-tool.c:317,3'
          Dst:             sieve_tool_load_plugins
        - Src:             'sieve-tool.c:321,3'
          Dst:             sieve_set_extensions
        - Src:             'sieve-tool.c:323,3'
          Dst:             sieve_set_extensions
    - functionName:    master_service_settings_read_simple
      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:    master_service_init_finish
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mail_storage_service_init
      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:    my_hostdomain
      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:    sieve_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_set_extensions
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sieve_tool_sieve_get_homedir
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sieve_tool_get_homedir
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:80,9'
          Dst:             sieve_tool_get_homedir
    - 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:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buffer_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/array.h:212,2'
          Dst:             buffer_append
    - functionName:    sieve_tool_getopt
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          128
      EdgeCount:       23
      CyclomaticComplexity: 3
      functionsReached:
        - array_append_i
        - i_fatal_status
        - i_panic
        - master_getopt
        - p_strdup
      functionUses:    0
      BranchProfiles:
        - Branch String:   'sieve-tool.c:185,3'
          Branch Sides:    []
      Callsites:
        - Src:             'sieve-tool.c:183,2'
          Dst:             i_panic
        - Src:             'sieve-tool.c:184,14'
          Dst:             master_getopt
        - Src:             'sieve-tool.c:189,5'
          Dst:             i_fatal_status
        - Src:             'sieve-tool.c:194,29'
          Dst:             p_strdup
        - Src:             'sieve-tool.c:198,22'
          Dst:             p_strdup
        - Src:             'sieve-tool.c:204,13'
          Dst:             p_strdup
        - Src:             'sieve-tool.c:205,4'
          Dst:             array_append_i
    - functionName:    master_getopt
      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:    sieve_tool_init_fuzzer
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          67
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - array_create_i
        - malloc_multiply_check
        - master_service_init
        - p_malloc
        - p_strdup
        - pool_alloconly_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:161,9'
          Dst:             pool_alloconly_create
        - Src:             'sieve-tool.c:162,14'
          Dst:             p_strdup
        - Src:             'sieve-tool.c:163,16'
          Dst:             malloc_multiply_check
        - Src:             'sieve-tool.c:163,16'
          Dst:             p_malloc
        - Src:             'sieve-tool.c:166,19'
          Dst:             master_service_init
        - Src:             'sieve-tool.c:169,9'
          Dst:             malloc_multiply_check
        - Src:             'sieve-tool.c:169,9'
          Dst:             p_malloc
        - Src:             'sieve-tool.c:175,2'
          Dst:             array_create_i
    - 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:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - i_panic
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/mempool.h:119,3'
          Dst:             i_panic
    - functionName:    master_service_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      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:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_from_buffer_i
        - buffer_create_dynamic_max
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dovecot/src/lib/array.h:148,11'
          Dst:             buffer_create_dynamic_max
        - Src:             'dovecot/src/lib/array.h:151,2'
          Dst:             array_create_from_buffer_i
    - functionName:    sieve_tool_init
      functionSourceFile: '/src/pigeonhole/src/lib-sieve-tool/sieve-tool.c'
      linkageType:     externalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - bool
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          80
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - array_create_i
        - malloc_multiply_check
        - master_service_init
        - p_malloc
        - p_strdup
        - pool_alloconly_create
        - t_strconcat
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sieve-tool.c:136,15'
          Dst:             t_strconcat
        - Src:             'sieve-tool.c:137,19'
          Dst:             master_service_init
        - Src:             'sieve-tool.c:140,9'
          Dst:             pool_alloconly_create
        - Src:             'sieve-tool.c:141,9'
          Dst:             malloc_multiply_check
        - Src:             'sieve-tool.c:141,9'
          Dst:             p_malloc
        - Src:             'sieve-tool.c:143,15'
          Dst:             p_strdup
        - Src:             'sieve-tool.c:146,2'
          Dst:             array_create_i
...
