---
Fuzzer filename: '/src/krb5/src/tests/fuzzing/fuzz_profile.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/krb5/src/tests/fuzzing/fuzz_profile.c'
      linkageType:     externalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - data
        - size
      BBCount:         19
      ICount:          120
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - fclose
        - fopen
        - fwrite
        - getpid
        - initialize_prof_error_table
        - profile_free_node
        - profile_parse_file
        - profile_verify_node
        - profile_write_tree_to_buffer
        - snprintf
        - unlink
      functionUses:    0
      BranchProfiles:
        - Branch String:   'fuzz_profile.c:54,32'
          Branch Sides:
            - BranchSide:      'fuzz_profile.c:54,35'
              BranchSideFuncs: []
            - BranchSide:      'fuzz_profile.c:55,9'
              BranchSideFuncs: []
        - Branch String:   'fuzz_profile.c:54,9'
          Branch Sides:
            - BranchSide:      'fuzz_profile.c:55,9'
              BranchSideFuncs: []
            - BranchSide:      'fuzz_profile.c:57,14'
              BranchSideFuncs:
                - getpid
                - snprintf
                - fopen
                - fwrite
                - fclose
                - fopen
                - initialize_prof_error_table
                - profile_parse_file
                - profile_write_tree_to_buffer
                - free
                - profile_verify_node
                - profile_free_node
                - fclose
                - unlink
        - Branch String:   'fuzz_profile.c:61,9'
          Branch Sides:
            - BranchSide:      'fuzz_profile.c:62,9'
              BranchSideFuncs:
                - fwrite
                - fclose
                - fopen
                - initialize_prof_error_table
                - profile_parse_file
                - profile_write_tree_to_buffer
                - free
                - profile_verify_node
                - profile_free_node
                - fclose
                - unlink
            - BranchSide:      'fuzz_profile.c:63,12'
              BranchSideFuncs:
                - fwrite
                - fclose
                - fopen
                - initialize_prof_error_table
                - profile_parse_file
                - profile_write_tree_to_buffer
                - free
                - profile_verify_node
                - profile_free_node
                - fclose
                - unlink
        - Branch String:   'fuzz_profile.c:68,9'
          Branch Sides:
            - BranchSide:      'fuzz_profile.c:69,9'
              BranchSideFuncs:
                - initialize_prof_error_table
                - profile_parse_file
                - profile_write_tree_to_buffer
                - free
                - profile_verify_node
                - profile_free_node
                - fclose
                - unlink
            - BranchSide:      'fuzz_profile.c:71,5'
              BranchSideFuncs:
                - initialize_prof_error_table
                - profile_parse_file
                - profile_write_tree_to_buffer
                - free
                - profile_verify_node
                - profile_free_node
                - fclose
                - unlink
        - Branch String:   'fuzz_profile.c:74,9'
          Branch Sides:
            - BranchSide:      'fuzz_profile.c:75,44'
              BranchSideFuncs:
                - fclose
                - unlink
            - BranchSide:      'fuzz_profile.c:83,12'
              BranchSideFuncs:
                - fclose
                - unlink
        - Branch String:   'fuzz_profile.c:76,13'
          Branch Sides:
            - BranchSide:      'fuzz_profile.c:77,18'
              BranchSideFuncs:
                - profile_verify_node
                - profile_free_node
                - fclose
                - unlink
            - BranchSide:      'fuzz_profile.c:79,29'
              BranchSideFuncs:
                - profile_verify_node
                - profile_free_node
                - fclose
                - unlink
      Callsites:
        - Src:             'fuzz_profile.c:57,65'
          Dst:             getpid
        - Src:             'fuzz_profile.c:57,5'
          Dst:             snprintf
        - Src:             'fuzz_profile.c:60,12'
          Dst:             fopen
        - Src:             'fuzz_profile.c:63,5'
          Dst:             fwrite
        - Src:             'fuzz_profile.c:64,5'
          Dst:             fclose
        - Src:             'fuzz_profile.c:67,12'
          Dst:             fopen
        - Src:             'fuzz_profile.c:71,5'
          Dst:             initialize_prof_error_table
        - Src:             'fuzz_profile.c:73,11'
          Dst:             profile_parse_file
        - Src:             'fuzz_profile.c:75,15'
          Dst:             profile_write_tree_to_buffer
        - Src:             'fuzz_profile.c:79,9'
          Dst:             profile_verify_node
        - Src:             'fuzz_profile.c:80,9'
          Dst:             profile_free_node
        - Src:             'fuzz_profile.c:83,5'
          Dst:             fclose
        - Src:             'fuzz_profile.c:84,5'
          Dst:             unlink
    - functionName:    getpid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    snprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fopen
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fwrite
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fclose
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unlink
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_rename_node
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 703
      functionLinenumberEnd: 759
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - node
        - new_name
      BBCount:         34
      ICount:          219
      EdgeCount:       45
      CyclomaticComplexity: 13
      functionsReached:
        - strcmp
        - strdup
      functionUses:    0
      BranchProfiles:
        - Branch String:   'prof_tree.c:707,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:707,5'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:709,16'
              BranchSideFuncs:
                - strcmp
                - strdup
                - free
                - strcmp
        - Branch String:   'prof_tree.c:709,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:710,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:715,25'
              BranchSideFuncs:
                - strdup
                - free
                - strcmp
        - Branch String:   'prof_tree.c:716,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:717,9'
              BranchSideFuncs:
                - free
                - strcmp
            - BranchSide:      'prof_tree.c:724,12'
              BranchSideFuncs:
                - free
                - strcmp
        - Branch String:   'prof_tree.c:724,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:725,20'
              BranchSideFuncs:
                - strcmp
                - free
            - BranchSide:      'prof_tree.c:732,10'
              BranchSideFuncs:
                - free
        - Branch String:   'prof_tree.c:725,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:726,13'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_tree.c:727,5'
              BranchSideFuncs:
                - free
                - strcmp
        - Branch String:   'prof_tree.c:732,21'
          Branch Sides:
            - BranchSide:      'prof_tree.c:732,25'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_tree.c:756,10'
              BranchSideFuncs:
                - free
        - Branch String:   'prof_tree.c:732,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:736,13'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_tree.c:756,10'
              BranchSideFuncs:
                - free
        - Branch String:   'prof_tree.c:736,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:737,32'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_tree.c:739,41'
              BranchSideFuncs:
                - free
        - Branch String:   'prof_tree.c:740,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:741,32'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_tree.c:746,13'
              BranchSideFuncs:
                - free
        - Branch String:   'prof_tree.c:746,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:747,23'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_tree.c:748,13'
              BranchSideFuncs:
                - free
        - Branch String:   'prof_tree.c:748,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:749,26'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_tree.c:751,41'
              BranchSideFuncs:
                - free
      Callsites:
        - Src:             'prof_tree.c:709,9'
          Dst:             strcmp
        - Src:             'prof_tree.c:715,18'
          Dst:             strdup
        - Src:             'prof_tree.c:725,13'
          Dst:             strcmp
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_set_relation_value
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 679
      functionLinenumberEnd: 695
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - node
        - new_value
      BBCount:         10
      ICount:          66
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - strdup
      functionUses:    0
      BranchProfiles:
        - Branch String:   'prof_tree.c:682,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:682,5'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:684,10'
              BranchSideFuncs:
                - strdup
                - free
        - Branch String:   'prof_tree.c:684,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:685,9'
              BranchSideFuncs:
                - strdup
                - free
            - BranchSide:      'prof_tree.c:687,17'
              BranchSideFuncs:
                - strdup
                - free
        - Branch String:   'prof_tree.c:688,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:689,9'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_tree.c:691,10'
              BranchSideFuncs:
                - free
      Callsites:
        - Src:             'prof_tree.c:687,10'
          Dst:             strdup
    - functionName:    profile_remove_node
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 661
      functionLinenumberEnd: 670
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - node
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'prof_tree.c:662,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:662,5'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:664,9'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:664,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:665,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:667,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    k5_mutex_unlock
      functionSourceFile: '/src/krb5/src/util/profile/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    6
      BranchProfiles:
        - Branch String:   '../../include/k5-thread.h:383,9'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:384,17'
              BranchSideFuncs:
                - strerror
                - fprintf
                - __assert_fail
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   '../../include/k5-thread.h:388,5'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs: []
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             '../../include/k5-thread.h:381,13'
          Dst:             k5_os_mutex_unlock
        - Src:             '../../include/k5-thread.h:385,20'
          Dst:             strerror
        - Src:             '../../include/k5-thread.h:384,9'
          Dst:             fprintf
        - Src:             '../../include/k5-thread.h:388,5'
          Dst:             __assert_fail
    - functionName:    strerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - 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:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __assert_fail
      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:    31
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_mutex_lock
      functionSourceFile: '/src/krb5/src/util/profile/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    4
      BranchProfiles:
        - Branch String:   '../../include/k5-thread.h:371,9'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:372,17'
              BranchSideFuncs:
                - strerror
                - fprintf
                - __assert_fail
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   '../../include/k5-thread.h:376,5'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs: []
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             '../../include/k5-thread.h:369,13'
          Dst:             k5_os_mutex_lock
        - Src:             '../../include/k5-thread.h:373,20'
          Dst:             strerror
        - Src:             '../../include/k5-thread.h:372,9'
          Dst:             fprintf
        - Src:             '../../include/k5-thread.h:376,5'
          Dst:             __assert_fail
    - functionName:    profile_node_iterator
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 653
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - iter_p
        - ret_node
        - ret_name
        - ret_value
      BBCount:         140
      ICount:          849
      EdgeCount:       188
      CyclomaticComplexity: 50
      functionsReached:
        - __assert_fail
        - k5_mutex_lock
        - k5_mutex_unlock
        - profile_node_iterator_free
        - profile_update_file_data_locked
        - strcmp
      functionUses:    0
      BranchProfiles:
        - Branch String:   'prof_tree.c:527,15'
          Branch Sides:
            - BranchSide:      'prof_tree.c:527,18'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
            - BranchSide:      'prof_tree.c:528,9'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:527,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:528,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:529,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
        - Branch String:   'prof_tree.c:529,20'
          Branch Sides:
            - BranchSide:      'prof_tree.c:529,23'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
            - BranchSide:      'prof_tree.c:531,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
        - Branch String:   'prof_tree.c:529,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:530,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:531,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
        - Branch String:   'prof_tree.c:531,20'
          Branch Sides:
            - BranchSide:      'prof_tree.c:531,23'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
            - BranchSide:      'prof_tree.c:537,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
        - Branch String:   'prof_tree.c:531,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:532,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:537,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
        - Branch String:   'prof_tree.c:537,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:538,24'
              BranchSideFuncs:
                - k5_mutex_lock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:539,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:539,20'
          Branch Sides:
            - BranchSide:      'prof_tree.c:539,24'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:544,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:539,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:540,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:544,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:544,20'
          Branch Sides:
            - BranchSide:      'prof_tree.c:544,23'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:544,44'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:544,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:544,44'
              BranchSideFuncs:
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:545,13'
              BranchSideFuncs:
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:545,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:546,30'
              BranchSideFuncs:
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:547,9'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:550,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:551,13'
              BranchSideFuncs:
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:614,14'
              BranchSideFuncs:
                - k5_mutex_unlock
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
        - Branch String:   'prof_tree.c:551,29'
          Branch Sides:
            - BranchSide:      'prof_tree.c:552,14'
              BranchSideFuncs:
                - profile_node_iterator_free
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:553,17'
              BranchSideFuncs:
                - profile_node_iterator_free
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:551,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:553,17'
              BranchSideFuncs:
                - profile_node_iterator_free
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:564,23'
              BranchSideFuncs:
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
        - Branch String:   'prof_tree.c:553,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:554,34'
              BranchSideFuncs:
                - k5_mutex_unlock
                - profile_node_iterator_free
            - BranchSide:      'prof_tree.c:555,40'
              BranchSideFuncs:
                - profile_node_iterator_free
        - Branch String:   'prof_tree.c:556,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:557,18'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:558,17'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:558,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:559,18'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:560,17'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:560,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:561,18'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:562,13'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:564,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:565,30'
              BranchSideFuncs:
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
            - BranchSide:      'prof_tree.c:579,29'
              BranchSideFuncs:
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
        - Branch String:   'prof_tree.c:566,34'
          Branch Sides:
            - BranchSide:      'prof_tree.c:566,37'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
            - BranchSide:      'prof_tree.c:568,30'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
        - Branch String:   'prof_tree.c:566,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:568,30'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
            - BranchSide:      'prof_tree.c:575,44'
              BranchSideFuncs:
                - profile_node_iterator_free
        - Branch String:   'prof_tree.c:569,21'
          Branch Sides:
            - BranchSide:      'prof_tree.c:570,36'
              BranchSideFuncs:
                - k5_mutex_lock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - profile_node_iterator_free
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:571,26'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:585,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:585,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
            - BranchSide:      'prof_tree.c:586,20'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
        - Branch String:   'prof_tree.c:586,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:587,20'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
            - BranchSide:      'prof_tree.c:599,14'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
        - Branch String:   'prof_tree.c:587,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:588,29'
              BranchSideFuncs:
                - strcmp
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
            - BranchSide:      'prof_tree.c:591,18'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
        - Branch String:   'prof_tree.c:588,44'
          Branch Sides:
            - BranchSide:      'prof_tree.c:588,48'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
            - BranchSide:      'prof_tree.c:590,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
        - Branch String:   'prof_tree.c:588,57'
          Branch Sides:
            - BranchSide:      'prof_tree.c:588,61'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
            - BranchSide:      'prof_tree.c:590,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
        - Branch String:   'prof_tree.c:588,21'
          Branch Sides:
            - BranchSide:      'prof_tree.c:589,21'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
            - BranchSide:      'prof_tree.c:590,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
        - Branch String:   'prof_tree.c:591,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:592,25'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
            - BranchSide:      'prof_tree.c:595,23'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
        - Branch String:   'prof_tree.c:596,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:597,17'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
            - BranchSide:      'prof_tree.c:598,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
        - Branch String:   'prof_tree.c:599,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:600,30'
              BranchSideFuncs:
                - k5_mutex_unlock
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
            - BranchSide:      'prof_tree.c:607,23'
              BranchSideFuncs:
                - k5_mutex_unlock
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
        - Branch String:   'prof_tree.c:602,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:603,32'
              BranchSideFuncs:
                - k5_mutex_lock
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:604,22'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:614,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:615,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
            - BranchSide:      'prof_tree.c:633,5'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:615,24'
          Branch Sides:
            - BranchSide:      'prof_tree.c:615,34'
              BranchSideFuncs:
                - strcmp
                - k5_mutex_unlock
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:617,14'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:615,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:616,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
            - BranchSide:      'prof_tree.c:617,14'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:617,56'
          Branch Sides:
            - BranchSide:      'prof_tree.c:618,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:620,14'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:617,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:619,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
            - BranchSide:      'prof_tree.c:620,14'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:620,57'
          Branch Sides:
            - BranchSide:      'prof_tree.c:621,14'
              BranchSideFuncs:
                - k5_mutex_unlock
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
            - BranchSide:      'prof_tree.c:623,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:620,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:622,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:623,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:623,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:624,21'
              BranchSideFuncs:
                - k5_mutex_unlock
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
            - BranchSide:      'prof_tree.c:627,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:627,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:628,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
            - BranchSide:      'prof_tree.c:629,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:629,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:630,13'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:631,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:634,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:635,26'
              BranchSideFuncs:
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:643,22'
              BranchSideFuncs:
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:637,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:638,28'
              BranchSideFuncs:
                - k5_mutex_lock
                - k5_mutex_unlock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
            - BranchSide:      'prof_tree.c:639,9'
              BranchSideFuncs:
                - k5_mutex_unlock
                - k5_mutex_lock
                - k5_mutex_unlock
                - strcmp
                - profile_update_file_data_locked
                - __assert_fail
                - k5_mutex_unlock
                - k5_mutex_lock
                - strcmp
                - k5_mutex_unlock
                - profile_node_iterator_free
                - k5_mutex_lock
                - profile_node_iterator_free
                - k5_mutex_unlock
        - Branch String:   'prof_tree.c:644,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:645,22'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:646,9'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:646,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:647,21'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:648,9'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:648,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:649,21'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:650,9'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:650,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:651,22'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:652,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_tree.c:538,9'
          Dst:             k5_mutex_lock
        - Src:             'prof_tree.c:546,13'
          Dst:             k5_mutex_unlock
        - Src:             'prof_tree.c:554,17'
          Dst:             k5_mutex_unlock
        - Src:             'prof_tree.c:555,13'
          Dst:             profile_node_iterator_free
        - Src:             'prof_tree.c:564,23'
          Dst:             profile_update_file_data_locked
        - Src:             'prof_tree.c:565,13'
          Dst:             k5_mutex_unlock
        - Src:             'prof_tree.c:570,21'
          Dst:             k5_mutex_lock
        - Src:             'prof_tree.c:575,17'
          Dst:             profile_node_iterator_free
        - Src:             'prof_tree.c:585,9'
          Dst:             __assert_fail
        - Src:             'prof_tree.c:588,22'
          Dst:             strcmp
        - Src:             'prof_tree.c:600,13'
          Dst:             k5_mutex_unlock
        - Src:             'prof_tree.c:603,17'
          Dst:             k5_mutex_lock
        - Src:             'prof_tree.c:615,27'
          Dst:             strcmp
        - Src:             'prof_tree.c:635,9'
          Dst:             k5_mutex_unlock
        - Src:             'prof_tree.c:638,13'
          Dst:             k5_mutex_lock
        - Src:             'prof_tree.c:643,5'
          Dst:             k5_mutex_unlock
    - functionName:    profile_node_iterator_free
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 508
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - iter_p
      BBCount:         11
      ICount:          52
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'prof_tree.c:501,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:502,9'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_tree.c:503,13'
              BranchSideFuncs:
                - free
        - Branch String:   'prof_tree.c:504,15'
          Branch Sides:
            - BranchSide:      'prof_tree.c:504,18'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_tree.c:505,9'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:504,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:505,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:506,10'
              BranchSideFuncs:
                - free
      Callsites:       []
    - functionName:    profile_node_iterator_create
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - profile
        - names
        - flags
        - ret_iter
      BBCount:         17
      ICount:          126
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'prof_tree.c:470,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:471,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:472,9'
              BranchSideFuncs:
                - malloc
        - Branch String:   'prof_tree.c:472,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:473,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:474,10'
              BranchSideFuncs:
                - malloc
        - Branch String:   'prof_tree.c:474,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:475,9'
              BranchSideFuncs:
                - malloc
            - BranchSide:      'prof_tree.c:476,11'
              BranchSideFuncs:
                - malloc
        - Branch String:   'prof_tree.c:476,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:477,14'
              BranchSideFuncs:
                - malloc
            - BranchSide:      'prof_tree.c:482,12'
              BranchSideFuncs:
                - malloc
        - Branch String:   'prof_tree.c:477,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:478,13'
              BranchSideFuncs:
                - malloc
            - BranchSide:      'prof_tree.c:479,18'
              BranchSideFuncs:
                - malloc
        - Branch String:   'prof_tree.c:483,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:484,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:486,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    profile_get_node_parent
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 442
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - section
        - parent
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_find_node_subsection
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 420
      functionLinenumberEnd: 435
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - section
        - name
        - state
        - ret_name
        - subsection
      BBCount:         15
      ICount:          87
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - profile_find_node
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_tree.c:425,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:426,16'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:428,9'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:428,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:429,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:434,5'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:429,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:430,27'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:431,13'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:431,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:432,25'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:433,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_tree.c:424,14'
          Dst:             profile_find_node
    - functionName:    profile_find_node
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 308
      functionLinenumberEnd: 365
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - section
        - name
        - value
        - section_flag
        - state
        - node
      BBCount:         64
      ICount:          314
      EdgeCount:       87
      CyclomaticComplexity: 25
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:
        - Branch String:   'prof_tree.c:311,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:311,5'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:312,10'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:313,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:314,9'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:316,13'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:314,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:314,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:315,5'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:318,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:319,13'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:337,9'
              BranchSideFuncs:
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:319,18'
          Branch Sides:
            - BranchSide:      'prof_tree.c:319,29'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:321,13'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:319,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:320,13'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:321,13'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:321,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:322,17'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:325,18'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:322,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:323,17'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:324,9'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:325,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:326,17'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:327,17'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:330,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:331,13'
              BranchSideFuncs:
                - strcmp
                - strcmp
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:333,13'
              BranchSideFuncs:
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:333,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:334,21'
              BranchSideFuncs:
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:335,9'
              BranchSideFuncs:
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:337,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:338,10'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:346,14'
              BranchSideFuncs:
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:346,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:347,13'
              BranchSideFuncs:
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:363,14'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:347,18'
          Branch Sides:
            - BranchSide:      'prof_tree.c:347,29'
              BranchSideFuncs:
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:349,13'
              BranchSideFuncs:
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:347,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:348,13'
              BranchSideFuncs:
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:349,13'
              BranchSideFuncs:
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:349,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:350,17'
              BranchSideFuncs:
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:353,18'
              BranchSideFuncs:
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:350,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:351,17'
              BranchSideFuncs:
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:352,9'
              BranchSideFuncs:
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:353,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:354,17'
              BranchSideFuncs:
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:355,17'
              BranchSideFuncs:
                - strcmp
                - strcmp
        - Branch String:   'prof_tree.c:358,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:359,13'
              BranchSideFuncs:
                - strcmp
                - strcmp
            - BranchSide:      'prof_tree.c:361,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_tree.c:319,22'
          Dst:             strcmp
        - Src:             'prof_tree.c:327,27'
          Dst:             strcmp
        - Src:             'prof_tree.c:347,22'
          Dst:             strcmp
        - Src:             'prof_tree.c:355,27'
          Dst:             strcmp
    - functionName:    profile_find_node_relation
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 402
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - section
        - name
        - state
        - ret_name
        - value
        - ret_final
      BBCount:         18
      ICount:          110
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - profile_find_node
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_tree.c:390,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:391,16'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:393,9'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:393,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:394,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:401,5'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:394,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:395,22'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:396,13'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:396,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:397,25'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:398,13'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:398,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:399,26'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:400,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_tree.c:389,14'
          Dst:             profile_find_node
    - functionName:    profile_get_node_value
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 287
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - node
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_get_node_name
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - node
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_is_node_final
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - node
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_make_node_final
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - node
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'prof_tree.c:257,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:257,5'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:259,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    profile_add_node
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - section
        - name
        - value
        - check_final
        - ret_node
      BBCount:         50
      ICount:          284
      EdgeCount:       67
      CyclomaticComplexity: 19
      functionsReached:
        - profile_create_node
        - strcmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'prof_tree.c:203,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:203,5'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:205,9'
              BranchSideFuncs:
                - profile_create_node
                - strcmp
        - Branch String:   'prof_tree.c:205,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:206,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:214,12'
              BranchSideFuncs:
                - profile_create_node
                - strcmp
        - Branch String:   'prof_tree.c:214,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:216,22'
              BranchSideFuncs:
                - strcmp
                - profile_create_node
            - BranchSide:      'prof_tree.c:233,34'
              BranchSideFuncs:
                - profile_create_node
        - Branch String:   'prof_tree.c:217,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:218,13'
              BranchSideFuncs:
                - profile_create_node
            - BranchSide:      'prof_tree.c:219,20'
              BranchSideFuncs:
                - profile_create_node
                - strcmp
        - Branch String:   'prof_tree.c:219,34'
          Branch Sides:
            - BranchSide:      'prof_tree.c:219,37'
              BranchSideFuncs:
                - profile_create_node
                - strcmp
            - BranchSide:      'prof_tree.c:225,20'
              BranchSideFuncs:
                - profile_create_node
                - strcmp
        - Branch String:   'prof_tree.c:219,46'
          Branch Sides:
            - BranchSide:      'prof_tree.c:220,20'
              BranchSideFuncs:
                - profile_create_node
                - strcmp
            - BranchSide:      'prof_tree.c:225,20'
              BranchSideFuncs:
                - profile_create_node
                - strcmp
        - Branch String:   'prof_tree.c:220,37'
          Branch Sides:
            - BranchSide:      'prof_tree.c:220,40'
              BranchSideFuncs:
                - profile_create_node
                - strcmp
            - BranchSide:      'prof_tree.c:225,20'
              BranchSideFuncs:
                - profile_create_node
                - strcmp
        - Branch String:   'prof_tree.c:219,20'
          Branch Sides:
            - BranchSide:      'prof_tree.c:222,17'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:225,20'
              BranchSideFuncs:
                - profile_create_node
                - strcmp
        - Branch String:   'prof_tree.c:222,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:223,29'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:224,13'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:228,17'
          Branch Sides:
            - BranchSide:      'prof_tree.c:229,18'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:230,13'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:234,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:235,16'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:236,24'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:241,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:242,19'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:243,9'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:243,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:244,22'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:246,32'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:247,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:248,21'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:249,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_tree.c:216,15'
          Dst:             strcmp
        - Src:             'prof_tree.c:233,14'
          Dst:             profile_create_node
    - functionName:    profile_create_node
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
        - value
        - ret_node
      BBCount:         13
      ICount:          89
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - profile_free_node
        - strdup
      functionUses:    4
      BranchProfiles:
        - Branch String:   'prof_tree.c:93,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:94,9'
              BranchSideFuncs:
                - strdup
                - strdup
                - profile_free_node
                - profile_free_node
            - BranchSide:      'prof_tree.c:95,12'
              BranchSideFuncs:
                - strdup
                - strdup
                - profile_free_node
                - profile_free_node
        - Branch String:   'prof_tree.c:99,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:100,27'
              BranchSideFuncs:
                - profile_free_node
            - BranchSide:      'prof_tree.c:103,9'
              BranchSideFuncs:
                - strdup
                - profile_free_node
        - Branch String:   'prof_tree.c:103,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:104,29'
              BranchSideFuncs:
                - strdup
                - profile_free_node
            - BranchSide:      'prof_tree.c:111,17'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:105,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:106,31'
              BranchSideFuncs:
                - profile_free_node
            - BranchSide:      'prof_tree.c:109,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_tree.c:98,17'
          Dst:             strdup
        - Src:             'prof_tree.c:100,9'
          Dst:             profile_free_node
        - Src:             'prof_tree.c:104,22'
          Dst:             strdup
        - Src:             'prof_tree.c:106,13'
          Dst:             profile_free_node
    - functionName:    profile_free_node
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - node
      BBCount:         16
      ICount:          92
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - profile_free_node
      functionUses:    10
      BranchProfiles:
        - Branch String:   'prof_tree.c:54,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:55,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:57,9'
              BranchSideFuncs:
                - free
                - profile_free_node
                - free
                - free
        - Branch String:   'prof_tree.c:57,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:58,14'
              BranchSideFuncs:
                - free
                - free
                - profile_free_node
                - free
            - BranchSide:      'prof_tree.c:59,9'
              BranchSideFuncs:
                - free
                - profile_free_node
                - free
        - Branch String:   'prof_tree.c:59,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:60,14'
              BranchSideFuncs:
                - free
                - free
                - profile_free_node
            - BranchSide:      'prof_tree.c:62,16'
              BranchSideFuncs:
                - free
                - profile_free_node
        - Branch String:   'prof_tree.c:62,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:63,16'
              BranchSideFuncs:
                - profile_free_node
                - free
            - BranchSide:      'prof_tree.c:66,5'
              BranchSideFuncs:
                - free
      Callsites:
        - Src:             'prof_tree.c:64,9'
          Dst:             profile_free_node
    - functionName:    profile_verify_node
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - node
      BBCount:         28
      ICount:          153
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - profile_verify_node
      functionUses:    2
      BranchProfiles:
        - Branch String:   'prof_tree.c:170,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:170,5'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:172,9'
              BranchSideFuncs:
                - profile_verify_node
        - Branch String:   'prof_tree.c:172,21'
          Branch Sides:
            - BranchSide:      'prof_tree.c:172,24'
              BranchSideFuncs:
                - profile_verify_node
            - BranchSide:      'prof_tree.c:175,10'
              BranchSideFuncs:
                - profile_verify_node
        - Branch String:   'prof_tree.c:172,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:173,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:175,10'
              BranchSideFuncs:
                - profile_verify_node
        - Branch String:   'prof_tree.c:176,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:177,13'
              BranchSideFuncs:
                - profile_verify_node
            - BranchSide:      'prof_tree.c:189,5'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:177,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:178,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:179,13'
              BranchSideFuncs:
                - profile_verify_node
        - Branch String:   'prof_tree.c:179,18'
          Branch Sides:
            - BranchSide:      'prof_tree.c:179,22'
              BranchSideFuncs:
                - profile_verify_node
            - BranchSide:      'prof_tree.c:181,13'
              BranchSideFuncs:
                - profile_verify_node
        - Branch String:   'prof_tree.c:179,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:180,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:181,13'
              BranchSideFuncs:
                - profile_verify_node
        - Branch String:   'prof_tree.c:181,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:182,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:183,13'
              BranchSideFuncs:
                - profile_verify_node
        - Branch String:   'prof_tree.c:183,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:184,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:185,38'
              BranchSideFuncs:
                - profile_verify_node
        - Branch String:   'prof_tree.c:186,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:187,20'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:188,5'
              BranchSideFuncs:
                - profile_verify_node
      Callsites:
        - Src:             'prof_tree.c:185,18'
          Dst:             profile_verify_node
    - functionName:    profile_copy_node
      functionSourceFile: '/src/krb5/src/util/profile/prof_tree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - oldnode
      BBCount:         20
      ICount:          182
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - profile_copy_node
        - profile_free_node
        - strdup
      functionUses:    2
      BranchProfiles:
        - Branch String:   'prof_tree.c:121,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:122,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_tree.c:124,12'
              BranchSideFuncs:
                - calloc
                - strdup
                - profile_copy_node
                - profile_free_node
                - strdup
        - Branch String:   'prof_tree.c:127,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:128,9'
              BranchSideFuncs:
                - profile_free_node
            - BranchSide:      'prof_tree.c:129,9'
              BranchSideFuncs:
                - profile_copy_node
                - profile_free_node
                - strdup
        - Branch String:   'prof_tree.c:129,9'
          Branch Sides:
            - BranchSide:      'prof_tree.c:130,30'
              BranchSideFuncs:
                - strdup
                - profile_copy_node
                - profile_free_node
            - BranchSide:      'prof_tree.c:134,25'
              BranchSideFuncs:
                - profile_copy_node
                - profile_free_node
        - Branch String:   'prof_tree.c:131,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:132,13'
              BranchSideFuncs:
                - profile_free_node
            - BranchSide:      'prof_tree.c:133,5'
              BranchSideFuncs:
                - profile_copy_node
                - profile_free_node
        - Branch String:   'prof_tree.c:140,5'
          Branch Sides:
            - BranchSide:      'prof_tree.c:141,31'
              BranchSideFuncs:
                - profile_copy_node
                - profile_free_node
            - BranchSide:      'prof_tree.c:153,12'
              BranchSideFuncs: []
        - Branch String:   'prof_tree.c:142,13'
          Branch Sides:
            - BranchSide:      'prof_tree.c:143,13'
              BranchSideFuncs:
                - profile_free_node
            - BranchSide:      'prof_tree.c:146,21'
              BranchSideFuncs:
                - profile_copy_node
                - profile_free_node
      Callsites:
        - Src:             'prof_tree.c:124,12'
          Dst:             calloc
        - Src:             'prof_tree.c:126,18'
          Dst:             strdup
        - Src:             'prof_tree.c:130,23'
          Dst:             strdup
        - Src:             'prof_tree.c:141,13'
          Dst:             profile_copy_node
        - Src:             'prof_tree.c:156,5'
          Dst:             profile_free_node
    - functionName:    calloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_hard_link
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - oldpath
        - newpath
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - link
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:400,12'
          Dst:             link
    - functionName:    link
      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:    k5_mutex_finish_init
      functionSourceFile: '/src/krb5/src/util/profile/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_library_initializer
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - add_error_table
        - k5_mutex_finish_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_file.c:59,5'
          Branch Sides:
            - BranchSide:      'prof_file.c:59,5'
              BranchSideFuncs:
                - add_error_table
                - k5_mutex_finish_init
            - BranchSide:      'prof_file.c:59,5'
              BranchSideFuncs:
                - add_error_table
                - k5_mutex_finish_init
      Callsites:
        - Src:             'prof_file.c:59,5'
          Dst:             add_error_table
        - Src:             'prof_file.c:61,12'
          Dst:             k5_mutex_finish_init
    - functionName:    profile_library_initializer__aux
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - profile_library_initializer
      functionUses:    0
      BranchProfiles:
        - Branch String:   'prof_file.c:51,1'
          Branch Sides:
            - BranchSide:      'prof_file.c:51,1'
              BranchSideFuncs:
                - profile_library_initializer
            - BranchSide:      'prof_file.c:51,1'
              BranchSideFuncs:
                - profile_library_initializer
      Callsites:
        - Src:             'prof_file.c:51,1'
          Dst:             profile_library_initializer
    - functionName:    profile_free_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 599
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - prf
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - profile_dereference_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:597,5'
          Dst:             profile_dereference_data
    - functionName:    profile_dereference_data
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 536
      functionLinenumberEnd: 540
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - profile_dereference_data_locked
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:537,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:538,5'
          Dst:             profile_dereference_data_locked
        - Src:             'prof_file.c:539,5'
          Dst:             k5_mutex_unlock
    - functionName:    k5_mutex_lock
      functionSourceFile: '/src/krb5/src/util/profile/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    9
      BranchProfiles:
        - Branch String:   '../../include/k5-thread.h:371,9'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:372,17'
              BranchSideFuncs:
                - strerror
                - fprintf
                - __assert_fail
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   '../../include/k5-thread.h:376,5'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs: []
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             '../../include/k5-thread.h:369,13'
          Dst:             k5_os_mutex_lock
        - Src:             '../../include/k5-thread.h:373,20'
          Dst:             strerror
        - Src:             '../../include/k5-thread.h:372,9'
          Dst:             fprintf
        - Src:             '../../include/k5-thread.h:376,5'
          Dst:             __assert_fail
    - functionName:    profile_dereference_data_locked
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 542
      functionLinenumberEnd: 546
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - profile_free_file_data
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_file.c:544,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:544,9'
              BranchSideFuncs:
                - profile_free_file_data
            - BranchSide:      'prof_file.c:545,32'
              BranchSideFuncs:
                - profile_free_file_data
      Callsites:
        - Src:             'prof_file.c:545,9'
          Dst:             profile_free_file_data
    - functionName:    k5_mutex_unlock
      functionSourceFile: '/src/krb5/src/util/profile/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    11
      BranchProfiles:
        - Branch String:   '../../include/k5-thread.h:383,9'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:384,17'
              BranchSideFuncs:
                - strerror
                - fprintf
                - __assert_fail
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   '../../include/k5-thread.h:388,5'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs: []
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             '../../include/k5-thread.h:381,13'
          Dst:             k5_os_mutex_unlock
        - Src:             '../../include/k5-thread.h:385,20'
          Dst:             strerror
        - Src:             '../../include/k5-thread.h:384,9'
          Dst:             fprintf
        - Src:             '../../include/k5-thread.h:388,5'
          Dst:             __assert_fail
    - functionName:    profile_free_file_data
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 603
      functionLinenumberEnd: 627
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
      BBCount:         18
      ICount:          106
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - k5_os_mutex_destroy
        - profile_free_node
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_file.c:604,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:606,13'
              BranchSideFuncs:
                - k5_os_mutex_destroy
                - free
                - profile_free_node
            - BranchSide:      'prof_file.c:622,9'
              BranchSideFuncs:
                - k5_os_mutex_destroy
                - free
                - profile_free_node
        - Branch String:   'prof_file.c:606,13'
          Branch Sides:
            - BranchSide:      'prof_file.c:607,30'
              BranchSideFuncs:
                - k5_os_mutex_destroy
                - free
                - profile_free_node
            - BranchSide:      'prof_file.c:610,20'
              BranchSideFuncs:
                - k5_os_mutex_destroy
                - free
                - profile_free_node
        - Branch String:   'prof_file.c:613,21'
          Branch Sides:
            - BranchSide:      'prof_file.c:614,34'
              BranchSideFuncs:
                - k5_os_mutex_destroy
                - free
                - profile_free_node
            - BranchSide:      'prof_file.c:617,24'
              BranchSideFuncs:
                - k5_os_mutex_destroy
                - free
                - profile_free_node
        - Branch String:   'prof_file.c:622,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:622,9'
              BranchSideFuncs:
                - profile_free_node
                - k5_os_mutex_destroy
                - free
            - BranchSide:      'prof_file.c:623,27'
              BranchSideFuncs:
                - profile_free_node
                - k5_os_mutex_destroy
                - free
      Callsites:
        - Src:             'prof_file.c:623,9'
          Dst:             profile_free_node
        - Src:             'prof_file.c:625,5'
          Dst:             k5_os_mutex_destroy
    - functionName:    profile_copy_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 558
      functionLinenumberEnd: 593
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - oldfile
      BBCount:         12
      ICount:          153
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - k5_mutex_lock
        - k5_mutex_unlock
        - profile_copy_node
        - profile_free_file
        - profile_lock_global
        - profile_make_prf_data
        - profile_unlock_global
      functionUses:    0
      BranchProfiles:
        - Branch String:   'prof_file.c:562,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:563,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:564,5'
              BranchSideFuncs:
                - profile_make_prf_data
                - k5_mutex_lock.80
                - profile_copy_node
                - k5_mutex_unlock.81
                - profile_free_file
                - free
                - profile_lock_global
                - profile_unlock_global
        - Branch String:   'prof_file.c:567,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:568,9'
              BranchSideFuncs:
                - profile_lock_global
                - profile_unlock_global
            - BranchSide:      'prof_file.c:576,40'
              BranchSideFuncs:
                - profile_make_prf_data
                - k5_mutex_lock.80
                - profile_copy_node
                - k5_mutex_unlock.81
                - profile_free_file
                - free
        - Branch String:   'prof_file.c:577,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:578,14'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_file.c:581,20'
              BranchSideFuncs:
                - k5_mutex_lock.80
                - profile_copy_node
                - k5_mutex_unlock.81
                - profile_free_file
        - Branch String:   'prof_file.c:587,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:588,27'
              BranchSideFuncs:
                - profile_free_file
            - BranchSide:      'prof_file.c:592,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_file.c:561,12'
          Dst:             calloc
        - Src:             'prof_file.c:568,9'
          Dst:             profile_lock_global
        - Src:             'prof_file.c:570,9'
          Dst:             profile_unlock_global
        - Src:             'prof_file.c:576,18'
          Dst:             profile_make_prf_data
        - Src:             'prof_file.c:581,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:585,24'
          Dst:             profile_copy_node
        - Src:             'prof_file.c:586,5'
          Dst:             k5_mutex_unlock
        - Src:             'prof_file.c:588,9'
          Dst:             profile_free_file
    - functionName:    profile_lock_global
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 549
      functionLinenumberEnd: 551
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_file.c:550,5'
          Branch Sides:
            - BranchSide:      'prof_file.c:550,5'
              BranchSideFuncs:
                - k5_mutex_lock.80
            - BranchSide:      'prof_file.c:550,5'
              BranchSideFuncs:
                - k5_mutex_lock.80
      Callsites:
        - Src:             'prof_file.c:550,5'
          Dst:             k5_mutex_lock
    - functionName:    profile_unlock_global
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_unlock
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_file.c:554,5'
          Branch Sides:
            - BranchSide:      'prof_file.c:554,5'
              BranchSideFuncs:
                - k5_mutex_unlock.81
            - BranchSide:      'prof_file.c:554,5'
              BranchSideFuncs:
                - k5_mutex_unlock.81
      Callsites:
        - Src:             'prof_file.c:554,5'
          Dst:             k5_mutex_unlock
    - functionName:    profile_make_prf_data
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - filename
      BBCount:         14
      ICount:          118
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - k5_mutex_init
        - krb5int_strlcpy
        - strlen
      functionUses:    3
      BranchProfiles:
        - Branch String:   'prof_file.c:148,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:149,13'
              BranchSideFuncs:
                - malloc
                - __assert_fail
                - krb5int_strlcpy
                - k5_mutex_init
                - free
            - BranchSide:      'prof_file.c:150,16'
              BranchSideFuncs:
                - malloc
                - __assert_fail
                - krb5int_strlcpy
                - k5_mutex_init
                - free
        - Branch String:   'prof_file.c:151,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:152,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:153,12'
              BranchSideFuncs:
                - __assert_fail
                - krb5int_strlcpy
                - k5_mutex_init
                - free
        - Branch String:   'prof_file.c:155,5'
          Branch Sides:
            - BranchSide:      'prof_file.c:155,5'
              BranchSideFuncs:
                - krb5int_strlcpy
                - k5_mutex_init
                - free
            - BranchSide:      'prof_file.c:156,13'
              BranchSideFuncs:
                - krb5int_strlcpy
                - k5_mutex_init
                - free
        - Branch String:   'prof_file.c:162,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:163,14'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_file.c:166,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_file.c:145,12'
          Dst:             strlen
        - Src:             'prof_file.c:155,5'
          Dst:             __assert_fail
        - Src:             'prof_file.c:156,5'
          Dst:             krb5int_strlcpy
        - Src:             'prof_file.c:162,9'
          Dst:             k5_mutex_init
    - 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:    k5_mutex_init
      functionSourceFile: '/src/krb5/src/util/profile/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_os_mutex_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../include/k5-thread.h:358,12'
          Dst:             k5_os_mutex_init
    - functionName:    profile_flush_file_data_to_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 521
      functionLinenumberEnd: 531
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - outfile
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - write_data_to_file
      functionUses:    0
      BranchProfiles:
        - Branch String:   'prof_file.c:524,15'
          Branch Sides:
            - BranchSide:      'prof_file.c:524,18'
              BranchSideFuncs:
                - k5_mutex_lock.80
                - write_data_to_file
                - k5_mutex_unlock.81
            - BranchSide:      'prof_file.c:525,9'
              BranchSideFuncs: []
        - Branch String:   'prof_file.c:524,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:525,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:527,20'
              BranchSideFuncs:
                - k5_mutex_lock.80
                - write_data_to_file
                - k5_mutex_unlock.81
      Callsites:
        - Src:             'prof_file.c:527,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:528,14'
          Dst:             write_data_to_file
        - Src:             'prof_file.c:529,5'
          Dst:             k5_mutex_unlock
    - functionName:    write_data_to_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 406
      functionLinenumberEnd: 483
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - data
        - outfile
        - can_create
      BBCount:         38
      ICount:          227
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - __errno_location
        - asprintf
        - fclose
        - fcntl
        - fileno
        - fopen
        - make_hard_link
        - profile_write_tree_file
        - rename
        - sync
        - unlink
      functionUses:    2
      BranchProfiles:
        - Branch String:   'prof_file.c:415,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:416,18'
              BranchSideFuncs:
                - free
                - free
            - BranchSide:      'prof_file.c:419,39'
              BranchSideFuncs:
                - asprintf
                - __errno_location
                - fopen
                - __errno_location
                - free
                - free
                - fileno
                - fcntl
                - profile_write_tree_file
                - fclose
                - unlink
                - make_hard_link
                - __errno_location
                - sync
                - rename
                - rename
                - __errno_location
                - rename
                - __errno_location
                - rename
                - __errno_location
                - rename
                - __errno_location
                - __errno_location
        - Branch String:   'prof_file.c:419,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:420,18'
              BranchSideFuncs:
                - free
                - free
            - BranchSide:      'prof_file.c:424,5'
              BranchSideFuncs:
                - __errno_location
                - fopen
                - __errno_location
                - free
                - free
                - fileno
                - fcntl
                - profile_write_tree_file
                - fclose
                - unlink
                - make_hard_link
                - __errno_location
                - sync
                - rename
                - rename
                - __errno_location
                - rename
                - __errno_location
                - rename
                - __errno_location
                - rename
                - __errno_location
                - __errno_location
        - Branch String:   'prof_file.c:427,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:428,18'
              BranchSideFuncs:
                - fileno
                - fcntl
                - profile_write_tree_file
                - fclose
                - unlink
                - make_hard_link
                - __errno_location
                - sync
                - rename
                - rename
                - free
                - free
                - __errno_location
                - rename
                - __errno_location
                - rename
                - __errno_location
                - rename
                - __errno_location
                - __errno_location
            - BranchSide:      'prof_file.c:434,5'
              BranchSideFuncs:
                - fileno
                - fcntl
                - profile_write_tree_file
                - fclose
                - unlink
                - make_hard_link
                - __errno_location
                - sync
                - rename
                - rename
                - free
                - free
                - __errno_location
                - rename
                - __errno_location
                - rename
                - __errno_location
                - rename
                - __errno_location
                - __errno_location
        - Branch String:   'prof_file.c:429,13'
          Branch Sides:
            - BranchSide:      'prof_file.c:430,20'
              BranchSideFuncs:
                - free
                - free
            - BranchSide:      'prof_file.c:431,9'
              BranchSideFuncs:
                - free
                - free
        - Branch String:   'prof_file.c:436,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:437,18'
              BranchSideFuncs:
                - __errno_location
                - free
                - free
            - BranchSide:      'prof_file.c:441,12'
              BranchSideFuncs:
                - unlink
                - make_hard_link
                - __errno_location
                - sync
                - rename
                - rename
                - free
                - free
                - __errno_location
                - rename
                - __errno_location
                - rename
                - __errno_location
                - rename
                - __errno_location
        - Branch String:   'prof_file.c:442,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:446,20'
              BranchSideFuncs:
                - rename
                - free
                - free
                - __errno_location
            - BranchSide:      'prof_file.c:453,16'
              BranchSideFuncs:
                - __errno_location
                - sync
                - rename
                - rename
                - free
                - free
                - __errno_location
                - rename
                - __errno_location
                - rename
                - __errno_location
        - Branch String:   'prof_file.c:446,13'
          Branch Sides:
            - BranchSide:      'prof_file.c:450,22'
              BranchSideFuncs:
                - __errno_location
                - free
                - free
            - BranchSide:      'prof_file.c:453,5'
              BranchSideFuncs:
                - free
                - free
        - Branch String:   'prof_file.c:453,32'
          Branch Sides:
            - BranchSide:      'prof_file.c:453,35'
              BranchSideFuncs:
                - sync
                - rename
                - rename
                - free
                - free
                - __errno_location
                - rename
                - __errno_location
                - rename
                - __errno_location
            - BranchSide:      'prof_file.c:463,9'
              BranchSideFuncs:
                - sync
                - rename
                - rename
                - free
                - free
                - __errno_location
                - rename
                - __errno_location
        - Branch String:   'prof_file.c:453,16'
          Branch Sides:
            - BranchSide:      'prof_file.c:454,20'
              BranchSideFuncs:
                - rename
                - free
                - free
                - __errno_location
            - BranchSide:      'prof_file.c:463,9'
              BranchSideFuncs:
                - sync
                - rename
                - rename
                - free
                - free
                - __errno_location
                - rename
                - __errno_location
        - Branch String:   'prof_file.c:454,13'
          Branch Sides:
            - BranchSide:      'prof_file.c:455,22'
              BranchSideFuncs:
                - __errno_location
                - free
                - free
            - BranchSide:      'prof_file.c:458,5'
              BranchSideFuncs:
                - free
                - free
        - Branch String:   'prof_file.c:465,13'
          Branch Sides:
            - BranchSide:      'prof_file.c:466,22'
              BranchSideFuncs:
                - __errno_location
                - free
                - free
            - BranchSide:      'prof_file.c:469,20'
              BranchSideFuncs:
                - rename
                - free
                - free
                - __errno_location
                - rename
        - Branch String:   'prof_file.c:469,13'
          Branch Sides:
            - BranchSide:      'prof_file.c:0,0'
              BranchSideFuncs:
                - __errno_location
                - rename
                - free
                - free
            - BranchSide:      'prof_file.c:470,22'
              BranchSideFuncs:
                - __errno_location
                - rename
                - free
                - free
        - Branch String:   'prof_file.c:479,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:480,14'
              BranchSideFuncs:
                - free
                - free
            - BranchSide:      'prof_file.c:481,9'
              BranchSideFuncs:
                - free
        - Branch String:   'prof_file.c:481,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:481,9'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_file.c:482,14'
              BranchSideFuncs:
                - free
      Callsites:
        - Src:             'prof_file.c:415,9'
          Dst:             asprintf
        - Src:             'prof_file.c:419,9'
          Dst:             asprintf
        - Src:             'prof_file.c:424,5'
          Dst:             __errno_location
        - Src:             'prof_file.c:426,9'
          Dst:             fopen
        - Src:             'prof_file.c:428,18'
          Dst:             __errno_location
        - Src:             'prof_file.c:434,5'
          Dst:             fileno
        - Src:             'prof_file.c:434,5'
          Dst:             fcntl
        - Src:             'prof_file.c:435,5'
          Dst:             profile_write_tree_file
        - Src:             'prof_file.c:436,9'
          Dst:             fclose
        - Src:             'prof_file.c:437,18'
          Dst:             __errno_location
        - Src:             'prof_file.c:441,5'
          Dst:             unlink
        - Src:             'prof_file.c:442,9'
          Dst:             make_hard_link
        - Src:             'prof_file.c:446,13'
          Dst:             rename
        - Src:             'prof_file.c:450,22'
          Dst:             __errno_location
        - Src:             'prof_file.c:453,16'
          Dst:             __errno_location
        - Src:             'prof_file.c:454,13'
          Dst:             rename
        - Src:             'prof_file.c:455,22'
          Dst:             __errno_location
        - Src:             'prof_file.c:463,9'
          Dst:             sync
        - Src:             'prof_file.c:465,13'
          Dst:             rename
        - Src:             'prof_file.c:466,22'
          Dst:             __errno_location
        - Src:             'prof_file.c:469,13'
          Dst:             rename
        - Src:             'prof_file.c:470,22'
          Dst:             __errno_location
        - Src:             'prof_file.c:471,13'
          Dst:             rename
    - functionName:    asprintf
      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:    __errno_location
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fileno
      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:    fcntl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rename
      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:    sync
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_flush_file_data
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 518
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
      BBCount:         13
      ICount:          89
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - write_data_to_file
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_file.c:500,15'
          Branch Sides:
            - BranchSide:      'prof_file.c:500,18'
              BranchSideFuncs:
                - k5_mutex_lock.80
                - write_data_to_file
                - k5_mutex_unlock.81
                - k5_mutex_unlock.81
            - BranchSide:      'prof_file.c:501,9'
              BranchSideFuncs: []
        - Branch String:   'prof_file.c:500,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:501,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:504,10'
              BranchSideFuncs:
                - k5_mutex_lock.80
                - write_data_to_file
                - k5_mutex_unlock.81
                - k5_mutex_unlock.81
        - Branch String:   'prof_file.c:504,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:505,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:507,20'
              BranchSideFuncs:
                - k5_mutex_lock.80
                - write_data_to_file
                - k5_mutex_unlock.81
                - k5_mutex_unlock.81
        - Branch String:   'prof_file.c:509,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:510,26'
              BranchSideFuncs:
                - k5_mutex_unlock.81
            - BranchSide:      'prof_file.c:514,33'
              BranchSideFuncs:
                - write_data_to_file
                - k5_mutex_unlock.81
      Callsites:
        - Src:             'prof_file.c:507,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:510,9'
          Dst:             k5_mutex_unlock
        - Src:             'prof_file.c:514,14'
          Dst:             write_data_to_file
        - Src:             'prof_file.c:516,5'
          Dst:             k5_mutex_unlock
    - functionName:    profile_flush_file_data_to_buffer
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 493
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - bufp
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - profile_write_tree_to_buffer
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:490,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:491,14'
          Dst:             profile_write_tree_to_buffer
        - Src:             'prof_file.c:492,5'
          Dst:             k5_mutex_unlock
    - functionName:    profile_update_file_data_locked
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - ret_modspec
      BBCount:         47
      ICount:          315
      EdgeCount:       63
      CyclomaticComplexity: 18
      functionsReached:
        - __assert_fail
        - __errno_location
        - fclose
        - fcntl
        - fileno
        - fopen
        - profile_free_node
        - profile_parse_file
        - profile_process_directory
        - stat
        - time
      functionUses:    2
      BranchProfiles:
        - Branch String:   'prof_file.c:305,48'
          Branch Sides:
            - BranchSide:      'prof_file.c:305,51'
              BranchSideFuncs:
                - time
                - stat
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
                - __errno_location
            - BranchSide:      'prof_file.c:309,9'
              BranchSideFuncs:
                - time
                - stat
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
                - __errno_location
        - Branch String:   'prof_file.c:305,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:306,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:309,9'
              BranchSideFuncs:
                - time
                - stat
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
                - __errno_location
        - Branch String:   'prof_file.c:309,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:310,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:313,11'
              BranchSideFuncs:
                - time
                - stat
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
                - __errno_location
        - Branch String:   'prof_file.c:314,32'
          Branch Sides:
            - BranchSide:      'prof_file.c:314,35'
              BranchSideFuncs:
                - stat
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
                - __errno_location
            - BranchSide:      'prof_file.c:317,14'
              BranchSideFuncs:
                - stat
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
                - __errno_location
        - Branch String:   'prof_file.c:314,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:315,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:317,14'
              BranchSideFuncs:
                - stat
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
                - __errno_location
        - Branch String:   'prof_file.c:317,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:318,16'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'prof_file.c:320,23'
              BranchSideFuncs:
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
        - Branch String:   'prof_file.c:331,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:331,12'
              BranchSideFuncs:
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
            - BranchSide:      'prof_file.c:335,9'
              BranchSideFuncs:
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
        - Branch String:   'prof_file.c:332,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:332,12'
              BranchSideFuncs:
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
            - BranchSide:      'prof_file.c:335,9'
              BranchSideFuncs:
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
        - Branch String:   'prof_file.c:330,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:333,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:335,9'
              BranchSideFuncs:
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
                - profile_free_node
        - Branch String:   'prof_file.c:335,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:336,27'
              BranchSideFuncs:
                - profile_free_node
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
            - BranchSide:      'prof_file.c:341,13'
              BranchSideFuncs:
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
        - Branch String:   'prof_file.c:341,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:342,9'
              BranchSideFuncs:
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
            - BranchSide:      'prof_file.c:355,13'
              BranchSideFuncs:
                - __errno_location
                - fopen
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
                - __errno_location
                - __errno_location
        - Branch String:   'prof_file.c:357,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:358,9'
              BranchSideFuncs:
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
            - BranchSide:      'prof_file.c:365,5'
              BranchSideFuncs:
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
        - Branch String:   'prof_file.c:360,13'
          Branch Sides:
            - BranchSide:      'prof_file.c:361,21'
              BranchSideFuncs:
                - __errno_location
                - __errno_location
            - BranchSide:      'prof_file.c:362,9'
              BranchSideFuncs:
                - fileno
                - fcntl
                - profile_parse_file
                - fclose
                - __assert_fail
                - profile_process_directory
        - Branch String:   'prof_file.c:361,20'
          Branch Sides:
            - BranchSide:      'prof_file.c:361,35'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'prof_file.c:361,20'
              BranchSideFuncs: []
        - Branch String:   'prof_file.c:367,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:368,44'
              BranchSideFuncs:
                - profile_process_directory
                - __assert_fail
            - BranchSide:      'prof_file.c:370,37'
              BranchSideFuncs:
                - profile_parse_file
                - fclose
                - __assert_fail
        - Branch String:   'prof_file.c:373,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:374,16'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:376,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   'prof_file.c:376,5'
          Branch Sides:
            - BranchSide:      'prof_file.c:376,5'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:378,26'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_file.c:313,11'
          Dst:             time
        - Src:             'prof_file.c:317,9'
          Dst:             stat
        - Src:             'prof_file.c:318,16'
          Dst:             __errno_location
        - Src:             'prof_file.c:336,9'
          Dst:             profile_free_node
        - Src:             'prof_file.c:358,9'
          Dst:             __errno_location
        - Src:             'prof_file.c:359,13'
          Dst:             fopen
        - Src:             'prof_file.c:361,21'
          Dst:             __errno_location
        - Src:             'prof_file.c:361,35'
          Dst:             __errno_location
        - Src:             'prof_file.c:362,9'
          Dst:             fileno
        - Src:             'prof_file.c:362,9'
          Dst:             fcntl
        - Src:             'prof_file.c:368,18'
          Dst:             profile_process_directory
        - Src:             'prof_file.c:370,18'
          Dst:             profile_parse_file
        - Src:             'prof_file.c:371,15'
          Dst:             fclose
        - Src:             'prof_file.c:376,5'
          Dst:             __assert_fail
    - functionName:    time
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    stat
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_open_memory
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 291
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         14
      ICount:          88
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - profile_create_node
        - profile_free_node
        - profile_make_prf_data
      functionUses:    0
      BranchProfiles:
        - Branch String:   'prof_file.c:264,26'
          Branch Sides:
            - BranchSide:      'prof_file.c:264,26'
              BranchSideFuncs:
                - calloc
                - profile_create_node
                - profile_make_prf_data
                - free
                - profile_free_node
            - BranchSide:      'prof_file.c:264,26'
              BranchSideFuncs:
                - calloc
                - profile_create_node
                - profile_make_prf_data
                - free
                - profile_free_node
        - Branch String:   'prof_file.c:269,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:270,9'
              BranchSideFuncs:
                - free
                - profile_free_node
            - BranchSide:      'prof_file.c:271,5'
              BranchSideFuncs:
                - profile_create_node
                - profile_make_prf_data
                - free
                - profile_free_node
        - Branch String:   'prof_file.c:273,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:274,9'
              BranchSideFuncs:
                - free
                - profile_free_node
            - BranchSide:      'prof_file.c:276,12'
              BranchSideFuncs:
                - profile_make_prf_data
                - free
                - profile_free_node
        - Branch String:   'prof_file.c:277,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:278,9'
              BranchSideFuncs:
                - free
                - profile_free_node
            - BranchSide:      'prof_file.c:280,18'
              BranchSideFuncs: []
        - Branch String:   'prof_file.c:288,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:289,27'
              BranchSideFuncs:
                - profile_free_node
            - BranchSide:      'prof_file.c:290,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_file.c:268,12'
          Dst:             calloc
        - Src:             'prof_file.c:273,9'
          Dst:             profile_create_node
        - Src:             'prof_file.c:276,12'
          Dst:             profile_make_prf_data
        - Src:             'prof_file.c:289,9'
          Dst:             profile_free_node
    - functionName:    profile_close_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 638
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - prf
      BBCount:         12
      ICount:          63
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - profile_flush_file_data
        - profile_free_file
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_file.c:633,14'
          Branch Sides:
            - BranchSide:      'prof_file.c:633,14'
              BranchSideFuncs:
                - profile_free_file
                - profile_flush_file_data
            - BranchSide:      'prof_file.c:633,12'
              BranchSideFuncs:
                - profile_free_file
        - Branch String:   'prof_file.c:633,14'
          Branch Sides:
            - BranchSide:      'prof_file.c:633,12'
              BranchSideFuncs:
                - profile_flush_file_data
                - profile_free_file
            - BranchSide:      'prof_file.c:633,12'
              BranchSideFuncs:
                - profile_free_file
        - Branch String:   'prof_file.c:634,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:635,16'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:636,23'
              BranchSideFuncs:
                - profile_free_file
      Callsites:
        - Src:             'prof_file.c:633,14'
          Dst:             profile_flush_file_data
        - Src:             'prof_file.c:636,5'
          Dst:             profile_free_file
    - functionName:    profile_update_file_data
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 391
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - data
        - ret_modspec
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - profile_update_file_data_locked
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:388,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:389,14'
          Dst:             profile_update_file_data_locked
        - Src:             'prof_file.c:390,5'
          Dst:             k5_mutex_unlock
    - functionName:    r_access
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - filespec
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - access
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_file.c:108,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:109,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:111,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_file.c:108,9'
          Dst:             access
    - functionName:    access
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_open_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - filespec
        - ret_prof
        - ret_modspec
      BBCount:         64
      ICount:          399
      EdgeCount:       87
      CyclomaticComplexity: 25
      functionsReached:
        - __assert_fail
        - asprintf
        - getpwuid_r
        - getuid
        - k5_mutex_lock
        - k5_mutex_unlock
        - k5_once
        - profile_close_file
        - profile_dereference_data
        - profile_make_prf_data
        - profile_update_file_data
        - r_access
        - secure_getenv
        - strcmp
        - strdup
      functionUses:    0
      BranchProfiles:
        - Branch String:   'prof_file.c:178,14'
          Branch Sides:
            - BranchSide:      'prof_file.c:178,14'
              BranchSideFuncs:
                - malloc
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
                - secure_getenv
                - getuid
                - getpwuid_r
            - BranchSide:      'prof_file.c:178,14'
              BranchSideFuncs:
                - __assert_fail
                - malloc
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
                - secure_getenv
                - getuid
                - getpwuid_r
        - Branch String:   'prof_file.c:178,14'
          Branch Sides:
            - BranchSide:      'prof_file.c:178,14'
              BranchSideFuncs:
                - malloc
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
                - secure_getenv
                - getuid
                - getpwuid_r
            - BranchSide:      'prof_file.c:178,14'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   'prof_file.c:179,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:180,16'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:182,11'
              BranchSideFuncs:
                - malloc
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
                - secure_getenv
                - getuid
                - getpwuid_r
        - Branch String:   'prof_file.c:183,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:184,9'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
                - secure_getenv
                - getuid
                - getpwuid_r
            - BranchSide:      'prof_file.c:185,12'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
                - secure_getenv
                - getuid
                - getpwuid_r
        - Branch String:   'prof_file.c:188,28'
          Branch Sides:
            - BranchSide:      'prof_file.c:188,31'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
                - secure_getenv
                - getuid
                - getpwuid_r
            - BranchSide:      'prof_file.c:203,9'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
        - Branch String:   'prof_file.c:188,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:189,20'
              BranchSideFuncs:
                - secure_getenv
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
                - getuid
                - getpwuid_r
            - BranchSide:      'prof_file.c:203,9'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
        - Branch String:   'prof_file.c:191,13'
          Branch Sides:
            - BranchSide:      'prof_file.c:196,19'
              BranchSideFuncs:
                - getuid
                - getpwuid_r
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
            - BranchSide:      'prof_file.c:202,5'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
        - Branch String:   'prof_file.c:198,17'
          Branch Sides:
            - BranchSide:      'prof_file.c:197,18'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
            - BranchSide:      'prof_file.c:198,17'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
        - Branch String:   'prof_file.c:197,18'
          Branch Sides:
            - BranchSide:      'prof_file.c:197,18'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
            - BranchSide:      'prof_file.c:197,18'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
        - Branch String:   'prof_file.c:197,18'
          Branch Sides:
            - BranchSide:      'prof_file.c:198,20'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
            - BranchSide:      'prof_file.c:200,9'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
        - Branch String:   'prof_file.c:197,18'
          Branch Sides:
            - BranchSide:      'prof_file.c:198,20'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
            - BranchSide:      'prof_file.c:200,9'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
        - Branch String:   'prof_file.c:198,17'
          Branch Sides:
            - BranchSide:      'prof_file.c:198,20'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
            - BranchSide:      'prof_file.c:200,9'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
        - Branch String:   'prof_file.c:198,31'
          Branch Sides:
            - BranchSide:      'prof_file.c:198,34'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
            - BranchSide:      'prof_file.c:200,9'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
        - Branch String:   'prof_file.c:197,17'
          Branch Sides:
            - BranchSide:      'prof_file.c:199,28'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
            - BranchSide:      'prof_file.c:200,9'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
                - asprintf
        - Branch String:   'prof_file.c:203,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:204,50'
              BranchSideFuncs:
                - asprintf
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
            - BranchSide:      'prof_file.c:208,36'
              BranchSideFuncs:
                - strdup
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
        - Branch String:   'prof_file.c:204,13'
          Branch Sides:
            - BranchSide:      'prof_file.c:206,31'
              BranchSideFuncs:
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
            - BranchSide:      'prof_file.c:207,5'
              BranchSideFuncs:
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
                - free
        - Branch String:   'prof_file.c:209,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:210,14'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_file.c:214,5'
              BranchSideFuncs:
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
        - Branch String:   'prof_file.c:215,5'
          Branch Sides:
            - BranchSide:      'prof_file.c:216,21'
              BranchSideFuncs:
                - strcmp
                - r_access
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
            - BranchSide:      'prof_file.c:221,9'
              BranchSideFuncs:
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
        - Branch String:   'prof_file.c:218,13'
          Branch Sides:
            - BranchSide:      'prof_file.c:218,25'
              BranchSideFuncs:
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
            - BranchSide:      'prof_file.c:220,5'
              BranchSideFuncs:
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
        - Branch String:   'prof_file.c:216,13'
          Branch Sides:
            - BranchSide:      'prof_file.c:219,13'
              BranchSideFuncs:
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
            - BranchSide:      'prof_file.c:220,5'
              BranchSideFuncs:
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
                - strcmp
                - r_access
        - Branch String:   'prof_file.c:221,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:222,9'
              BranchSideFuncs:
                - k5_mutex_unlock.81
                - profile_update_file_data
                - free
                - profile_dereference_data
                - free
            - BranchSide:      'prof_file.c:236,5'
              BranchSideFuncs:
                - k5_mutex_unlock.81
                - profile_make_prf_data
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
                - free
                - free
        - Branch String:   'prof_file.c:227,13'
          Branch Sides:
            - BranchSide:      'prof_file.c:228,38'
              BranchSideFuncs:
                - profile_dereference_data
                - free
            - BranchSide:      'prof_file.c:232,21'
              BranchSideFuncs: []
        - Branch String:   'prof_file.c:238,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:239,14'
              BranchSideFuncs:
                - free
                - free
            - BranchSide:      'prof_file.c:243,10'
              BranchSideFuncs:
                - free
                - profile_update_file_data
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
                - profile_close_file
        - Branch String:   'prof_file.c:247,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:248,28'
              BranchSideFuncs:
                - profile_close_file
            - BranchSide:      'prof_file.c:252,5'
              BranchSideFuncs:
                - k5_mutex_lock.80
                - k5_mutex_unlock.81
      Callsites:
        - Src:             'prof_file.c:178,14'
          Dst:             k5_once
        - Src:             'prof_file.c:178,14'
          Dst:             __assert_fail
        - Src:             'prof_file.c:189,20'
          Dst:             secure_getenv
        - Src:             'prof_file.c:196,19'
          Dst:             getuid
        - Src:             'prof_file.c:197,18'
          Dst:             getpwuid_r
        - Src:             'prof_file.c:204,13'
          Dst:             asprintf
        - Src:             'prof_file.c:208,29'
          Dst:             strdup
        - Src:             'prof_file.c:214,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:216,14'
          Dst:             strcmp
        - Src:             'prof_file.c:218,16'
          Dst:             r_access
        - Src:             'prof_file.c:224,9'
          Dst:             k5_mutex_unlock
        - Src:             'prof_file.c:225,18'
          Dst:             profile_update_file_data
        - Src:             'prof_file.c:228,13'
          Dst:             profile_dereference_data
        - Src:             'prof_file.c:236,5'
          Dst:             k5_mutex_unlock
        - Src:             'prof_file.c:237,12'
          Dst:             profile_make_prf_data
        - Src:             'prof_file.c:246,14'
          Dst:             profile_update_file_data
        - Src:             'prof_file.c:248,9'
          Dst:             profile_close_file
        - Src:             'prof_file.c:252,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:256,5'
          Dst:             k5_mutex_unlock
    - functionName:    secure_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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getpwuid_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rw_access
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - filespec
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - access
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_file.c:84,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:85,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_file.c:87,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_file.c:84,9'
          Dst:             access
    - functionName:    profile_file_is_writable
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - profile
      BBCount:         9
      ICount:          45
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - rw_access
      functionUses:    0
      BranchProfiles:
        - Branch String:   'prof_file.c:131,17'
          Branch Sides:
            - BranchSide:      'prof_file.c:131,20'
              BranchSideFuncs:
                - rw_access
            - BranchSide:      'prof_file.c:134,9'
              BranchSideFuncs: []
        - Branch String:   'prof_file.c:131,9'
          Branch Sides:
            - BranchSide:      'prof_file.c:132,26'
              BranchSideFuncs:
                - rw_access
            - BranchSide:      'prof_file.c:134,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_file.c:132,16'
          Dst:             rw_access
    - functionName:    output_quoted_string
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 481
      functionLinenumberEnd: 515
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - cb
        - data
      BBCount:         15
      ICount:          116
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_parse.c:486,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:487,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:490,5'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:491,5'
          Branch Sides:
            - BranchSide:      'prof_parse.c:492,17'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:514,5'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:492,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:494,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:497,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:500,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:503,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:509,22'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    need_double_quotes
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 463
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         20
      ICount:          107
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - __ctype_b_loc
        - strchr
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_parse.c:464,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:465,9'
              BranchSideFuncs:
                - __ctype_b_loc
                - __ctype_b_loc
                - strlen
                - strchr
                - strchr
                - strchr
            - BranchSide:      'prof_parse.c:466,9'
              BranchSideFuncs:
                - __ctype_b_loc
                - __ctype_b_loc
                - strlen
                - strchr
                - strchr
                - strchr
        - Branch String:   'prof_parse.c:466,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:467,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:468,9'
              BranchSideFuncs:
                - __ctype_b_loc
                - __ctype_b_loc
                - strlen
                - strchr
                - strchr
                - strchr
        - Branch String:   'prof_parse.c:468,31'
          Branch Sides:
            - BranchSide:      'prof_parse.c:468,33'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:469,9'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:468,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:469,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:470,16'
              BranchSideFuncs:
                - strchr
                - strchr
                - strchr
        - Branch String:   'prof_parse.c:470,27'
          Branch Sides:
            - BranchSide:      'prof_parse.c:470,37'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:471,9'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:470,48'
          Branch Sides:
            - BranchSide:      'prof_parse.c:470,58'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:471,9'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:470,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:471,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:472,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_parse.c:468,9'
          Dst:             __ctype_b_loc
        - Src:             'prof_parse.c:468,33'
          Dst:             __ctype_b_loc
        - Src:             'prof_parse.c:468,33'
          Dst:             strlen
        - Src:             'prof_parse.c:470,9'
          Dst:             strchr
        - Src:             'prof_parse.c:470,30'
          Dst:             strchr
        - Src:             'prof_parse.c:470,51'
          Dst:             strchr
    - 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:    8
      BranchProfiles:  []
      Callsites:       []
    - 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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_include_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - filename
        - root_section
      BBCount:         6
      ICount:          59
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - fclose
        - fopen
        - parse_file
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_parse.c:230,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:231,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:232,25'
              BranchSideFuncs:
                - parse_file
                - fclose
      Callsites:
        - Src:             'prof_parse.c:229,10'
          Dst:             fopen
        - Src:             'prof_parse.c:232,14'
          Dst:             parse_file
        - Src:             'prof_parse.c:233,5'
          Dst:             fclose
    - functionName:    parse_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 413
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - f
        - state
        - ret_modspec
      BBCount:         14
      ICount:          80
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - feof
        - fgets
        - parse_line
      functionUses:    2
      BranchProfiles:
        - Branch String:   'prof_parse.c:348,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:349,9'
              BranchSideFuncs:
                - feof
                - free
                - fgets
                - parse_line
                - free
            - BranchSide:      'prof_parse.c:351,5'
              BranchSideFuncs:
                - feof
                - free
                - fgets
                - parse_line
                - free
        - Branch String:   'prof_parse.c:351,5'
          Branch Sides:
            - BranchSide:      'prof_parse.c:352,19'
              BranchSideFuncs:
                - fgets
                - parse_line
                - feof
                - free
                - free
            - BranchSide:      'prof_parse.c:411,11'
              BranchSideFuncs:
                - free
        - Branch String:   'prof_parse.c:352,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:353,13'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_parse.c:355,29'
              BranchSideFuncs:
                - parse_line
                - feof
                - free
                - fgets
                - free
        - Branch String:   'prof_parse.c:356,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:351,5'
              BranchSideFuncs:
                - free
            - BranchSide:      'prof_parse.c:357,19'
              BranchSideFuncs:
                - free
      Callsites:
        - Src:             'prof_parse.c:351,13'
          Dst:             feof
        - Src:             'prof_parse.c:352,13'
          Dst:             fgets
        - Src:             'prof_parse.c:355,18'
          Dst:             parse_line
    - functionName:    feof
      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:    fgets
      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:    parse_line
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 292
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - line
        - state
        - ret_modspec
      BBCount:         24
      ICount:          144
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached:
        - __ctype_b_loc
        - parse_std_line
        - skip_over_blanks
        - strdup
        - strip_line
        - strncmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_parse.c:307,5'
          Branch Sides:
            - BranchSide:      'prof_parse.c:309,21'
              BranchSideFuncs:
                - strncmp
                - parse_std_line
                - __ctype_b_loc
                - skip_over_blanks
                - strip_line
                - strdup
            - BranchSide:      'prof_parse.c:330,31'
              BranchSideFuncs:
                - parse_std_line
            - BranchSide:      'prof_parse.c:332,31'
              BranchSideFuncs:
                - skip_over_blanks
            - BranchSide:      'prof_parse.c:337,5'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:309,45'
          Branch Sides:
            - BranchSide:      'prof_parse.c:309,48'
              BranchSideFuncs:
                - __ctype_b_loc
                - parse_std_line
                - skip_over_blanks
                - strip_line
                - strdup
            - BranchSide:      'prof_parse.c:326,13'
              BranchSideFuncs:
                - parse_std_line
        - Branch String:   'prof_parse.c:309,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:317,17'
              BranchSideFuncs:
                - skip_over_blanks
                - strip_line
                - strdup
            - BranchSide:      'prof_parse.c:326,13'
              BranchSideFuncs:
                - parse_std_line
        - Branch String:   'prof_parse.c:317,17'
          Branch Sides:
            - BranchSide:      'prof_parse.c:318,39'
              BranchSideFuncs:
                - skip_over_blanks
                - strip_line
                - strdup
            - BranchSide:      'prof_parse.c:324,13'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:321,21'
          Branch Sides:
            - BranchSide:      'prof_parse.c:322,21'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:323,13'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:326,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:327,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:328,9'
              BranchSideFuncs:
                - parse_std_line
        - Branch String:   'prof_parse.c:333,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:334,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:335,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_parse.c:309,13'
          Dst:             strncmp
        - Src:             'prof_parse.c:309,48'
          Dst:             __ctype_b_loc
        - Src:             'prof_parse.c:318,22'
          Dst:             skip_over_blanks
        - Src:             'prof_parse.c:319,17'
          Dst:             strip_line
        - Src:             'prof_parse.c:320,32'
          Dst:             strdup
        - Src:             'prof_parse.c:330,16'
          Dst:             parse_std_line
        - Src:             'prof_parse.c:332,14'
          Dst:             skip_over_blanks
    - 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:    skip_over_blanks
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - cp
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __ctype_b_loc
      functionUses:    6
      BranchProfiles:
        - Branch String:   'prof_parse.c:35,16'
          Branch Sides:
            - BranchSide:      'prof_parse.c:35,19'
              BranchSideFuncs:
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:35,5'
              BranchSideFuncs:
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:35,5'
          Branch Sides:
            - BranchSide:      'prof_parse.c:36,11'
              BranchSideFuncs:
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:37,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_parse.c:35,19'
          Dst:             __ctype_b_loc
    - functionName:    strip_line
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - line
      BBCount:         12
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strlen
      functionUses:    2
      BranchProfiles:
        - Branch String:   'prof_parse.c:43,21'
          Branch Sides:
            - BranchSide:      'prof_parse.c:43,25'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:43,5'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:43,5'
          Branch Sides:
            - BranchSide:      'prof_parse.c:44,10'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:45,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_parse.c:42,22'
          Dst:             strlen
    - functionName:    parse_std_line
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - line
        - state
      BBCount:         104
      ICount:          657
      EdgeCount:       143
      CyclomaticComplexity: 41
      functionsReached:
        - __ctype_b_loc
        - parse_quoted_string
        - profile_add_node
        - profile_get_node_parent
        - profile_is_node_final
        - profile_make_node_final
        - skip_over_blanks
        - strchr
        - strip_line
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_parse.c:83,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:84,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:85,27'
              BranchSideFuncs:
                - skip_over_blanks
                - strip_line
                - strchr
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
                - __ctype_b_loc
                - profile_get_node_parent
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - skip_over_blanks
                - profile_make_node_final
        - Branch String:   'prof_parse.c:86,22'
          Branch Sides:
            - BranchSide:      'prof_parse.c:86,25'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:87,9'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:86,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:87,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:88,16'
              BranchSideFuncs:
                - strip_line
                - strchr
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
                - __ctype_b_loc
                - profile_get_node_parent
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - skip_over_blanks
                - profile_make_node_final
        - Branch String:   'prof_parse.c:90,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:91,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:92,9'
              BranchSideFuncs:
                - strchr
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
                - __ctype_b_loc
                - profile_get_node_parent
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - skip_over_blanks
                - profile_make_node_final
        - Branch String:   'prof_parse.c:92,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:93,13'
              BranchSideFuncs:
                - strchr
                - profile_add_node
                - profile_is_node_final
                - skip_over_blanks
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:126,9'
              BranchSideFuncs:
                - strchr
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
                - __ctype_b_loc
                - profile_get_node_parent
                - profile_make_node_final
        - Branch String:   'prof_parse.c:93,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:94,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:95,11'
              BranchSideFuncs:
                - strchr
                - profile_add_node
                - profile_is_node_final
                - skip_over_blanks
                - profile_make_node_final
        - Branch String:   'prof_parse.c:97,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:98,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:99,10'
              BranchSideFuncs:
                - profile_add_node
                - profile_is_node_final
                - skip_over_blanks
                - profile_make_node_final
        - Branch String:   'prof_parse.c:102,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:103,20'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:104,9'
              BranchSideFuncs:
                - profile_is_node_final
                - skip_over_blanks
                - profile_make_node_final
        - Branch String:   'prof_parse.c:114,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:115,37'
              BranchSideFuncs:
                - profile_make_node_final
                - skip_over_blanks
            - BranchSide:      'prof_parse.c:121,31'
              BranchSideFuncs:
                - skip_over_blanks
        - Branch String:   'prof_parse.c:122,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:123,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:124,9'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:126,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:127,13'
              BranchSideFuncs:
                - profile_get_node_parent
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:148,11'
              BranchSideFuncs:
                - strchr
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:127,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:128,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:129,15'
              BranchSideFuncs:
                - profile_get_node_parent
                - profile_make_node_final
        - Branch String:   'prof_parse.c:129,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:130,37'
              BranchSideFuncs:
                - profile_make_node_final
                - profile_get_node_parent
            - BranchSide:      'prof_parse.c:131,9'
              BranchSideFuncs:
                - profile_get_node_parent
        - Branch String:   'prof_parse.c:133,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:134,13'
              BranchSideFuncs:
                - profile_get_node_parent
            - BranchSide:      'prof_parse.c:137,14'
              BranchSideFuncs:
                - profile_get_node_parent
        - Branch String:   'prof_parse.c:137,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:138,46'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:143,9'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:140,17'
          Branch Sides:
            - BranchSide:      'prof_parse.c:141,24'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:142,9'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:150,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:151,9'
              BranchSideFuncs:
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:152,9'
              BranchSideFuncs:
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:152,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:153,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:154,6'
              BranchSideFuncs:
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:157,19'
          Branch Sides:
            - BranchSide:      'prof_parse.c:157,23'
              BranchSideFuncs:
                - __ctype_b_loc
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:157,5'
              BranchSideFuncs:
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:157,5'
          Branch Sides:
            - BranchSide:      'prof_parse.c:158,10'
              BranchSideFuncs:
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:159,9'
              BranchSideFuncs:
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:159,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:161,11'
              BranchSideFuncs:
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:169,27'
              BranchSideFuncs:
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
        - Branch String:   'prof_parse.c:163,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:164,18'
              BranchSideFuncs:
                - __ctype_b_loc
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
            - BranchSide:      'prof_parse.c:168,5'
              BranchSideFuncs:
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
        - Branch String:   'prof_parse.c:164,17'
          Branch Sides:
            - BranchSide:      'prof_parse.c:165,17'
              BranchSideFuncs:
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:166,14'
              BranchSideFuncs:
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
                - parse_quoted_string
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:171,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:172,14'
              BranchSideFuncs:
                - parse_quoted_string
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:174,16'
              BranchSideFuncs:
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
        - Branch String:   'prof_parse.c:174,16'
          Branch Sides:
            - BranchSide:      'prof_parse.c:175,22'
              BranchSideFuncs:
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:177,16'
              BranchSideFuncs:
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
                - skip_over_blanks
        - Branch String:   'prof_parse.c:177,32'
          Branch Sides:
            - BranchSide:      'prof_parse.c:177,54'
              BranchSideFuncs:
                - skip_over_blanks
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:180,14'
              BranchSideFuncs:
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:177,16'
          Branch Sides:
            - BranchSide:      'prof_parse.c:178,22'
              BranchSideFuncs:
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:180,14'
              BranchSideFuncs:
                - strlen
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:181,29'
          Branch Sides:
            - BranchSide:      'prof_parse.c:181,32'
              BranchSideFuncs:
                - __ctype_b_loc
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:181,9'
              BranchSideFuncs:
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:181,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:0,0'
              BranchSideFuncs:
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:182,16'
              BranchSideFuncs:
                - strchr
                - profile_add_node
                - profile_make_node_final
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:184,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:185,20'
              BranchSideFuncs:
                - strchr
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:203,16'
              BranchSideFuncs:
                - strchr
                - profile_add_node
                - profile_make_node_final
        - Branch String:   'prof_parse.c:186,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:187,14'
              BranchSideFuncs:
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:188,9'
              BranchSideFuncs:
                - profile_add_node
                - profile_is_node_final
                - profile_make_node_final
        - Branch String:   'prof_parse.c:189,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:190,39'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:201,9'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:192,17'
          Branch Sides:
            - BranchSide:      'prof_parse.c:193,24'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:196,39'
              BranchSideFuncs:
                - profile_is_node_final
                - profile_make_node_final
        - Branch String:   'prof_parse.c:196,17'
          Branch Sides:
            - BranchSide:      'prof_parse.c:197,34'
              BranchSideFuncs:
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:198,17'
              BranchSideFuncs:
                - profile_make_node_final
        - Branch String:   'prof_parse.c:198,17'
          Branch Sides:
            - BranchSide:      'prof_parse.c:199,41'
              BranchSideFuncs:
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:200,9'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:204,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:205,10'
              BranchSideFuncs:
                - profile_add_node
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:206,10'
              BranchSideFuncs:
                - profile_add_node
                - profile_make_node_final
        - Branch String:   'prof_parse.c:206,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:207,26'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:211,5'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:208,15'
          Branch Sides:
            - BranchSide:      'prof_parse.c:208,18'
              BranchSideFuncs:
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:210,5'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:208,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:209,37'
              BranchSideFuncs:
                - profile_make_node_final
            - BranchSide:      'prof_parse.c:210,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_parse.c:85,10'
          Dst:             skip_over_blanks
        - Src:             'prof_parse.c:88,5'
          Dst:             strip_line
        - Src:             'prof_parse.c:96,13'
          Dst:             strchr
        - Src:             'prof_parse.c:100,18'
          Dst:             profile_add_node
        - Src:             'prof_parse.c:107,26'
          Dst:             profile_is_node_final
        - Src:             'prof_parse.c:115,13'
          Dst:             profile_make_node_final
        - Src:             'prof_parse.c:121,14'
          Dst:             skip_over_blanks
        - Src:             'prof_parse.c:130,13'
          Dst:             profile_make_node_final
        - Src:             'prof_parse.c:138,22'
          Dst:             profile_get_node_parent
        - Src:             'prof_parse.c:149,10'
          Dst:             strchr
        - Src:             'prof_parse.c:157,23'
          Dst:             __ctype_b_loc
        - Src:             'prof_parse.c:164,18'
          Dst:             __ctype_b_loc
        - Src:             'prof_parse.c:169,10'
          Dst:             skip_over_blanks
        - Src:             'prof_parse.c:173,9'
          Dst:             parse_quoted_string
        - Src:             'prof_parse.c:177,37'
          Dst:             skip_over_blanks
        - Src:             'prof_parse.c:180,22'
          Dst:             strlen
        - Src:             'prof_parse.c:181,32'
          Dst:             __ctype_b_loc
        - Src:             'prof_parse.c:185,13'
          Dst:             strchr
        - Src:             'prof_parse.c:190,22'
          Dst:             profile_add_node
        - Src:             'prof_parse.c:196,17'
          Dst:             profile_is_node_final
        - Src:             'prof_parse.c:199,17'
          Dst:             profile_make_node_final
        - Src:             'prof_parse.c:203,9'
          Dst:             strchr
        - Src:             'prof_parse.c:207,9'
          Dst:             profile_add_node
        - Src:             'prof_parse.c:209,13'
          Dst:             profile_make_node_final
    - functionName:    parse_quoted_string
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         18
      ICount:          110
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_parse.c:51,33'
          Branch Sides:
            - BranchSide:      'prof_parse.c:51,37'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:51,5'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:51,5'
          Branch Sides:
            - BranchSide:      'prof_parse.c:52,14'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:71,6'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:52,27'
          Branch Sides:
            - BranchSide:      'prof_parse.c:52,32'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:69,16'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:52,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:53,17'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:69,16'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:54,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:56,18'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:59,18'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:62,18'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:65,24'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    valid_name
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - filename
      BBCount:         22
      ICount:          123
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - __ctype_b_loc
        - strcmp
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_parse.c:245,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:246,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:248,9'
              BranchSideFuncs:
                - __ctype_b_loc
                - strcmp
        - Branch String:   'prof_parse.c:248,18'
          Branch Sides:
            - BranchSide:      'prof_parse.c:248,29'
              BranchSideFuncs:
                - strcmp
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:251,14'
              BranchSideFuncs:
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:248,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:249,9'
              BranchSideFuncs:
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:251,14'
              BranchSideFuncs:
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:251,5'
          Branch Sides:
            - BranchSide:      'prof_parse.c:252,14'
              BranchSideFuncs:
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:255,5'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:252,41'
          Branch Sides:
            - BranchSide:      'prof_parse.c:252,45'
              BranchSideFuncs:
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:254,5'
              BranchSideFuncs:
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:252,54'
          Branch Sides:
            - BranchSide:      'prof_parse.c:252,58'
              BranchSideFuncs:
                - __ctype_b_loc
            - BranchSide:      'prof_parse.c:254,5'
              BranchSideFuncs:
                - __ctype_b_loc
        - Branch String:   'prof_parse.c:252,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:253,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:254,5'
              BranchSideFuncs:
                - __ctype_b_loc
      Callsites:
        - Src:             'prof_parse.c:242,18'
          Dst:             strlen
        - Src:             'prof_parse.c:248,22'
          Dst:             strcmp
        - Src:             'prof_parse.c:252,14'
          Dst:             __ctype_b_loc
    - functionName:    add_data_to_buffer
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 603
      functionLinenumberEnd: 621
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - b
        - d
        - len
      BBCount:         11
      ICount:          106
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - realloc
      functionUses:    2
      BranchProfiles:
        - Branch String:   'prof_parse.c:604,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:605,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:606,9'
              BranchSideFuncs:
                - realloc
        - Branch String:   'prof_parse.c:606,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:610,19'
              BranchSideFuncs:
                - realloc
            - BranchSide:      'prof_parse.c:619,12'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:612,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:613,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:616,19'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_parse.c:611,18'
          Dst:             realloc
    - functionName:    realloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dump_profile_to_buffer_cb
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 624
      functionLinenumberEnd: 626
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - data
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - add_data_to_buffer
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_parse.c:625,54'
          Dst:             strlen
        - Src:             'prof_parse.c:625,5'
          Dst:             add_data_to_buffer
    - functionName:    profile_write_tree_to_buffer
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 646
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - root
        - buf
      BBCount:         12
      ICount:          81
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - add_data_to_buffer
        - dump_profile
        - dump_profile_to_buffer_cb
        - realloc
      functionUses:    2
      BranchProfiles:
        - Branch String:   'prof_parse.c:634,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:635,10'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:638,5'
              BranchSideFuncs:
                - add_data_to_buffer
                - realloc
        - Branch String:   'prof_parse.c:639,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:640,41'
              BranchSideFuncs:
                - realloc
            - BranchSide:      'prof_parse.c:644,21'
              BranchSideFuncs: []
        - Branch String:   'prof_parse.c:641,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:642,29'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:643,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_parse.c:633,5'
          Dst:             dump_profile
        - Src:             'prof_parse.c:633,5'
          Dst:             dump_profile_to_buffer_cb
        - Src:             'prof_parse.c:638,5'
          Dst:             add_data_to_buffer
        - Src:             'prof_parse.c:640,24'
          Dst:             realloc
    - functionName:    dump_profile
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 530
      functionLinenumberEnd: 583
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - root
        - level
        - cb
        - data
      BBCount:         35
      ICount:          294
      EdgeCount:       44
      CyclomaticComplexity: 11
      functionsReached:
        - dump_profile
        - need_double_quotes
        - output_quoted_string
        - profile_find_node_relation
        - profile_find_node_subsection
        - profile_is_node_final
      functionUses:    4
      BranchProfiles:
        - Branch String:   'prof_parse.c:541,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:542,13'
              BranchSideFuncs:
                - profile_find_node_subsection
                - dump_profile
                - profile_is_node_final
                - profile_is_node_final
                - dump_profile
            - BranchSide:      'prof_parse.c:543,15'
              BranchSideFuncs:
                - need_double_quotes
                - profile_find_node_subsection
                - dump_profile
                - profile_is_node_final
                - profile_is_node_final
                - dump_profile
                - profile_find_node_relation
                - output_quoted_string
        - Branch String:   'prof_parse.c:543,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:544,13'
              BranchSideFuncs:
                - need_double_quotes
                - profile_find_node_subsection
                - dump_profile
                - profile_is_node_final
                - profile_is_node_final
                - dump_profile
                - profile_find_node_relation
                - output_quoted_string
            - BranchSide:      'prof_parse.c:545,9'
              BranchSideFuncs:
                - need_double_quotes
                - profile_find_node_subsection
                - dump_profile
                - profile_is_node_final
                - profile_is_node_final
                - dump_profile
                - profile_find_node_relation
                - output_quoted_string
        - Branch String:   'prof_parse.c:548,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:549,34'
              BranchSideFuncs:
                - output_quoted_string
                - profile_find_node_subsection
                - dump_profile
                - profile_is_node_final
                - profile_is_node_final
                - dump_profile
                - profile_find_node_relation
                - need_double_quotes
            - BranchSide:      'prof_parse.c:551,13'
              BranchSideFuncs:
                - profile_find_node_subsection
                - dump_profile
                - profile_is_node_final
                - profile_is_node_final
                - dump_profile
                - profile_find_node_relation
                - need_double_quotes
                - output_quoted_string
        - Branch String:   'prof_parse.c:553,5'
          Branch Sides:
            - BranchSide:      'prof_parse.c:539,45'
              BranchSideFuncs:
                - profile_find_node_relation
                - need_double_quotes
                - profile_find_node_subsection
                - dump_profile
                - profile_is_node_final
                - profile_is_node_final
                - dump_profile
                - output_quoted_string
            - BranchSide:      'prof_parse.c:555,10'
              BranchSideFuncs:
                - profile_find_node_subsection
                - dump_profile
                - profile_is_node_final
                - profile_is_node_final
                - dump_profile
        - Branch String:   'prof_parse.c:559,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:560,13'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:561,13'
              BranchSideFuncs:
                - dump_profile
                - profile_is_node_final
                - profile_find_node_subsection
                - profile_is_node_final
                - dump_profile
        - Branch String:   'prof_parse.c:561,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:562,13'
              BranchSideFuncs:
                - profile_is_node_final
                - dump_profile
                - profile_find_node_subsection
                - dump_profile
                - profile_is_node_final
            - BranchSide:      'prof_parse.c:570,19'
              BranchSideFuncs:
                - dump_profile
                - profile_is_node_final
                - profile_find_node_subsection
                - profile_is_node_final
                - dump_profile
        - Branch String:   'prof_parse.c:570,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:571,17'
              BranchSideFuncs:
                - dump_profile
                - profile_is_node_final
                - profile_find_node_subsection
                - profile_is_node_final
                - dump_profile
            - BranchSide:      'prof_parse.c:572,13'
              BranchSideFuncs:
                - dump_profile
                - profile_is_node_final
                - profile_find_node_subsection
                - profile_is_node_final
                - dump_profile
        - Branch String:   'prof_parse.c:576,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:577,17'
              BranchSideFuncs:
                - profile_is_node_final
                - profile_find_node_subsection
                - dump_profile
                - profile_is_node_final
                - dump_profile
            - BranchSide:      'prof_parse.c:578,13'
              BranchSideFuncs:
                - profile_is_node_final
                - profile_find_node_subsection
                - dump_profile
                - profile_is_node_final
                - dump_profile
        - Branch String:   'prof_parse.c:582,5'
          Branch Sides:
            - BranchSide:      'prof_parse.c:557,47'
              BranchSideFuncs:
                - profile_find_node_subsection
                - dump_profile
                - profile_is_node_final
                - profile_is_node_final
                - dump_profile
            - BranchSide:      'prof_parse.c:582,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_parse.c:539,18'
          Dst:             profile_find_node_relation
        - Src:             'prof_parse.c:548,13'
          Dst:             need_double_quotes
        - Src:             'prof_parse.c:549,13'
          Dst:             output_quoted_string
        - Src:             'prof_parse.c:557,18'
          Dst:             profile_find_node_subsection
        - Src:             'prof_parse.c:565,16'
          Dst:             profile_is_node_final
        - Src:             'prof_parse.c:567,13'
          Dst:             dump_profile
        - Src:             'prof_parse.c:575,13'
          Dst:             dump_profile
        - Src:             'prof_parse.c:579,16'
          Dst:             profile_is_node_final
    - functionName:    dump_profile_to_file_cb
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 586
      functionLinenumberEnd: 588
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
        - data
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fputs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_parse.c:587,5'
          Dst:             fputs
    - functionName:    fputs
      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:    profile_write_tree_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 591
      functionLinenumberEnd: 593
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - root
        - dstfile
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dump_profile
        - dump_profile_to_file_cb
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_parse.c:592,5'
          Dst:             dump_profile
        - Src:             'prof_parse.c:592,5'
          Dst:             dump_profile_to_file_cb
    - functionName:    parse_include_dir
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dirname
        - root_section
      BBCount:         20
      ICount:          118
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - asprintf
        - k5_dir_filenames
        - k5_free_filenames
        - parse_include_file
        - valid_name
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_parse.c:271,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:272,9'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:274,12'
              BranchSideFuncs:
                - k5_free_filenames
                - valid_name
                - asprintf
                - parse_include_file
                - free
        - Branch String:   'prof_parse.c:274,32'
          Branch Sides:
            - BranchSide:      'prof_parse.c:274,35'
              BranchSideFuncs:
                - k5_free_filenames
                - valid_name
                - asprintf
                - parse_include_file
                - free
            - BranchSide:      'prof_parse.c:274,5'
              BranchSideFuncs:
                - k5_free_filenames
                - valid_name
                - asprintf
                - parse_include_file
                - free
        - Branch String:   'prof_parse.c:274,5'
          Branch Sides:
            - BranchSide:      'prof_parse.c:275,25'
              BranchSideFuncs:
                - valid_name
                - k5_free_filenames
                - asprintf
                - parse_include_file
                - free
            - BranchSide:      'prof_parse.c:286,23'
              BranchSideFuncs:
                - k5_free_filenames
        - Branch String:   'prof_parse.c:275,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:276,13'
              BranchSideFuncs:
                - asprintf
                - parse_include_file
                - free
                - k5_free_filenames
                - valid_name
            - BranchSide:      'prof_parse.c:277,42'
              BranchSideFuncs:
                - asprintf
                - parse_include_file
                - free
                - k5_free_filenames
                - valid_name
        - Branch String:   'prof_parse.c:277,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:278,20'
              BranchSideFuncs:
                - k5_free_filenames
            - BranchSide:      'prof_parse.c:281,37'
              BranchSideFuncs:
                - parse_include_file
                - free
                - k5_free_filenames
                - valid_name
                - asprintf
        - Branch String:   'prof_parse.c:283,13'
          Branch Sides:
            - BranchSide:      'prof_parse.c:284,13'
              BranchSideFuncs:
                - k5_free_filenames
            - BranchSide:      'prof_parse.c:285,5'
              BranchSideFuncs:
                - k5_free_filenames
                - valid_name
                - asprintf
                - parse_include_file
                - free
      Callsites:
        - Src:             'prof_parse.c:271,9'
          Dst:             k5_dir_filenames
        - Src:             'prof_parse.c:275,14'
          Dst:             valid_name
        - Src:             'prof_parse.c:277,13'
          Dst:             asprintf
        - Src:             'prof_parse.c:281,18'
          Dst:             parse_include_file
        - Src:             'prof_parse.c:286,5'
          Dst:             k5_free_filenames
    - functionName:    profile_process_directory
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 442
      functionLinenumberEnd: 457
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dirname
        - root
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - parse_include_dir
        - profile_create_node
        - profile_free_node
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_parse.c:448,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:449,16'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:450,32'
              BranchSideFuncs:
                - parse_include_dir
                - profile_free_node
        - Branch String:   'prof_parse.c:451,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:452,27'
              BranchSideFuncs:
                - profile_free_node
            - BranchSide:      'prof_parse.c:455,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_parse.c:447,14'
          Dst:             profile_create_node
        - Src:             'prof_parse.c:450,14'
          Dst:             parse_include_dir
        - Src:             'prof_parse.c:452,9'
          Dst:             profile_free_node
    - functionName:    profile_parse_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 417
      functionLinenumberEnd: 438
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - f
        - root
        - ret_modspec
      BBCount:         8
      ICount:          75
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - parse_file
        - profile_create_node
        - profile_free_node
      functionUses:    2
      BranchProfiles:
        - Branch String:   'prof_parse.c:428,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:429,16'
              BranchSideFuncs: []
            - BranchSide:      'prof_parse.c:431,25'
              BranchSideFuncs:
                - parse_file
                - profile_free_node
        - Branch String:   'prof_parse.c:432,9'
          Branch Sides:
            - BranchSide:      'prof_parse.c:433,33'
              BranchSideFuncs:
                - profile_free_node
            - BranchSide:      'prof_parse.c:436,19'
              BranchSideFuncs: []
      Callsites:
        - Src:             'prof_parse.c:427,14'
          Dst:             profile_create_node
        - Src:             'prof_parse.c:431,14'
          Dst:             parse_file
        - Src:             'prof_parse.c:433,9'
          Dst:             profile_free_node
    - functionName:    initialize_prof_error_table
      functionSourceFile: '/src/krb5/src/util/profile/prof_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - add_error_table
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_err.c:73,12'
          Branch Sides:
            - BranchSide:      'prof_err.c:73,12'
              BranchSideFuncs:
                - add_error_table
            - BranchSide:      'prof_err.c:73,12'
              BranchSideFuncs:
                - add_error_table
      Callsites:
        - Src:             'prof_err.c:73,12'
          Dst:             add_error_table
    - functionName:    k5_mutex_finish_init
      functionSourceFile: '/src/krb5/src/util/et/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    com_err_initialize
      functionSourceFile: '/src/krb5/src/util/et/error_message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          57
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - k5_mutex_finish_init
        - krb5int_key_register
      functionUses:    1
      BranchProfiles:
        - Branch String:   'error_message.c:40,16'
          Branch Sides:
            - BranchSide:      'error_message.c:36,9'
              BranchSideFuncs:
                - k5_mutex_finish_init.212
                - k5_mutex_finish_init.212
                - krb5int_key_register
            - BranchSide:      'error_message.c:40,16'
              BranchSideFuncs:
                - k5_mutex_finish_init.212
                - k5_mutex_finish_init.212
                - krb5int_key_register
        - Branch String:   'error_message.c:42,9'
          Branch Sides:
            - BranchSide:      'error_message.c:43,16'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:44,11'
              BranchSideFuncs:
                - k5_mutex_finish_init.212
                - krb5int_key_register
        - Branch String:   'error_message.c:45,9'
          Branch Sides:
            - BranchSide:      'error_message.c:46,16'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:47,11'
              BranchSideFuncs:
                - krb5int_key_register
        - Branch String:   'error_message.c:48,9'
          Branch Sides:
            - BranchSide:      'error_message.c:49,16'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:50,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'error_message.c:41,11'
          Dst:             k5_mutex_finish_init
        - Src:             'error_message.c:44,11'
          Dst:             k5_mutex_finish_init
        - Src:             'error_message.c:47,11'
          Dst:             krb5int_key_register
    - functionName:    com_err_initialize__aux
      functionSourceFile: '/src/krb5/src/util/et/error_message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - com_err_initialize
      functionUses:    0
      BranchProfiles:
        - Branch String:   'error_message.c:31,1'
          Branch Sides:
            - BranchSide:      'error_message.c:31,1'
              BranchSideFuncs:
                - com_err_initialize
            - BranchSide:      'error_message.c:31,1'
              BranchSideFuncs:
                - com_err_initialize
      Callsites:
        - Src:             'error_message.c:31,1'
          Dst:             com_err_initialize
    - functionName:    com_err_finish_init
      functionSourceFile: '/src/krb5/src/util/et/error_message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - k5_once
      functionUses:    3
      BranchProfiles:
        - Branch String:   'error_message.c:308,12'
          Branch Sides:
            - BranchSide:      'error_message.c:308,12'
              BranchSideFuncs:
                - k5_once
                - __assert_fail
            - BranchSide:      'error_message.c:308,12'
              BranchSideFuncs:
                - k5_once
                - __assert_fail
        - Branch String:   'error_message.c:308,12'
          Branch Sides:
            - BranchSide:      'error_message.c:308,12'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:308,12'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   'error_message.c:308,12'
          Branch Sides:
            - BranchSide:      'error_message.c:308,12'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:308,12'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             'error_message.c:308,12'
          Dst:             k5_once
        - Src:             'error_message.c:308,12'
          Dst:             __assert_fail
    - functionName:    remove_error_table
      functionSourceFile: '/src/krb5/src/util/et/error_message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 281
      functionLinenumberEnd: 304
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - et
      BBCount:         20
      ICount:          126
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - k5_mutex_lock
        - k5_mutex_unlock
        - k5_once
      functionUses:    0
      BranchProfiles:
        - Branch String:   'error_message.c:285,9'
          Branch Sides:
            - BranchSide:      'error_message.c:286,9'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:288,9'
              BranchSideFuncs:
                - k5_once
                - __assert_fail
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - free
                - k5_mutex_unlock.216
        - Branch String:   'error_message.c:288,9'
          Branch Sides:
            - BranchSide:      'error_message.c:288,9'
              BranchSideFuncs:
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - free
                - k5_mutex_unlock.216
            - BranchSide:      'error_message.c:288,9'
              BranchSideFuncs:
                - __assert_fail
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - free
                - k5_mutex_unlock.216
        - Branch String:   'error_message.c:288,9'
          Branch Sides:
            - BranchSide:      'error_message.c:288,9'
              BranchSideFuncs:
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - free
                - k5_mutex_unlock.216
            - BranchSide:      'error_message.c:288,9'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   'error_message.c:288,9'
          Branch Sides:
            - BranchSide:      'error_message.c:289,9'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:290,5'
              BranchSideFuncs:
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - free
                - k5_mutex_unlock.216
        - Branch String:   'error_message.c:293,5'
          Branch Sides:
            - BranchSide:      'error_message.c:294,15'
              BranchSideFuncs:
                - k5_mutex_unlock.216
                - free
                - k5_mutex_unlock.216
            - BranchSide:      'error_message.c:302,5'
              BranchSideFuncs:
                - k5_mutex_unlock.216
        - Branch String:   'error_message.c:294,13'
          Branch Sides:
            - BranchSide:      'error_message.c:295,18'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.216
            - BranchSide:      'error_message.c:301,5'
              BranchSideFuncs:
                - k5_mutex_unlock.216
                - free
                - k5_mutex_unlock.216
      Callsites:
        - Src:             'error_message.c:288,9'
          Dst:             k5_once
        - Src:             'error_message.c:288,9'
          Dst:             __assert_fail
        - Src:             'error_message.c:290,5'
          Dst:             k5_mutex_lock
        - Src:             'error_message.c:298,13'
          Dst:             k5_mutex_unlock
        - Src:             'error_message.c:302,5'
          Dst:             k5_mutex_unlock
    - functionName:    k5_mutex_lock
      functionSourceFile: '/src/krb5/src/util/et/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    3
      BranchProfiles:
        - Branch String:   '../../include/k5-thread.h:371,9'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:372,17'
              BranchSideFuncs:
                - strerror
                - fprintf
                - __assert_fail
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   '../../include/k5-thread.h:376,5'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs: []
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             '../../include/k5-thread.h:369,13'
          Dst:             k5_os_mutex_lock
        - Src:             '../../include/k5-thread.h:373,20'
          Dst:             strerror
        - Src:             '../../include/k5-thread.h:372,9'
          Dst:             fprintf
        - Src:             '../../include/k5-thread.h:376,5'
          Dst:             __assert_fail
    - functionName:    k5_mutex_unlock
      functionSourceFile: '/src/krb5/src/util/et/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    5
      BranchProfiles:
        - Branch String:   '../../include/k5-thread.h:383,9'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:384,17'
              BranchSideFuncs:
                - strerror
                - fprintf
                - __assert_fail
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   '../../include/k5-thread.h:388,5'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs: []
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             '../../include/k5-thread.h:381,13'
          Dst:             k5_os_mutex_unlock
        - Src:             '../../include/k5-thread.h:385,20'
          Dst:             strerror
        - Src:             '../../include/k5-thread.h:384,9'
          Dst:             fprintf
        - Src:             '../../include/k5-thread.h:388,5'
          Dst:             __assert_fail
    - functionName:    add_error_table
      functionSourceFile: '/src/krb5/src/util/et/error_message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - et
      BBCount:         19
      ICount:          149
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - bindtextdomain
        - k5_mutex_lock
        - k5_mutex_unlock
        - k5_once
      functionUses:    2
      BranchProfiles:
        - Branch String:   'error_message.c:257,9'
          Branch Sides:
            - BranchSide:      'error_message.c:257,9'
              BranchSideFuncs:
                - malloc
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - bindtextdomain
            - BranchSide:      'error_message.c:257,9'
              BranchSideFuncs:
                - __assert_fail
                - malloc
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - bindtextdomain
        - Branch String:   'error_message.c:257,9'
          Branch Sides:
            - BranchSide:      'error_message.c:257,9'
              BranchSideFuncs:
                - malloc
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - bindtextdomain
            - BranchSide:      'error_message.c:257,9'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   'error_message.c:257,9'
          Branch Sides:
            - BranchSide:      'error_message.c:258,9'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:260,9'
              BranchSideFuncs:
                - malloc
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - bindtextdomain
        - Branch String:   'error_message.c:261,9'
          Branch Sides:
            - BranchSide:      'error_message.c:262,9'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:264,16'
              BranchSideFuncs:
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - bindtextdomain
        - Branch String:   'error_message.c:272,38'
          Branch Sides:
            - BranchSide:      'error_message.c:272,41'
              BranchSideFuncs:
                - k5_mutex_unlock.216
                - bindtextdomain
            - BranchSide:      'error_message.c:275,5'
              BranchSideFuncs:
                - k5_mutex_unlock.216
        - Branch String:   'error_message.c:272,9'
          Branch Sides:
            - BranchSide:      'error_message.c:273,24'
              BranchSideFuncs:
                - bindtextdomain
                - k5_mutex_unlock.216
            - BranchSide:      'error_message.c:275,5'
              BranchSideFuncs:
                - k5_mutex_unlock.216
      Callsites:
        - Src:             'error_message.c:257,9'
          Dst:             k5_once
        - Src:             'error_message.c:257,9'
          Dst:             __assert_fail
        - Src:             'error_message.c:266,5'
          Dst:             k5_mutex_lock
        - Src:             'error_message.c:273,9'
          Dst:             bindtextdomain
        - Src:             'error_message.c:275,5'
          Dst:             k5_mutex_unlock
    - functionName:    bindtextdomain
      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:    get_thread_buffer
      functionSourceFile: '/src/krb5/src/util/et/error_message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          53
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5int_getspecific
        - krb5int_setspecific
      functionUses:    2
      BranchProfiles:
        - Branch String:   'error_message.c:88,10'
          Branch Sides:
            - BranchSide:      'error_message.c:87,11'
              BranchSideFuncs:
                - krb5int_getspecific
                - malloc
                - krb5int_setspecific
                - free
            - BranchSide:      'error_message.c:88,10'
              BranchSideFuncs:
                - krb5int_getspecific
                - malloc
                - krb5int_setspecific
                - free
        - Branch String:   'error_message.c:89,9'
          Branch Sides:
            - BranchSide:      'error_message.c:90,14'
              BranchSideFuncs:
                - malloc
                - krb5int_setspecific
                - free
            - BranchSide:      'error_message.c:99,12'
              BranchSideFuncs: []
        - Branch String:   'error_message.c:91,13'
          Branch Sides:
            - BranchSide:      'error_message.c:92,13'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:94,44'
              BranchSideFuncs:
                - krb5int_setspecific
                - free
        - Branch String:   'error_message.c:94,13'
          Branch Sides:
            - BranchSide:      'error_message.c:95,18'
              BranchSideFuncs:
                - free
            - BranchSide:      'error_message.c:98,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'error_message.c:88,10'
          Dst:             krb5int_getspecific
        - Src:             'error_message.c:94,13'
          Dst:             krb5int_setspecific
    - functionName:    error_message
      functionSourceFile: '/src/krb5/src/util/et/error_message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - code
      BBCount:         55
      ICount:          374
      EdgeCount:       72
      CyclomaticComplexity: 19
      functionsReached:
        - __assert_fail
        - abort
        - dgettext
        - error_table_name_r
        - get_thread_buffer
        - k5_mutex_lock
        - k5_mutex_unlock
        - k5_once
        - k5_strerror_r
        - krb5int_strlcpy
        - strerror
      functionUses:    1
      BranchProfiles:
        - Branch String:   'error_message.c:114,9'
          Branch Sides:
            - BranchSide:      'error_message.c:114,9'
              BranchSideFuncs:
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
                - k5_mutex_unlock.216
                - dgettext
                - get_thread_buffer
                - strerror
                - k5_strerror_r
                - abort
            - BranchSide:      'error_message.c:114,9'
              BranchSideFuncs:
                - __assert_fail
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
                - k5_mutex_unlock.216
                - dgettext
                - get_thread_buffer
                - strerror
                - k5_strerror_r
                - abort
        - Branch String:   'error_message.c:114,9'
          Branch Sides:
            - BranchSide:      'error_message.c:114,9'
              BranchSideFuncs:
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
                - k5_mutex_unlock.216
                - dgettext
                - get_thread_buffer
                - strerror
                - k5_strerror_r
                - abort
            - BranchSide:      'error_message.c:114,9'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   'error_message.c:114,9'
          Branch Sides:
            - BranchSide:      'error_message.c:115,9'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:117,31'
              BranchSideFuncs:
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
                - k5_mutex_unlock.216
                - dgettext
                - get_thread_buffer
                - strerror
                - k5_strerror_r
                - abort
        - Branch String:   'error_message.c:120,9'
          Branch Sides:
            - BranchSide:      'error_message.c:129,13'
              BranchSideFuncs:
                - get_thread_buffer
                - strerror
                - k5_strerror_r
                - abort
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
            - BranchSide:      'error_message.c:141,5'
              BranchSideFuncs:
                - k5_mutex_lock.215
                - k5_mutex_unlock.216
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
                - k5_mutex_unlock.216
                - dgettext
        - Branch String:   'error_message.c:129,13'
          Branch Sides:
            - BranchSide:      'error_message.c:130,13'
              BranchSideFuncs:
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
            - BranchSide:      'error_message.c:133,33'
              BranchSideFuncs:
                - get_thread_buffer
                - strerror
                - k5_strerror_r
                - abort
        - Branch String:   'error_message.c:133,13'
          Branch Sides:
            - BranchSide:      'error_message.c:134,13'
              BranchSideFuncs:
                - abort
            - BranchSide:      'error_message.c:135,14'
              BranchSideFuncs:
                - get_thread_buffer
                - strerror
                - k5_strerror_r
        - Branch String:   'error_message.c:136,16'
          Branch Sides:
            - BranchSide:      'error_message.c:136,30'
              BranchSideFuncs:
                - k5_strerror_r
                - strerror
            - BranchSide:      'error_message.c:138,25'
              BranchSideFuncs:
                - strerror
        - Branch String:   'error_message.c:136,13'
          Branch Sides:
            - BranchSide:      'error_message.c:137,20'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:138,25'
              BranchSideFuncs:
                - strerror
        - Branch String:   'error_message.c:143,5'
          Branch Sides:
            - BranchSide:      'error_message.c:146,14'
              BranchSideFuncs:
                - k5_mutex_unlock.216
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
                - k5_mutex_unlock.216
                - dgettext
            - BranchSide:      'error_message.c:151,5'
              BranchSideFuncs:
                - k5_mutex_unlock.216
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
        - Branch String:   'error_message.c:146,13'
          Branch Sides:
            - BranchSide:      'error_message.c:147,21'
              BranchSideFuncs:
                - k5_mutex_unlock.216
                - dgettext
                - k5_mutex_unlock.216
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
            - BranchSide:      'error_message.c:150,5'
              BranchSideFuncs:
                - k5_mutex_unlock.216
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
                - k5_mutex_unlock.216
                - dgettext
        - Branch String:   'error_message.c:159,9'
          Branch Sides:
            - BranchSide:      'error_message.c:160,9'
              BranchSideFuncs:
                - k5_mutex_unlock.216
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
            - BranchSide:      'error_message.c:162,9'
              BranchSideFuncs:
                - dgettext
                - k5_mutex_unlock.216
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
        - Branch String:   'error_message.c:162,9'
          Branch Sides:
            - BranchSide:      'error_message.c:163,9'
              BranchSideFuncs:
                - k5_mutex_unlock.216
                - get_thread_buffer
                - krb5int_strlcpy
                - error_table_name_r
            - BranchSide:      'error_message.c:166,9'
              BranchSideFuncs:
                - dgettext
        - Branch String:   'error_message.c:166,9'
          Branch Sides:
            - BranchSide:      'error_message.c:167,25'
              BranchSideFuncs:
                - dgettext
            - BranchSide:      'error_message.c:169,16'
              BranchSideFuncs: []
        - Branch String:   'error_message.c:228,9'
          Branch Sides:
            - BranchSide:      'error_message.c:229,9'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:230,11'
              BranchSideFuncs:
                - krb5int_strlcpy
                - error_table_name_r
        - Branch String:   'error_message.c:233,9'
          Branch Sides:
            - BranchSide:      'error_message.c:234,35'
              BranchSideFuncs:
                - error_table_name_r
            - BranchSide:      'error_message.c:239,5'
              BranchSideFuncs: []
        - Branch String:   'error_message.c:235,9'
          Branch Sides:
            - BranchSide:      'error_message.c:236,15'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:237,12'
              BranchSideFuncs: []
        - Branch String:   'error_message.c:239,5'
          Branch Sides:
            - BranchSide:      'error_message.c:240,13'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:247,19'
              BranchSideFuncs: []
        - Branch String:   'error_message.c:240,26'
          Branch Sides:
            - BranchSide:      'error_message.c:240,29'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:241,27'
              BranchSideFuncs: []
        - Branch String:   'error_message.c:240,13'
          Branch Sides:
            - BranchSide:      'error_message.c:241,27'
              BranchSideFuncs: []
            - BranchSide:      'error_message.c:245,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'error_message.c:114,9'
          Dst:             k5_once
        - Src:             'error_message.c:114,9'
          Dst:             __assert_fail
        - Src:             'error_message.c:134,13'
          Dst:             abort
        - Src:             'error_message.c:135,14'
          Dst:             get_thread_buffer
        - Src:             'error_message.c:136,19'
          Dst:             k5_strerror_r
        - Src:             'error_message.c:138,16'
          Dst:             strerror
        - Src:             'error_message.c:141,5'
          Dst:             k5_mutex_lock
        - Src:             'error_message.c:154,5'
          Dst:             k5_mutex_unlock
        - Src:             'error_message.c:167,16'
          Dst:             dgettext
        - Src:             'error_message.c:172,5'
          Dst:             k5_mutex_unlock
        - Src:             'error_message.c:227,10'
          Dst:             get_thread_buffer
        - Src:             'error_message.c:231,5'
          Dst:             krb5int_strlcpy
        - Src:             'error_message.c:234,16'
          Dst:             error_table_name_r
    - functionName:    abort
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dgettext
      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:    error_table_name
      functionSourceFile: '/src/krb5/src/util/et/et_name.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - num
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - error_table_name_r
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'et_name.c:56,12'
          Dst:             error_table_name_r
    - functionName:    error_table_name_r
      functionSourceFile: '/src/krb5/src/util/et/et_name.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - num
        - outbuf
      BBCount:         8
      ICount:          68
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'et_name.c:41,5'
          Branch Sides:
            - BranchSide:      'et_name.c:42,15'
              BranchSideFuncs: []
            - BranchSide:      'et_name.c:46,6'
              BranchSideFuncs: []
        - Branch String:   'et_name.c:43,13'
          Branch Sides:
            - BranchSide:      'et_name.c:44,29'
              BranchSideFuncs: []
            - BranchSide:      'et_name.c:45,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    reset_com_err_hook
      functionSourceFile: '/src/krb5/src/util/et/com_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          31
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - com_err_finish_init
        - com_err_lock_hook_handle
        - k5_mutex_unlock
      functionUses:    0
      BranchProfiles:
        - Branch String:   'com_err.c:169,9'
          Branch Sides:
            - BranchSide:      'com_err.c:166,28'
              BranchSideFuncs:
                - com_err_finish_init
                - com_err_lock_hook_handle
                - k5_mutex_unlock.257
                - abort
            - BranchSide:      'com_err.c:169,9'
              BranchSideFuncs:
                - com_err_finish_init
                - com_err_lock_hook_handle
                - k5_mutex_unlock.257
                - abort
        - Branch String:   'com_err.c:169,9'
          Branch Sides:
            - BranchSide:      'com_err.c:170,9'
              BranchSideFuncs:
                - abort
            - BranchSide:      'com_err.c:171,5'
              BranchSideFuncs:
                - com_err_lock_hook_handle
                - k5_mutex_unlock.257
      Callsites:
        - Src:             'com_err.c:169,9'
          Dst:             com_err_finish_init
        - Src:             'com_err.c:170,9'
          Dst:             abort
        - Src:             'com_err.c:171,5'
          Dst:             com_err_lock_hook_handle
        - Src:             'com_err.c:174,5'
          Dst:             k5_mutex_unlock
    - functionName:    com_err_lock_hook_handle
      functionSourceFile: '/src/krb5/src/util/et/com_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
      functionUses:    2
      BranchProfiles:
        - Branch String:   'com_err.c:147,5'
          Branch Sides:
            - BranchSide:      'com_err.c:147,5'
              BranchSideFuncs:
                - k5_mutex_lock.262
            - BranchSide:      'com_err.c:147,5'
              BranchSideFuncs:
                - k5_mutex_lock.262
      Callsites:
        - Src:             'com_err.c:147,5'
          Dst:             k5_mutex_lock
    - functionName:    k5_mutex_unlock
      functionSourceFile: '/src/krb5/src/util/et/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    3
      BranchProfiles:
        - Branch String:   '../../include/k5-thread.h:383,9'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:384,17'
              BranchSideFuncs:
                - strerror
                - fprintf
                - __assert_fail
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   '../../include/k5-thread.h:388,5'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs: []
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             '../../include/k5-thread.h:381,13'
          Dst:             k5_os_mutex_unlock
        - Src:             '../../include/k5-thread.h:385,20'
          Dst:             strerror
        - Src:             '../../include/k5-thread.h:384,9'
          Dst:             fprintf
        - Src:             '../../include/k5-thread.h:388,5'
          Dst:             __assert_fail
    - functionName:    k5_mutex_lock
      functionSourceFile: '/src/krb5/src/util/et/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    2
      BranchProfiles:
        - Branch String:   '../../include/k5-thread.h:371,9'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:372,17'
              BranchSideFuncs:
                - strerror
                - fprintf
                - __assert_fail
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   '../../include/k5-thread.h:376,5'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs: []
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             '../../include/k5-thread.h:369,13'
          Dst:             k5_os_mutex_lock
        - Src:             '../../include/k5-thread.h:373,20'
          Dst:             strerror
        - Src:             '../../include/k5-thread.h:372,9'
          Dst:             fprintf
        - Src:             '../../include/k5-thread.h:376,5'
          Dst:             __assert_fail
    - functionName:    set_com_err_hook
      functionSourceFile: '/src/krb5/src/util/et/com_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - new_proc
      BBCount:         5
      ICount:          35
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - com_err_finish_init
        - com_err_lock_hook_handle
        - k5_mutex_unlock
      functionUses:    0
      BranchProfiles:
        - Branch String:   'com_err.c:155,9'
          Branch Sides:
            - BranchSide:      'com_err.c:156,9'
              BranchSideFuncs:
                - abort
            - BranchSide:      'com_err.c:157,5'
              BranchSideFuncs:
                - com_err_lock_hook_handle
                - k5_mutex_unlock.257
      Callsites:
        - Src:             'com_err.c:155,9'
          Dst:             com_err_finish_init
        - Src:             'com_err.c:156,9'
          Dst:             abort
        - Src:             'com_err.c:157,5'
          Dst:             com_err_lock_hook_handle
        - Src:             'com_err.c:160,5'
          Dst:             k5_mutex_unlock
    - functionName:    com_err
      functionSourceFile: '/src/krb5/src/util/et/com_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - whoami
        - code
        - fmt
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - com_err_va
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'com_err.c:138,5'
          Dst:             com_err_va
    - functionName:    com_err_va
      functionSourceFile: '/src/krb5/src/util/et/com_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - whoami
        - code
        - fmt
        - ap
      BBCount:         15
      ICount:          98
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - abort
        - com_err_finish_init
        - default_com_err_proc
        - k5_mutex_lock
        - k5_mutex_unlock
      functionUses:    1
      BranchProfiles:
        - Branch String:   'com_err.c:107,9'
          Branch Sides:
            - BranchSide:      'com_err.c:108,9'
              BranchSideFuncs:
                - default_com_err_proc
                - __assert_fail
                - abort
            - BranchSide:      'com_err.c:109,5'
              BranchSideFuncs:
                - k5_mutex_lock.262
                - k5_mutex_unlock.257
        - Branch String:   'com_err.c:110,9'
          Branch Sides:
            - BranchSide:      'com_err.c:110,24'
              BranchSideFuncs:
                - k5_mutex_unlock.257
            - BranchSide:      'com_err.c:110,9'
              BranchSideFuncs:
                - k5_mutex_unlock.257
        - Branch String:   'com_err.c:122,9'
          Branch Sides:
            - BranchSide:      'com_err.c:123,30'
              BranchSideFuncs:
                - __assert_fail
                - abort
            - BranchSide:      'com_err.c:125,10'
              BranchSideFuncs:
                - __assert_fail
                - abort
        - Branch String:   'com_err.c:126,5'
          Branch Sides:
            - BranchSide:      'com_err.c:126,5'
              BranchSideFuncs:
                - abort
            - BranchSide:      'com_err.c:127,5'
              BranchSideFuncs:
                - abort
      Callsites:
        - Src:             'com_err.c:106,11'
          Dst:             com_err_finish_init
        - Src:             'com_err.c:109,5'
          Dst:             k5_mutex_lock
        - Src:             'com_err.c:112,5'
          Dst:             k5_mutex_unlock
        - Src:             'com_err.c:123,9'
          Dst:             default_com_err_proc
        - Src:             'com_err.c:126,5'
          Dst:             __assert_fail
        - Src:             'com_err.c:127,5'
          Dst:             abort
    - functionName:    default_com_err_proc
      functionSourceFile: '/src/krb5/src/util/et/com_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - whoami
        - code
        - fmt
        - ap
      BBCount:         12
      ICount:          78
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - error_message
        - fflush
        - fputs
        - putc
        - vfprintf
      functionUses:    2
      BranchProfiles:
        - Branch String:   'com_err.c:79,9'
          Branch Sides:
            - BranchSide:      'com_err.c:80,15'
              BranchSideFuncs:
                - fputs
                - fputs
                - putc
                - putc
                - fflush
                - vfprintf
                - error_message
                - fputs
                - fputs
            - BranchSide:      'com_err.c:83,9'
              BranchSideFuncs:
                - putc
                - putc
                - fflush
                - vfprintf
                - error_message
                - fputs
                - fputs
        - Branch String:   'com_err.c:83,9'
          Branch Sides:
            - BranchSide:      'com_err.c:84,29'
              BranchSideFuncs:
                - error_message
                - fputs
                - fputs
                - putc
                - putc
                - fflush
                - vfprintf
            - BranchSide:      'com_err.c:87,9'
              BranchSideFuncs:
                - putc
                - putc
                - fflush
                - vfprintf
        - Branch String:   'com_err.c:87,9'
          Branch Sides:
            - BranchSide:      'com_err.c:87,9'
              BranchSideFuncs:
                - vfprintf
                - putc
                - putc
                - fflush
            - BranchSide:      'com_err.c:88,18'
              BranchSideFuncs:
                - vfprintf
                - putc
                - putc
                - fflush
      Callsites:
        - Src:             'com_err.c:80,9'
          Dst:             fputs
        - Src:             'com_err.c:81,9'
          Dst:             fputs
        - Src:             'com_err.c:84,15'
          Dst:             error_message
        - Src:             'com_err.c:84,9'
          Dst:             fputs
        - Src:             'com_err.c:85,9'
          Dst:             fputs
        - Src:             'com_err.c:88,9'
          Dst:             vfprintf
        - Src:             'com_err.c:91,5'
          Dst:             putc
        - Src:             'com_err.c:92,5'
          Dst:             putc
        - Src:             'com_err.c:93,5'
          Dst:             fflush
    - functionName:    vfprintf
      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:    putc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fflush
      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:    thread_termination
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - tptr
      BBCount:         20
      ICount:          132
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
      functionUses:    1
      BranchProfiles:
        - Branch String:   'threads.c:210,21'
          Branch Sides:
            - BranchSide:      'threads.c:210,25'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.320
            - BranchSide:      'threads.c:210,5'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.320
        - Branch String:   'threads.c:210,5'
          Branch Sides:
            - BranchSide:      'threads.c:211,20'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.320
            - BranchSide:      'threads.c:221,11'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.320
        - Branch String:   'threads.c:212,9'
          Branch Sides:
            - BranchSide:      'threads.c:210,5'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.320
            - BranchSide:      'threads.c:213,33'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.320
        - Branch String:   'threads.c:213,36'
          Branch Sides:
            - BranchSide:      'threads.c:213,51'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.320
            - BranchSide:      'threads.c:219,9'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.320
        - Branch String:   'threads.c:213,54'
          Branch Sides:
            - BranchSide:      'threads.c:213,57'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.320
            - BranchSide:      'threads.c:219,9'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.320
        - Branch String:   'threads.c:213,17'
          Branch Sides:
            - BranchSide:      'threads.c:214,27'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.320
            - BranchSide:      'threads.c:219,9'
              BranchSideFuncs:
                - free
                - k5_mutex_unlock.320
      Callsites:
        - Src:             'threads.c:196,5'
          Dst:             k5_mutex_lock
        - Src:             'threads.c:222,5'
          Dst:             k5_mutex_unlock
    - functionName:    k5_mutex_lock
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    4
      BranchProfiles:
        - Branch String:   '../../include/k5-thread.h:371,9'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:372,17'
              BranchSideFuncs:
                - strerror
                - fprintf
                - __assert_fail
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   '../../include/k5-thread.h:376,5'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs: []
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             '../../include/k5-thread.h:369,13'
          Dst:             k5_os_mutex_lock
        - Src:             '../../include/k5-thread.h:373,20'
          Dst:             strerror
        - Src:             '../../include/k5-thread.h:372,9'
          Dst:             fprintf
        - Src:             '../../include/k5-thread.h:376,5'
          Dst:             __assert_fail
    - functionName:    k5_mutex_unlock
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    4
      BranchProfiles:
        - Branch String:   '../../include/k5-thread.h:383,9'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:384,17'
              BranchSideFuncs:
                - strerror
                - fprintf
                - __assert_fail
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   '../../include/k5-thread.h:388,5'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs: []
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             '../../include/k5-thread.h:381,13'
          Dst:             k5_os_mutex_unlock
        - Src:             '../../include/k5-thread.h:385,20'
          Dst:             strerror
        - Src:             '../../include/k5-thread.h:384,9'
          Dst:             fprintf
        - Src:             '../../include/k5-thread.h:388,5'
          Dst:             __assert_fail
    - functionName:    k5_os_mutex_unlock
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 549
      functionLinenumberEnd: 554
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_pthread_loaded
        - pthread_mutex_unlock
      functionUses:    6
      BranchProfiles:
        - Branch String:   'threads.c:550,9'
          Branch Sides:
            - BranchSide:      'threads.c:551,37'
              BranchSideFuncs:
                - pthread_mutex_unlock
            - BranchSide:      'threads.c:553,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'threads.c:550,9'
          Dst:             krb5int_pthread_loaded
        - Src:             'threads.c:551,16'
          Dst:             pthread_mutex_unlock
    - functionName:    krb5int_pthread_loaded
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         37
      ICount:          120
      EdgeCount:       53
      CyclomaticComplexity: 18
      functionsReached:
        - loaded_test_aux
        - pthread_once
      functionUses:    8
      BranchProfiles:
        - Branch String:   'threads.c:140,13'
          Branch Sides:
            - BranchSide:      'threads.c:140,9'
              BranchSideFuncs:
                - pthread_once
                - pthread_once
            - BranchSide:      'threads.c:140,13'
              BranchSideFuncs:
                - pthread_once
                - pthread_once
        - Branch String:   'threads.c:141,9'
          Branch Sides:
            - BranchSide:      'threads.c:142,16'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:144,9'
              BranchSideFuncs:
                - pthread_once
                - pthread_once
        - Branch String:   'threads.c:144,9'
          Branch Sides:
            - BranchSide:      'threads.c:145,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:145,9'
          Branch Sides:
            - BranchSide:      'threads.c:146,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:146,9'
          Branch Sides:
            - BranchSide:      'threads.c:147,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:147,9'
          Branch Sides:
            - BranchSide:      'threads.c:148,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:148,9'
          Branch Sides:
            - BranchSide:      'threads.c:149,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:149,9'
          Branch Sides:
            - BranchSide:      'threads.c:150,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:150,9'
          Branch Sides:
            - BranchSide:      'threads.c:151,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:151,9'
          Branch Sides:
            - BranchSide:      'threads.c:152,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:152,9'
          Branch Sides:
            - BranchSide:      'threads.c:155,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:155,9'
          Branch Sides:
            - BranchSide:      'threads.c:156,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:156,9'
          Branch Sides:
            - BranchSide:      'threads.c:161,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:161,9'
          Branch Sides:
            - BranchSide:      'threads.c:161,12'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:162,9'
          Branch Sides:
            - BranchSide:      'threads.c:162,12'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:166,9'
          Branch Sides:
            - BranchSide:      'threads.c:166,12'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
        - Branch String:   'threads.c:143,9'
          Branch Sides:
            - BranchSide:      'threads.c:167,29'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:173,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'threads.c:161,12'
          Dst:             pthread_once
        - Src:             'threads.c:161,12'
          Dst:             loaded_test_aux
        - Src:             'threads.c:162,12'
          Dst:             pthread_once
        - Src:             'threads.c:162,12'
          Dst:             loaded_test_aux
    - functionName:    pthread_mutex_unlock
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      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:    pthread_getspecific
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_setspecific
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_key_create
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      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:    pthread_key_delete
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_once
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_mutex_lock
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      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:    pthread_mutex_destroy
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      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:    pthread_mutex_init
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      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:    pthread_self
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_create
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      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:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_join
      functionSourceFile: ''
      linkageType:     ExternalWeakLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    loaded_test_aux
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          18
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'threads.c:131,9'
          Branch Sides:
            - BranchSide:      'threads.c:132,29'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:135,29'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    k5_os_mutex_lock
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 540
      functionLinenumberEnd: 545
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_pthread_loaded
        - pthread_mutex_lock
      functionUses:    6
      BranchProfiles:
        - Branch String:   'threads.c:541,9'
          Branch Sides:
            - BranchSide:      'threads.c:542,35'
              BranchSideFuncs:
                - pthread_mutex_lock
            - BranchSide:      'threads.c:544,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'threads.c:541,9'
          Dst:             krb5int_pthread_loaded
        - Src:             'threads.c:542,16'
          Dst:             pthread_mutex_lock
    - functionName:    k5_mutex_finish_init
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_thread_support_init
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 405
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         15
      ICount:          80
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - k5_mutex_finish_init
        - krb5int_err_init
        - krb5int_init_fac
        - krb5int_pthread_loaded
        - pthread_key_create
        - thread_termination
      functionUses:    1
      BranchProfiles:
        - Branch String:   'threads.c:424,11'
          Branch Sides:
            - BranchSide:      'threads.c:406,9'
              BranchSideFuncs:
                - k5_mutex_finish_init.331
                - krb5int_pthread_loaded
                - krb5int_init_fac
                - krb5int_err_init
                - pthread_key_create
            - BranchSide:      'threads.c:424,11'
              BranchSideFuncs:
                - k5_mutex_finish_init.331
                - krb5int_pthread_loaded
                - krb5int_init_fac
                - krb5int_err_init
                - pthread_key_create
        - Branch String:   'threads.c:425,9'
          Branch Sides:
            - BranchSide:      'threads.c:426,16'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:427,9'
              BranchSideFuncs:
                - krb5int_pthread_loaded
                - krb5int_init_fac
                - krb5int_err_init
                - pthread_key_create
        - Branch String:   'threads.c:427,9'
          Branch Sides:
            - BranchSide:      'threads.c:428,15'
              BranchSideFuncs:
                - pthread_key_create
                - krb5int_init_fac
                - krb5int_err_init
            - BranchSide:      'threads.c:435,11'
              BranchSideFuncs:
                - krb5int_init_fac
                - krb5int_err_init
        - Branch String:   'threads.c:429,13'
          Branch Sides:
            - BranchSide:      'threads.c:430,20'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:431,5'
              BranchSideFuncs:
                - krb5int_init_fac
                - krb5int_err_init
        - Branch String:   'threads.c:436,9'
          Branch Sides:
            - BranchSide:      'threads.c:437,16'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:439,11'
              BranchSideFuncs:
                - krb5int_err_init
        - Branch String:   'threads.c:440,9'
          Branch Sides:
            - BranchSide:      'threads.c:441,16'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:443,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'threads.c:424,11'
          Dst:             k5_mutex_finish_init
        - Src:             'threads.c:427,9'
          Dst:             krb5int_pthread_loaded
        - Src:             'threads.c:428,15'
          Dst:             pthread_key_create
        - Src:             'threads.c:428,15'
          Dst:             thread_termination
        - Src:             'threads.c:435,11'
          Dst:             krb5int_init_fac
        - Src:             'threads.c:439,11'
          Dst:             krb5int_err_init
    - functionName:    krb5int_thread_support_init__aux
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 32
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5int_thread_support_init
      functionUses:    0
      BranchProfiles:
        - Branch String:   'threads.c:32,1'
          Branch Sides:
            - BranchSide:      'threads.c:32,1'
              BranchSideFuncs:
                - krb5int_thread_support_init
            - BranchSide:      'threads.c:32,1'
              BranchSideFuncs:
                - krb5int_thread_support_init
      Callsites:
        - Src:             'threads.c:32,1'
          Dst:             krb5int_thread_support_init
    - functionName:    k5_os_mutex_init
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 522
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_pthread_loaded
        - pthread_mutex_init
      functionUses:    2
      BranchProfiles:
        - Branch String:   'threads.c:523,9'
          Branch Sides:
            - BranchSide:      'threads.c:524,35'
              BranchSideFuncs:
                - pthread_mutex_init
            - BranchSide:      'threads.c:526,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'threads.c:523,9'
          Dst:             krb5int_pthread_loaded
        - Src:             'threads.c:524,16'
          Dst:             pthread_mutex_init
    - functionName:    krb5int_mutex_unlock
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 514
      functionLinenumberEnd: 516
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'threads.c:515,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5int_mutex_lock
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 509
      functionLinenumberEnd: 511
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'threads.c:510,5'
          Dst:             k5_mutex_lock
    - functionName:    k5_os_mutex_destroy
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 531
      functionLinenumberEnd: 536
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_pthread_loaded
        - pthread_mutex_destroy
      functionUses:    3
      BranchProfiles:
        - Branch String:   'threads.c:532,9'
          Branch Sides:
            - BranchSide:      'threads.c:533,38'
              BranchSideFuncs:
                - pthread_mutex_destroy
            - BranchSide:      'threads.c:535,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'threads.c:532,9'
          Dst:             krb5int_pthread_loaded
        - Src:             'threads.c:533,16'
          Dst:             pthread_mutex_destroy
    - functionName:    krb5int_mutex_free
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 501
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_os_mutex_destroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'threads.c:502,12'
          Dst:             k5_os_mutex_destroy
    - functionName:    k5_mutex_init
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_os_mutex_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../include/k5-thread.h:358,12'
          Dst:             k5_os_mutex_init
    - functionName:    krb5int_mutex_alloc
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 483
      functionLinenumberEnd: 497
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_mutex_init
      functionUses:    0
      BranchProfiles:
        - Branch String:   'threads.c:488,9'
          Branch Sides:
            - BranchSide:      'threads.c:489,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:490,26'
              BranchSideFuncs:
                - k5_mutex_init.336
                - free
        - Branch String:   'threads.c:491,9'
          Branch Sides:
            - BranchSide:      'threads.c:492,15'
              BranchSideFuncs:
                - free
            - BranchSide:      'threads.c:495,10'
              BranchSideFuncs: []
      Callsites:
        - Src:             'threads.c:490,11'
          Dst:             k5_mutex_init
    - functionName:    krb5int_call_thread_support_init
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - k5_once
      functionUses:    2
      BranchProfiles:
        - Branch String:   'threads.c:399,12'
          Branch Sides:
            - BranchSide:      'threads.c:399,12'
              BranchSideFuncs:
                - k5_once
                - __assert_fail
            - BranchSide:      'threads.c:399,12'
              BranchSideFuncs:
                - k5_once
                - __assert_fail
        - Branch String:   'threads.c:399,12'
          Branch Sides:
            - BranchSide:      'threads.c:399,12'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:399,12'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   'threads.c:399,12'
          Branch Sides:
            - BranchSide:      'threads.c:399,12'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:399,12'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             'threads.c:399,12'
          Dst:             k5_once
        - Src:             'threads.c:399,12'
          Dst:             __assert_fail
    - functionName:    k5_once
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 558
      functionLinenumberEnd: 563
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - once
        - fn
      BBCount:         21
      ICount:          114
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - krb5int_pthread_loaded
        - pthread_once
      functionUses:    9
      BranchProfiles:
        - Branch String:   'threads.c:559,9'
          Branch Sides:
            - BranchSide:      'threads.c:560,30'
              BranchSideFuncs:
                - pthread_once
            - BranchSide:      'threads.c:562,16'
              BranchSideFuncs:
                - __assert_fail
                - __assert_fail
        - Branch String:   'threads.c:562,16'
          Branch Sides:
            - BranchSide:      'threads.c:562,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:562,16'
              BranchSideFuncs:
                - __assert_fail
                - __assert_fail
        - Branch String:   'threads.c:562,16'
          Branch Sides:
            - BranchSide:      'threads.c:562,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:562,16'
              BranchSideFuncs:
                - __assert_fail
                - __assert_fail
        - Branch String:   'threads.c:562,16'
          Branch Sides:
            - BranchSide:      'threads.c:562,16'
              BranchSideFuncs:
                - __assert_fail
            - BranchSide:      'threads.c:562,16'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   'threads.c:562,16'
          Branch Sides:
            - BranchSide:      'threads.c:562,16'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:562,16'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   'threads.c:562,16'
          Branch Sides:
            - BranchSide:      'threads.c:562,16'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:562,16'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             'threads.c:559,9'
          Dst:             krb5int_pthread_loaded
        - Src:             'threads.c:560,16'
          Dst:             pthread_once
        - Src:             'threads.c:562,16'
          Dst:             __assert_fail
        - Src:             'threads.c:562,16'
          Dst:             __assert_fail
    - functionName:    krb5int_key_delete
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 394
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - keynum
      BBCount:         6
      ICount:          41
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - k5_mutex_lock
        - k5_mutex_unlock
      functionUses:    0
      BranchProfiles:
        - Branch String:   'threads.c:387,5'
          Branch Sides:
            - BranchSide:      'threads.c:387,5'
              BranchSideFuncs:
                - k5_mutex_unlock.320
            - BranchSide:      'threads.c:387,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             'threads.c:386,5'
          Dst:             k5_mutex_lock
        - Src:             'threads.c:387,5'
          Dst:             __assert_fail
        - Src:             'threads.c:390,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5int_key_register
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - keynum
        - destructor
      BBCount:         15
      ICount:          106
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - k5_mutex_lock
        - k5_mutex_unlock
        - k5_once
      functionUses:    1
      BranchProfiles:
        - Branch String:   'threads.c:329,11'
          Branch Sides:
            - BranchSide:      'threads.c:329,11'
              BranchSideFuncs:
                - k5_mutex_lock.319
                - __assert_fail
                - k5_mutex_unlock.320
            - BranchSide:      'threads.c:329,11'
              BranchSideFuncs:
                - __assert_fail
                - k5_mutex_lock.319
                - __assert_fail
                - k5_mutex_unlock.320
        - Branch String:   'threads.c:329,11'
          Branch Sides:
            - BranchSide:      'threads.c:329,11'
              BranchSideFuncs:
                - k5_mutex_lock.319
                - __assert_fail
                - k5_mutex_unlock.320
            - BranchSide:      'threads.c:329,11'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   'threads.c:330,9'
          Branch Sides:
            - BranchSide:      'threads.c:331,16'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:350,5'
              BranchSideFuncs:
                - k5_mutex_lock.319
                - __assert_fail
                - k5_mutex_unlock.320
        - Branch String:   'threads.c:351,5'
          Branch Sides:
            - BranchSide:      'threads.c:351,5'
              BranchSideFuncs:
                - k5_mutex_unlock.320
            - BranchSide:      'threads.c:352,21'
              BranchSideFuncs:
                - k5_mutex_unlock.320
      Callsites:
        - Src:             'threads.c:329,11'
          Dst:             k5_once
        - Src:             'threads.c:329,11'
          Dst:             __assert_fail
        - Src:             'threads.c:350,5'
          Dst:             k5_mutex_lock
        - Src:             'threads.c:351,5'
          Dst:             __assert_fail
        - Src:             'threads.c:354,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5int_setspecific
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - keynum
        - value
      BBCount:         29
      ICount:          176
      EdgeCount:       36
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - k5_once
        - krb5int_pthread_loaded
        - pthread_getspecific
        - pthread_setspecific
      functionUses:    1
      BranchProfiles:
        - Branch String:   'threads.c:267,11'
          Branch Sides:
            - BranchSide:      'threads.c:267,11'
              BranchSideFuncs:
                - __assert_fail
                - krb5int_pthread_loaded
                - pthread_getspecific
                - malloc
                - pthread_setspecific
                - free
            - BranchSide:      'threads.c:267,11'
              BranchSideFuncs:
                - __assert_fail
                - __assert_fail
                - krb5int_pthread_loaded
                - pthread_getspecific
                - malloc
                - pthread_setspecific
                - free
        - Branch String:   'threads.c:267,11'
          Branch Sides:
            - BranchSide:      'threads.c:267,11'
              BranchSideFuncs:
                - __assert_fail
                - krb5int_pthread_loaded
                - pthread_getspecific
                - malloc
                - pthread_setspecific
                - free
            - BranchSide:      'threads.c:267,11'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   'threads.c:268,9'
          Branch Sides:
            - BranchSide:      'threads.c:269,16'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:271,5'
              BranchSideFuncs:
                - __assert_fail
                - krb5int_pthread_loaded
                - pthread_getspecific
                - malloc
                - pthread_setspecific
                - free
        - Branch String:   'threads.c:271,5'
          Branch Sides:
            - BranchSide:      'threads.c:271,5'
              BranchSideFuncs:
                - krb5int_pthread_loaded
                - pthread_getspecific
                - malloc
                - pthread_setspecific
                - free
            - BranchSide:      'threads.c:298,9'
              BranchSideFuncs:
                - krb5int_pthread_loaded
                - pthread_getspecific
                - malloc
                - pthread_setspecific
                - free
        - Branch String:   'threads.c:298,9'
          Branch Sides:
            - BranchSide:      'threads.c:299,33'
              BranchSideFuncs:
                - pthread_getspecific
                - malloc
                - pthread_setspecific
                - free
            - BranchSide:      'threads.c:316,11'
              BranchSideFuncs: []
        - Branch String:   'threads.c:300,13'
          Branch Sides:
            - BranchSide:      'threads.c:302,17'
              BranchSideFuncs:
                - malloc
                - pthread_setspecific
                - free
            - BranchSide:      'threads.c:315,5'
              BranchSideFuncs: []
        - Branch String:   'threads.c:303,17'
          Branch Sides:
            - BranchSide:      'threads.c:304,17'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:305,20'
              BranchSideFuncs:
                - pthread_setspecific
                - free
        - Branch String:   'threads.c:305,13'
          Branch Sides:
            - BranchSide:      'threads.c:306,17'
              BranchSideFuncs:
                - pthread_setspecific
                - free
            - BranchSide:      'threads.c:308,13'
              BranchSideFuncs:
                - pthread_setspecific
                - free
        - Branch String:   'threads.c:310,17'
          Branch Sides:
            - BranchSide:      'threads.c:311,22'
              BranchSideFuncs:
                - free
            - BranchSide:      'threads.c:314,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'threads.c:267,11'
          Dst:             k5_once
        - Src:             'threads.c:267,11'
          Dst:             __assert_fail
        - Src:             'threads.c:271,5'
          Dst:             __assert_fail
        - Src:             'threads.c:298,9'
          Dst:             krb5int_pthread_loaded
        - Src:             'threads.c:299,13'
          Dst:             pthread_getspecific
        - Src:             'threads.c:309,19'
          Dst:             pthread_setspecific
    - functionName:    krb5int_getspecific
      functionSourceFile: '/src/krb5/src/util/support/threads.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - keynum
      BBCount:         20
      ICount:          123
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - k5_once
        - krb5int_pthread_loaded
        - pthread_getspecific
      functionUses:    1
      BranchProfiles:
        - Branch String:   'threads.c:234,11'
          Branch Sides:
            - BranchSide:      'threads.c:234,11'
              BranchSideFuncs:
                - __assert_fail
                - krb5int_pthread_loaded
                - pthread_getspecific
            - BranchSide:      'threads.c:234,11'
              BranchSideFuncs:
                - __assert_fail
                - __assert_fail
                - krb5int_pthread_loaded
                - pthread_getspecific
        - Branch String:   'threads.c:234,11'
          Branch Sides:
            - BranchSide:      'threads.c:234,11'
              BranchSideFuncs:
                - __assert_fail
                - krb5int_pthread_loaded
                - pthread_getspecific
            - BranchSide:      'threads.c:234,11'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   'threads.c:235,9'
          Branch Sides:
            - BranchSide:      'threads.c:236,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:238,5'
              BranchSideFuncs:
                - __assert_fail
                - krb5int_pthread_loaded
                - pthread_getspecific
        - Branch String:   'threads.c:238,5'
          Branch Sides:
            - BranchSide:      'threads.c:238,5'
              BranchSideFuncs:
                - krb5int_pthread_loaded
                - pthread_getspecific
            - BranchSide:      'threads.c:250,9'
              BranchSideFuncs:
                - krb5int_pthread_loaded
                - pthread_getspecific
        - Branch String:   'threads.c:250,9'
          Branch Sides:
            - BranchSide:      'threads.c:251,33'
              BranchSideFuncs:
                - pthread_getspecific
            - BranchSide:      'threads.c:253,11'
              BranchSideFuncs: []
        - Branch String:   'threads.c:257,9'
          Branch Sides:
            - BranchSide:      'threads.c:258,9'
              BranchSideFuncs: []
            - BranchSide:      'threads.c:259,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'threads.c:234,11'
          Dst:             k5_once
        - Src:             'threads.c:234,11'
          Dst:             __assert_fail
        - Src:             'threads.c:238,5'
          Dst:             __assert_fail
        - Src:             'threads.c:250,9'
          Dst:             krb5int_pthread_loaded
        - Src:             'threads.c:251,13'
          Dst:             pthread_getspecific
    - functionName:    krb5int_fini_fac
      functionSourceFile: '/src/krb5/src/util/support/init-addrinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_os_mutex_destroy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'init-addrinfo.c:67,5'
          Branch Sides:
            - BranchSide:      'init-addrinfo.c:67,5'
              BranchSideFuncs:
                - k5_os_mutex_destroy
            - BranchSide:      'init-addrinfo.c:67,5'
              BranchSideFuncs:
                - k5_os_mutex_destroy
      Callsites:
        - Src:             'init-addrinfo.c:67,5'
          Dst:             k5_os_mutex_destroy
    - functionName:    k5_mutex_finish_init
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_init_fac
      functionSourceFile: '/src/krb5/src/util/support/init-addrinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_finish_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'init-addrinfo.c:62,12'
          Branch Sides:
            - BranchSide:      'init-addrinfo.c:62,12'
              BranchSideFuncs:
                - k5_mutex_finish_init.360
            - BranchSide:      'init-addrinfo.c:62,12'
              BranchSideFuncs:
                - k5_mutex_finish_init.360
      Callsites:
        - Src:             'init-addrinfo.c:62,12'
          Dst:             k5_mutex_finish_init
    - functionName:    k5_set_error_info_callout_fn
      functionSourceFile: '/src/krb5/src/util/support/errors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - f
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5int_call_thread_support_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'errors.c:118,5'
          Dst:             krb5int_call_thread_support_init
        - Src:             'errors.c:119,5'
          Dst:             k5_mutex_lock
        - Src:             'errors.c:121,5'
          Dst:             k5_mutex_unlock
    - functionName:    k5_mutex_lock
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    2
      BranchProfiles:
        - Branch String:   '../../include/k5-thread.h:371,9'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:372,17'
              BranchSideFuncs:
                - strerror
                - fprintf
                - __assert_fail
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   '../../include/k5-thread.h:376,5'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs: []
            - BranchSide:      '../../include/k5-thread.h:376,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             '../../include/k5-thread.h:369,13'
          Dst:             k5_os_mutex_lock
        - Src:             '../../include/k5-thread.h:373,20'
          Dst:             strerror
        - Src:             '../../include/k5-thread.h:372,9'
          Dst:             fprintf
        - Src:             '../../include/k5-thread.h:376,5'
          Dst:             __assert_fail
    - functionName:    k5_mutex_unlock
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         9
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    4
      BranchProfiles:
        - Branch String:   '../../include/k5-thread.h:383,9'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:384,17'
              BranchSideFuncs:
                - strerror
                - fprintf
                - __assert_fail
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs:
                - __assert_fail
        - Branch String:   '../../include/k5-thread.h:388,5'
          Branch Sides:
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs: []
            - BranchSide:      '../../include/k5-thread.h:388,5'
              BranchSideFuncs:
                - __assert_fail
      Callsites:
        - Src:             '../../include/k5-thread.h:381,13'
          Dst:             k5_os_mutex_unlock
        - Src:             '../../include/k5-thread.h:385,20'
          Dst:             strerror
        - Src:             '../../include/k5-thread.h:384,9'
          Dst:             fprintf
        - Src:             '../../include/k5-thread.h:388,5'
          Dst:             __assert_fail
    - functionName:    k5_free_error
      functionSourceFile: '/src/krb5/src/util/support/errors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ep
        - msg
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'errors.c:104,9'
          Branch Sides:
            - BranchSide:      'errors.c:104,9'
              BranchSideFuncs:
                - free
            - BranchSide:      'errors.c:105,22'
              BranchSideFuncs:
                - free
      Callsites:       []
    - functionName:    oom_check
      functionSourceFile: '/src/krb5/src/util/support/errors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - str
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:
        - Branch String:   'errors.c:64,12'
          Branch Sides:
            - BranchSide:      'errors.c:64,28'
              BranchSideFuncs: []
            - BranchSide:      'errors.c:64,38'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    k5_get_error
      functionSourceFile: '/src/krb5/src/util/support/errors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ep
        - code
      BBCount:         15
      ICount:          111
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - dgettext
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5int_call_thread_support_init
        - oom_check
        - snprintf
        - strdup
      functionUses:    0
      BranchProfiles:
        - Branch String:   'errors.c:73,26'
          Branch Sides:
            - BranchSide:      'errors.c:73,29'
              BranchSideFuncs:
                - krb5int_call_thread_support_init
                - k5_mutex_lock.389
                - strdup
                - k5_mutex_unlock.390
                - oom_check
                - k5_mutex_unlock.390
                - dgettext
                - snprintf
                - strdup
                - oom_check
                - k5_mutex_unlock.390
                - dgettext
                - strdup
                - oom_check
                - dgettext
                - strdup
                - oom_check
                - strdup
                - oom_check
            - BranchSide:      'errors.c:76,9'
              BranchSideFuncs:
                - krb5int_call_thread_support_init
                - k5_mutex_lock.389
                - strdup
                - k5_mutex_unlock.390
                - oom_check
                - k5_mutex_unlock.390
                - dgettext
                - snprintf
                - strdup
                - oom_check
                - k5_mutex_unlock.390
                - dgettext
                - strdup
                - oom_check
                - dgettext
                - strdup
                - oom_check
        - Branch String:   'errors.c:73,9'
          Branch Sides:
            - BranchSide:      'errors.c:74,33'
              BranchSideFuncs:
                - strdup
                - oom_check
            - BranchSide:      'errors.c:76,9'
              BranchSideFuncs:
                - krb5int_call_thread_support_init
                - k5_mutex_lock.389
                - strdup
                - k5_mutex_unlock.390
                - oom_check
                - k5_mutex_unlock.390
                - dgettext
                - snprintf
                - strdup
                - oom_check
                - k5_mutex_unlock.390
                - dgettext
                - strdup
                - oom_check
                - dgettext
                - strdup
                - oom_check
        - Branch String:   'errors.c:76,9'
          Branch Sides:
            - BranchSide:      'errors.c:77,33'
              BranchSideFuncs:
                - dgettext
                - strdup
                - oom_check
            - BranchSide:      'errors.c:79,5'
              BranchSideFuncs:
                - k5_mutex_lock.389
                - strdup
                - k5_mutex_unlock.390
                - oom_check
                - k5_mutex_unlock.390
                - dgettext
                - snprintf
                - strdup
                - oom_check
                - k5_mutex_unlock.390
                - dgettext
                - strdup
                - oom_check
        - Branch String:   'errors.c:80,9'
          Branch Sides:
            - BranchSide:      'errors.c:82,9'
              BranchSideFuncs:
                - k5_mutex_unlock.390
                - dgettext
                - strdup
                - oom_check
            - BranchSide:      'errors.c:85,9'
              BranchSideFuncs:
                - strdup
                - k5_mutex_unlock.390
                - oom_check
                - k5_mutex_unlock.390
                - dgettext
                - snprintf
                - strdup
                - oom_check
        - Branch String:   'errors.c:90,9'
          Branch Sides:
            - BranchSide:      'errors.c:91,9'
              BranchSideFuncs:
                - k5_mutex_unlock.390
                - dgettext
                - snprintf
                - strdup
                - oom_check
            - BranchSide:      'errors.c:96,16'
              BranchSideFuncs:
                - strdup
                - k5_mutex_unlock.390
                - oom_check
      Callsites:
        - Src:             'errors.c:74,26'
          Dst:             strdup
        - Src:             'errors.c:74,16'
          Dst:             oom_check
        - Src:             'errors.c:76,9'
          Dst:             krb5int_call_thread_support_init
        - Src:             'errors.c:77,33'
          Dst:             dgettext
        - Src:             'errors.c:77,26'
          Dst:             strdup
        - Src:             'errors.c:77,16'
          Dst:             oom_check
        - Src:             'errors.c:79,5'
          Dst:             k5_mutex_lock
        - Src:             'errors.c:82,9'
          Dst:             k5_mutex_unlock
        - Src:             'errors.c:83,33'
          Dst:             dgettext
        - Src:             'errors.c:83,26'
          Dst:             strdup
        - Src:             'errors.c:83,16'
          Dst:             oom_check
        - Src:             'errors.c:91,9'
          Dst:             k5_mutex_unlock
        - Src:             'errors.c:92,36'
          Dst:             dgettext
        - Src:             'errors.c:92,9'
          Dst:             snprintf
        - Src:             'errors.c:93,26'
          Dst:             strdup
        - Src:             'errors.c:93,16'
          Dst:             oom_check
        - Src:             'errors.c:96,9'
          Dst:             strdup
        - Src:             'errors.c:97,5'
          Dst:             k5_mutex_unlock
        - Src:             'errors.c:98,12'
          Dst:             oom_check
    - functionName:    k5_clear_error
      functionSourceFile: '/src/krb5/src/util/support/errors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ep
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_free_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'errors.c:111,5'
          Dst:             k5_free_error
    - functionName:    k5_vset_error
      functionSourceFile: '/src/krb5/src/util/support/errors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ep
        - code
        - fmt
        - args
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_clear_error
        - vasprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'errors.c:56,9'
          Branch Sides:
            - BranchSide:      'errors.c:57,9'
              BranchSideFuncs: []
            - BranchSide:      'errors.c:58,15'
              BranchSideFuncs: []
      Callsites:
        - Src:             'errors.c:53,5'
          Dst:             k5_clear_error
        - Src:             'errors.c:56,9'
          Dst:             vasprintf
    - functionName:    vasprintf
      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:    k5_set_error
      functionSourceFile: '/src/krb5/src/util/support/errors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ep
        - code
        - fmt
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_vset_error
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'errors.c:44,5'
          Dst:             k5_vset_error
    - functionName:    k5_mutex_finish_init
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - m
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_err_init
      functionSourceFile: '/src/krb5/src/util/support/errors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 32
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_finish_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'errors.c:32,12'
          Branch Sides:
            - BranchSide:      'errors.c:32,12'
              BranchSideFuncs:
                - k5_mutex_finish_init.402
            - BranchSide:      'errors.c:32,12'
              BranchSideFuncs:
                - k5_mutex_finish_init.402
      Callsites:
        - Src:             'errors.c:32,12'
          Dst:             k5_mutex_finish_init
    - functionName:    k5_strerror_r
      functionSourceFile: '/src/krb5/src/util/support/strerror_r.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - errnum
        - buf
        - buflen
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - krb5int_strlcpy
        - strerror_r
      functionUses:    1
      BranchProfiles:
        - Branch String:   'strerror_r.c:78,9'
          Branch Sides:
            - BranchSide:      'strerror_r.c:79,21'
              BranchSideFuncs:
                - krb5int_strlcpy
                - __errno_location
            - BranchSide:      'strerror_r.c:84,5'
              BranchSideFuncs: []
        - Branch String:   'strerror_r.c:79,13'
          Branch Sides:
            - BranchSide:      'strerror_r.c:80,13'
              BranchSideFuncs:
                - __errno_location
            - BranchSide:      'strerror_r.c:83,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strerror_r.c:77,11'
          Dst:             strerror_r
        - Src:             'strerror_r.c:79,13'
          Dst:             krb5int_strlcpy
        - Src:             'strerror_r.c:80,13'
          Dst:             __errno_location
    - functionName:    strerror_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    compare_with_strcmp
      functionSourceFile: '/src/krb5/src/util/support/dir_filenames.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - a
        - b
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dir_filenames.c:66,12'
          Dst:             strcmp
    - functionName:    add_filename
      functionSourceFile: '/src/krb5/src/util/support/dir_filenames.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fnames
        - n_fnames
        - name
      BBCount:         8
      ICount:          80
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - realloc
        - strdup
      functionUses:    1
      BranchProfiles:
        - Branch String:   'dir_filenames.c:52,9'
          Branch Sides:
            - BranchSide:      'dir_filenames.c:53,9'
              BranchSideFuncs: []
            - BranchSide:      'dir_filenames.c:54,15'
              BranchSideFuncs:
                - strdup
        - Branch String:   'dir_filenames.c:56,9'
          Branch Sides:
            - BranchSide:      'dir_filenames.c:57,9'
              BranchSideFuncs: []
            - BranchSide:      'dir_filenames.c:58,7'
              BranchSideFuncs: []
      Callsites:
        - Src:             'dir_filenames.c:51,15'
          Dst:             realloc
        - Src:             'dir_filenames.c:55,26'
          Dst:             strdup
    - functionName:    k5_dir_filenames
      functionSourceFile: '/src/krb5/src/util/support/dir_filenames.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dirname
        - fnames_out
      BBCount:         11
      ICount:          81
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - add_filename
        - closedir
        - compare_with_strcmp
        - k5_free_filenames
        - opendir
        - qsort
        - readdir
      functionUses:    1
      BranchProfiles:
        - Branch String:   'dir_filenames.c:118,9'
          Branch Sides:
            - BranchSide:      'dir_filenames.c:119,9'
              BranchSideFuncs: []
            - BranchSide:      'dir_filenames.c:121,5'
              BranchSideFuncs:
                - readdir
                - closedir
                - qsort
                - add_filename
                - k5_free_filenames
                - closedir
        - Branch String:   'dir_filenames.c:121,5'
          Branch Sides:
            - BranchSide:      'dir_filenames.c:122,46'
              BranchSideFuncs:
                - add_filename
                - readdir
                - closedir
                - qsort
                - k5_free_filenames
                - closedir
            - BranchSide:      'dir_filenames.c:129,14'
              BranchSideFuncs:
                - closedir
                - qsort
        - Branch String:   'dir_filenames.c:122,13'
          Branch Sides:
            - BranchSide:      'dir_filenames.c:121,5'
              BranchSideFuncs:
                - k5_free_filenames
                - closedir
            - BranchSide:      'dir_filenames.c:123,31'
              BranchSideFuncs:
                - k5_free_filenames
                - closedir
      Callsites:
        - Src:             'dir_filenames.c:117,11'
          Dst:             opendir
        - Src:             'dir_filenames.c:121,19'
          Dst:             readdir
        - Src:             'dir_filenames.c:122,13'
          Dst:             add_filename
        - Src:             'dir_filenames.c:123,13'
          Dst:             k5_free_filenames
        - Src:             'dir_filenames.c:124,13'
          Dst:             closedir
        - Src:             'dir_filenames.c:129,5'
          Dst:             closedir
        - Src:             'dir_filenames.c:130,5'
          Dst:             qsort
        - Src:             'dir_filenames.c:130,5'
          Dst:             compare_with_strcmp
    - functionName:    opendir
      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:    readdir
      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:    k5_free_filenames
      functionSourceFile: '/src/krb5/src/util/support/dir_filenames.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - fnames
      BBCount:         10
      ICount:          51
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'dir_filenames.c:40,34'
          Branch Sides:
            - BranchSide:      'dir_filenames.c:40,38'
              BranchSideFuncs:
                - free
                - free
            - BranchSide:      'dir_filenames.c:40,5'
              BranchSideFuncs:
                - free
                - free
        - Branch String:   'dir_filenames.c:40,5'
          Branch Sides:
            - BranchSide:      'dir_filenames.c:41,15'
              BranchSideFuncs:
                - free
                - free
            - BranchSide:      'dir_filenames.c:42,10'
              BranchSideFuncs:
                - free
      Callsites:       []
    - functionName:    closedir
      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:    qsort
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_strlcat
      functionSourceFile: '/src/krb5/src/util/support/strlcpy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dst
        - src
        - siz
      BBCount:         18
      ICount:          134
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - strlen
      functionUses:    0
      BranchProfiles:
        - Branch String:   'strlcpy.c:71,18'
          Branch Sides:
            - BranchSide:      'strlcpy.c:71,22'
              BranchSideFuncs:
                - strlen
            - BranchSide:      'strlcpy.c:71,2'
              BranchSideFuncs:
                - strlen
        - Branch String:   'strlcpy.c:71,2'
          Branch Sides:
            - BranchSide:      'strlcpy.c:72,4'
              BranchSideFuncs:
                - strlen
            - BranchSide:      'strlcpy.c:73,9'
              BranchSideFuncs:
                - strlen
        - Branch String:   'strlcpy.c:76,6'
          Branch Sides:
            - BranchSide:      'strlcpy.c:77,10'
              BranchSideFuncs:
                - strlen
            - BranchSide:      'strlcpy.c:78,2'
              BranchSideFuncs: []
        - Branch String:   'strlcpy.c:78,2'
          Branch Sides:
            - BranchSide:      'strlcpy.c:79,7'
              BranchSideFuncs: []
            - BranchSide:      'strlcpy.c:85,3'
              BranchSideFuncs: []
        - Branch String:   'strlcpy.c:79,7'
          Branch Sides:
            - BranchSide:      'strlcpy.c:80,12'
              BranchSideFuncs: []
            - BranchSide:      'strlcpy.c:83,4'
              BranchSideFuncs: []
      Callsites:
        - Src:             'strlcpy.c:77,17'
          Dst:             strlen
    - functionName:    krb5int_strlcpy
      functionSourceFile: '/src/krb5/src/util/support/strlcpy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - dst
        - src
        - siz
      BBCount:         19
      ICount:          107
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'strlcpy.c:37,6'
          Branch Sides:
            - BranchSide:      'strlcpy.c:38,3'
              BranchSideFuncs: []
            - BranchSide:      'strlcpy.c:45,6'
              BranchSideFuncs: []
        - Branch String:   'strlcpy.c:38,3'
          Branch Sides:
            - BranchSide:      'strlcpy.c:39,18'
              BranchSideFuncs: []
            - BranchSide:      'strlcpy.c:42,2'
              BranchSideFuncs: []
        - Branch String:   'strlcpy.c:39,8'
          Branch Sides:
            - BranchSide:      'strlcpy.c:38,3'
              BranchSideFuncs: []
            - BranchSide:      'strlcpy.c:40,5'
              BranchSideFuncs: []
        - Branch String:   'strlcpy.c:45,6'
          Branch Sides:
            - BranchSide:      'strlcpy.c:45,6'
              BranchSideFuncs: []
            - BranchSide:      'strlcpy.c:46,7'
              BranchSideFuncs: []
        - Branch String:   'strlcpy.c:46,7'
          Branch Sides:
            - BranchSide:      'strlcpy.c:47,5'
              BranchSideFuncs: []
            - BranchSide:      'strlcpy.c:48,3'
              BranchSideFuncs: []
        - Branch String:   'strlcpy.c:48,3'
          Branch Sides:
            - BranchSide:      'strlcpy.c:48,12'
              BranchSideFuncs: []
            - BranchSide:      'strlcpy.c:50,2'
              BranchSideFuncs: []
      Callsites:       []
...
