---
Fuzzer filename: '/src/krb5/src/tests/fuzzing/fuzz_pac.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/krb5/src/tests/fuzzing/fuzz_pac.c'
      linkageType:     externalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          109
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - krb5_free_context
        - krb5_free_principal
        - krb5_init_context
        - krb5_pac_free
        - krb5_pac_parse
        - krb5_pac_verify
        - krb5_pac_verify_ext
        - krb5_parse_name
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz_pac.c:69,11'
          Dst:             krb5_init_context
        - Src:             'fuzz_pac.c:73,11'
          Dst:             krb5_parse_name
        - Src:             'fuzz_pac.c:77,11'
          Dst:             krb5_pac_parse
        - Src:             'fuzz_pac.c:81,5'
          Dst:             krb5_pac_verify
        - Src:             'fuzz_pac.c:82,5'
          Dst:             krb5_pac_verify_ext
        - Src:             'fuzz_pac.c:83,5'
          Dst:             krb5_pac_verify
        - Src:             'fuzz_pac.c:86,5'
          Dst:             krb5_pac_free
        - Src:             'fuzz_pac.c:89,5'
          Dst:             krb5_free_principal
        - Src:             'fuzz_pac.c:90,5'
          Dst:             krb5_free_context
    - functionName:    krb5_is_permitted_enctype
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 608
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_etypes_contains
        - krb5_free_enctypes
        - krb5_get_permitted_enctypes
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:603,9'
          Dst:             krb5_get_permitted_enctypes
        - Src:             'init_ctx.c:605,11'
          Dst:             k5_etypes_contains
        - Src:             'init_ctx.c:606,5'
          Dst:             krb5_free_enctypes
    - functionName:    krb5_get_permitted_enctypes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 575
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          70
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_copy_etypes
        - krb5int_parse_enctype_list
        - profile_get_string
        - profile_release_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:583,16'
          Dst:             k5_copy_etypes
        - Src:             'init_ctx.c:586,11'
          Dst:             profile_get_string
        - Src:             'init_ctx.c:591,11'
          Dst:             krb5int_parse_enctype_list
        - Src:             'init_ctx.c:593,5'
          Dst:             profile_release_string
    - functionName:    krb5_free_enctypes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 536
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_parse_enctype_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 503
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          271
      EdgeCount:       62
      CyclomaticComplexity: 16
      functionsReached:
        - krb5_string_to_enctype
        - krb5int_trace
        - mod_list
        - strcasecmp
        - strtok_r
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:464,18'
          Dst:             strtok_r
        - Src:             'init_ctx.c:471,13'
          Dst:             strcasecmp
        - Src:             'init_ctx.c:474,17'
          Dst:             mod_list
        - Src:             'init_ctx.c:475,20'
          Dst:             strcasecmp
        - Src:             'init_ctx.c:476,13'
          Dst:             mod_list
        - Src:             'init_ctx.c:477,20'
          Dst:             strcasecmp
        - Src:             'init_ctx.c:478,13'
          Dst:             mod_list
        - Src:             'init_ctx.c:479,13'
          Dst:             mod_list
        - Src:             'init_ctx.c:480,13'
          Dst:             mod_list
        - Src:             'init_ctx.c:481,13'
          Dst:             mod_list
        - Src:             'init_ctx.c:482,20'
          Dst:             strcasecmp
        - Src:             'init_ctx.c:483,13'
          Dst:             mod_list
        - Src:             'init_ctx.c:484,20'
          Dst:             strcasecmp
        - Src:             'init_ctx.c:485,13'
          Dst:             mod_list
        - Src:             'init_ctx.c:486,13'
          Dst:             mod_list
        - Src:             'init_ctx.c:487,20'
          Dst:             krb5_string_to_enctype
        - Src:             'init_ctx.c:489,13'
          Dst:             mod_list
        - Src:             'init_ctx.c:491,13'
          Dst:             krb5int_trace
        - Src:             'init_ctx.c:465,18'
          Dst:             strtok_r
    - functionName:    strtok_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mod_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          202
      EdgeCount:       49
      CyclomaticComplexity: 13
      functionsReached:
        - krb5int_c_weak_enctype
        - realloc
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:409,41'
          Dst:             krb5int_c_weak_enctype
        - Src:             'init_ctx.c:418,16'
          Dst:             realloc
        - Src:             'init_ctx.c:432,20'
          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:    48
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_tgs_ktypes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 543
      functionLinenumberEnd: 571
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          112
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - k5_copy_etypes
        - krb5int_parse_enctype_list
        - profile_get_string
        - profile_release_string
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:552,16'
          Dst:             k5_copy_etypes
        - Src:             'init_ctx.c:555,11'
          Dst:             profile_get_string
        - Src:             'init_ctx.c:561,15'
          Dst:             profile_get_string
        - Src:             'init_ctx.c:567,11'
          Dst:             krb5int_parse_enctype_list
        - Src:             'init_ctx.c:569,5'
          Dst:             profile_release_string
    - functionName:    krb5_get_default_in_tkt_ktypes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 507
      functionLinenumberEnd: 531
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          81
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5int_parse_enctype_list
        - profile_get_string
        - profile_release_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:515,11'
          Dst:             profile_get_string
        - Src:             'init_ctx.c:521,15'
          Dst:             profile_get_string
        - Src:             'init_ctx.c:527,11'
          Dst:             krb5int_parse_enctype_list
        - Src:             'init_ctx.c:529,5'
          Dst:             profile_release_string
    - functionName:    krb5_set_default_tgs_ktypes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_set_default_tgs_enctypes
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:392,12'
          Dst:             krb5_set_default_tgs_enctypes
    - functionName:    krb5_set_default_tgs_enctypes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          145
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - k5_copy_etypes
        - krb5_c_valid_enctype
        - krb5int_c_weak_enctype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:356,16'
          Dst:             k5_copy_etypes
        - Src:             'init_ctx.c:363,18'
          Dst:             krb5_c_valid_enctype
        - Src:             'init_ctx.c:366,20'
          Dst:             krb5int_c_weak_enctype
    - functionName:    krb5_free_context
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 340
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          87
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_ccselect_free_context
        - k5_hostrealm_free_context
        - k5_localauth_free_context
        - k5_os_free_context
        - k5_plugin_free_context
        - krb5_clear_error_message
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:316,5'
          Dst:             k5_os_free_context
        - Src:             'init_ctx.c:323,5'
          Dst:             krb5_clear_error_message
        - Src:             'init_ctx.c:331,5'
          Dst:             k5_ccselect_free_context
        - Src:             'init_ctx.c:332,5'
          Dst:             k5_hostrealm_free_context
        - Src:             'init_ctx.c:333,5'
          Dst:             k5_localauth_free_context
        - Src:             'init_ctx.c:334,5'
          Dst:             k5_plugin_free_context
    - functionName:    get_integer
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          61
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - krb5int_trace
        - profile_get_integer
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:80,14'
          Dst:             profile_get_integer
        - Src:             'init_ctx.c:83,9'
          Dst:             krb5int_trace
    - functionName:    get_tristate
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          91
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - profile_get_boolean
        - profile_get_string
        - strcasecmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:107,14'
          Dst:             profile_get_boolean
        - Src:             'init_ctx.c:111,14'
          Dst:             profile_get_string
        - Src:             'init_ctx.c:115,14'
          Dst:             strcasecmp
    - functionName:    get_boolean
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          61
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - krb5int_trace
        - profile_get_boolean
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:92,14'
          Dst:             profile_get_boolean
        - Src:             'init_ctx.c:95,9'
          Dst:             krb5int_trace
    - functionName:    krb5int_init_context_kdc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_init_context_profile
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:151,12'
          Dst:             krb5_init_context_profile
    - functionName:    krb5_init_context_profile
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          387
      EdgeCount:       68
      CyclomaticComplexity: 18
      functionsReached:
        - __assert_fail
        - calloc
        - get_boolean
        - get_integer
        - get_tristate
        - k5_expand_path_tokens
        - k5_init_trace
        - k5_os_init_context
        - krb5_free_context
        - krb5_string_to_deltat
        - krb5int_initialize_library
        - krb5int_trace
        - profile_get_string
        - profile_release_string
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:172,9'
          Dst:             __assert_fail
        - Src:             'init_ctx.c:174,9'
          Dst:             __assert_fail
        - Src:             'init_ctx.c:176,9'
          Dst:             __assert_fail
        - Src:             'init_ctx.c:179,14'
          Dst:             krb5int_initialize_library
        - Src:             'init_ctx.c:202,11'
          Dst:             calloc
        - Src:             'init_ctx.c:209,14'
          Dst:             k5_os_init_context
        - Src:             'init_ctx.c:216,9'
          Dst:             k5_init_trace
        - Src:             'init_ctx.c:219,14'
          Dst:             get_boolean
        - Src:             'init_ctx.c:224,14'
          Dst:             get_boolean
        - Src:             'init_ctx.c:229,14'
          Dst:             get_boolean
        - Src:             'init_ctx.c:234,14'
          Dst:             get_boolean
        - Src:             'init_ctx.c:239,14'
          Dst:             get_boolean
        - Src:             'init_ctx.c:244,14'
          Dst:             get_tristate
        - Src:             'init_ctx.c:251,5'
          Dst:             get_integer
        - Src:             'init_ctx.c:254,14'
          Dst:             profile_get_string
        - Src:             'init_ctx.c:260,18'
          Dst:             krb5_string_to_deltat
        - Src:             'init_ctx.c:265,5'
          Dst:             get_integer
        - Src:             'init_ctx.c:269,5'
          Dst:             get_integer
        - Src:             'init_ctx.c:272,14'
          Dst:             profile_get_string
        - Src:             'init_ctx.c:276,18'
          Dst:             k5_expand_path_tokens
        - Src:             'init_ctx.c:278,9'
          Dst:             krb5int_trace
        - Src:             'init_ctx.c:292,5'
          Dst:             get_integer
        - Src:             'init_ctx.c:299,11'
          Dst:             profile_get_string
        - Src:             'init_ctx.c:305,5'
          Dst:             profile_release_string
        - Src:             'init_ctx.c:306,5'
          Dst:             profile_release_string
        - Src:             'init_ctx.c:307,5'
          Dst:             krb5_free_context
    - 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:    174
      BranchProfiles:  []
      Callsites:       []
    - 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:    134
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_init_secure_context
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_init_context_profile
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:145,12'
          Dst:             krb5_init_context_profile
    - functionName:    krb5_init_context
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/init_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_init_context_profile
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init_ctx.c:139,12'
          Dst:             krb5_init_context_profile
    - functionName:    k5_change_error_message_code
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_restore_ctx_error
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 241
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_clear_error
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'kerrs.c:234,9'
          Dst:             k5_clear_error
        - Src:             'kerrs.c:239,9'
          Dst:             k5_clear_error
    - functionName:    k5_save_ctx_error
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_clear_error_message
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_clear_error
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'kerrs.c:213,5'
          Dst:             k5_clear_error
    - functionName:    krb5_free_error_message
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_free_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kerrs.c:201,5'
          Dst:             k5_free_error
    - functionName:    err_fmt_fmt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          125
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - k5_buf_add
        - k5_buf_add_fmt
        - k5_buf_add_len
        - k5_buf_cstring
        - k5_buf_init_dynamic
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kerrs.c:149,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'kerrs.c:152,17'
          Dst:             strchr
        - Src:             'kerrs.c:153,9'
          Dst:             k5_buf_add_len
        - Src:             'kerrs.c:158,13'
          Dst:             k5_buf_add
        - Src:             'kerrs.c:160,13'
          Dst:             k5_buf_add_fmt
        - Src:             'kerrs.c:162,13'
          Dst:             k5_buf_add
        - Src:             'kerrs.c:164,13'
          Dst:             k5_buf_add_fmt
        - Src:             'kerrs.c:167,5'
          Dst:             k5_buf_add
        - Src:             'kerrs.c:168,12'
          Dst:             k5_buf_cstring
    - 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:    36
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_error_message
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - err_fmt_fmt
        - error_message
        - k5_get_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kerrs.c:181,16'
          Dst:             error_message
        - Src:             'kerrs.c:183,11'
          Dst:             k5_get_error
        - Src:             'kerrs.c:184,14'
          Dst:             err_fmt_fmt
    - functionName:    krb5_copy_error_message
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_clear_error
        - k5_set_error
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kerrs.c:131,9'
          Dst:             k5_set_error
        - Src:             'kerrs.c:134,9'
          Dst:             k5_clear_error
    - functionName:    krb5_wrap_error_message
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_vwrap_error_message
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kerrs.c:105,5'
          Dst:             krb5_vwrap_error_message
    - functionName:    krb5_vwrap_error_message
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          64
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_free_error
        - k5_get_error
        - k5_set_error
        - vasprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kerrs.c:116,24'
          Dst:             vasprintf
        - Src:             'kerrs.c:118,16'
          Dst:             k5_get_error
        - Src:             'kerrs.c:119,5'
          Dst:             k5_set_error
        - Src:             'kerrs.c:120,5'
          Dst:             k5_free_error
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_vprepend_error_message
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_wrap_error_message
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kerrs.c:95,5'
          Dst:             krb5_wrap_error_message
    - functionName:    krb5_prepend_error_message
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_vwrap_error_message
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'kerrs.c:87,5'
          Dst:             krb5_vwrap_error_message
    - functionName:    krb5_vset_error_message
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_vset_error
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kerrs.c:73,5'
          Dst:             k5_vset_error
    - functionName:    krb5_set_error_message
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kerrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_vset_error
      functionUses:    45
      BranchProfiles:  []
      Callsites:
        - Src:             'kerrs.c:53,5'
          Dst:             k5_vset_error
    - functionName:    k5_free_pa_spake
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 890
      functionLinenumberEnd: 916
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          117
      EdgeCount:       21
      CyclomaticComplexity: 4
      functionsReached:
        - k5_free_spake_factor
        - krb5_free_data_contents
      functionUses:    0
      BranchProfiles:
        - Branch String:   'kfree.c:895,5'
          Branch Sides:    []
      Callsites:
        - Src:             'kfree.c:900,9'
          Dst:             krb5_free_data_contents
        - Src:             'kfree.c:902,13'
          Dst:             k5_free_spake_factor
        - Src:             'kfree.c:906,9'
          Dst:             krb5_free_data_contents
        - Src:             'kfree.c:907,9'
          Dst:             krb5_free_data_contents
        - Src:             'kfree.c:910,9'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_free_data_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    87
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_free_spake_factor
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 879
      functionLinenumberEnd: 886
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - zapfree
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:883,9'
          Dst:             zapfree
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    explicit_bzero
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    44
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_free_secure_cookie
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 870
      functionLinenumberEnd: 875
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_zapfree_pa_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:873,5'
          Dst:             k5_zapfree_pa_data
    - functionName:    k5_zapfree_pa_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          55
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - zapfree
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:378,9'
          Dst:             zapfree
        - Src:             'kfree.c:379,9'
          Dst:             zapfree
    - functionName:    free_vmac
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 844
      functionLinenumberEnd: 850
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_checksum_contents
        - krb5_free_principal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:847,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:848,5'
          Dst:             krb5_free_checksum_contents
    - functionName:    krb5_free_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 400
      functionLinenumberEnd: 414
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    73
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_checksum_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_free_cammac
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 854
      functionLinenumberEnd: 866
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - free_vmac
        - krb5_free_authdata
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:859,5'
          Dst:             krb5_free_authdata
        - Src:             'kfree.c:860,5'
          Dst:             free_vmac
        - Src:             'kfree.c:861,5'
          Dst:             free_vmac
        - Src:             'kfree.c:863,9'
          Dst:             free_vmac
    - functionName:    k5_free_kkdcp_message
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 834
      functionLinenumberEnd: 840
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_free_pa_otp_req
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 814
      functionLinenumberEnd: 830
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          92
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_free_algorithm_identifier
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:821,9'
          Dst:             k5_free_algorithm_identifier
    - functionName:    k5_free_algorithm_identifier
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 770
      functionLinenumberEnd: 776
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_free_pa_otp_challenge
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 797
      functionLinenumberEnd: 810
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          74
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - k5_free_otp_tokeninfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:805,9'
          Dst:             k5_free_otp_tokeninfo
    - functionName:    k5_free_otp_tokeninfo
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 780
      functionLinenumberEnd: 793
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          86
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - k5_free_algorithm_identifier
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:790,9'
          Dst:             k5_free_algorithm_identifier
    - functionName:    krb5_free_iakerb_finished
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 759
      functionLinenumberEnd: 765
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_checksum_contents
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:763,5'
          Dst:             krb5_free_checksum_contents
    - functionName:    krb5_free_iakerb_header
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 748
      functionLinenumberEnd: 755
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_data
        - krb5_free_data_contents
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:752,5'
          Dst:             krb5_free_data_contents
        - Src:             'kfree.c:753,5'
          Dst:             krb5_free_data
    - functionName:    krb5_free_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    51
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_ad_kdcissued
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 736
      functionLinenumberEnd: 744
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_authdata
        - krb5_free_checksum_contents
        - krb5_free_principal
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:740,5'
          Dst:             krb5_free_checksum_contents
        - Src:             'kfree.c:741,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:742,5'
          Dst:             krb5_free_authdata
    - functionName:    krb5int_free_data_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 722
      functionLinenumberEnd: 732
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          52
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_free_data_ptr_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 712
      functionLinenumberEnd: 718
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          52
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_free_data
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:716,9'
          Dst:             krb5_free_data
    - functionName:    krb5_free_fast_armored_req
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 699
      functionLinenumberEnd: 708
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_free_checksum_contents
        - krb5_free_data_contents
        - krb5_free_fast_armor
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:703,9'
          Dst:             krb5_free_fast_armor
        - Src:             'kfree.c:704,5'
          Dst:             krb5_free_data_contents
        - Src:             'kfree.c:706,9'
          Dst:             krb5_free_checksum_contents
    - functionName:    krb5_free_fast_armor
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 674
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_data_contents
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:672,5'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_free_fast_finished
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 689
      functionLinenumberEnd: 695
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_checksum_contents
        - krb5_free_principal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:692,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:693,5'
          Dst:             krb5_free_checksum_contents
    - functionName:    krb5_free_fast_response
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 678
      functionLinenumberEnd: 685
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_fast_finished
        - krb5_free_keyblock
        - krb5_free_pa_data
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:681,5'
          Dst:             krb5_free_pa_data
        - Src:             'kfree.c:682,5'
          Dst:             krb5_free_fast_finished
        - Src:             'kfree.c:683,5'
          Dst:             krb5_free_keyblock
    - functionName:    krb5_free_pa_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 396
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          52
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    34
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_keyblock
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5int_c_free_keyblock
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:353,5'
          Dst:             krb5int_c_free_keyblock
    - functionName:    krb5_free_fast_req
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 660
      functionLinenumberEnd: 665
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_kdc_req
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:663,5'
          Dst:             krb5_free_kdc_req
    - functionName:    krb5_free_kdc_req
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 342
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          68
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_addresses
        - krb5_free_authdata
        - krb5_free_pa_data
        - krb5_free_principal
        - krb5_free_tickets
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:333,5'
          Dst:             krb5_free_pa_data
        - Src:             'kfree.c:334,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:335,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:337,5'
          Dst:             krb5_free_addresses
        - Src:             'kfree.c:339,5'
          Dst:             krb5_free_authdata
        - Src:             'kfree.c:340,5'
          Dst:             krb5_free_tickets
    - functionName:    krb5_free_addresses
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          52
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_tickets
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 470
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          48
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_free_ticket
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:468,9'
          Dst:             krb5_free_ticket
    - functionName:    krb5_free_ticket
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_enc_tkt_part
        - krb5_free_principal
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:454,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:456,5'
          Dst:             krb5_free_enc_tkt_part
    - functionName:    krb5_free_enc_tkt_part
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 299
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_addresses
        - krb5_free_authdata
        - krb5_free_keyblock
        - krb5_free_principal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:293,5'
          Dst:             krb5_free_keyblock
        - Src:             'kfree.c:294,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:296,5'
          Dst:             krb5_free_addresses
        - Src:             'kfree.c:297,5'
          Dst:             krb5_free_authdata
    - functionName:    krb5_free_pa_pac_req
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 654
      functionLinenumberEnd: 656
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_pa_s4u_x509_user
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 643
      functionLinenumberEnd: 649
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_checksum_contents
        - krb5_free_s4u_userid_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:646,5'
          Dst:             krb5_free_s4u_userid_contents
        - Src:             'kfree.c:647,5'
          Dst:             krb5_free_checksum_contents
    - functionName:    krb5_free_s4u_userid_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 629
      functionLinenumberEnd: 639
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_data_contents
        - krb5_free_principal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:633,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:635,5'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_free_pa_for_user
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 617
      functionLinenumberEnd: 625
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_checksum_contents
        - krb5_free_data_contents
        - krb5_free_principal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:620,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:622,5'
          Dst:             krb5_free_checksum_contents
        - Src:             'kfree.c:623,5'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_free_pa_enc_ts
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 609
      functionLinenumberEnd: 613
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_enc_sam_response_enc_2_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 600
      functionLinenumberEnd: 605
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          40
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_free_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:604,9'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_free_enc_sam_response_enc_2
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 590
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_enc_sam_response_enc_2_contents
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:593,5'
          Dst:             krb5_free_enc_sam_response_enc_2_contents
    - functionName:    krb5_free_sam_response_2_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 578
      functionLinenumberEnd: 585
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          60
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_free_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:582,9'
          Dst:             krb5_free_data_contents
        - Src:             'kfree.c:584,9'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_free_sam_response_2
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 569
      functionLinenumberEnd: 574
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_sam_response_2_contents
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:572,5'
          Dst:             krb5_free_sam_response_2_contents
    - functionName:    krb5_free_sam_challenge_2_body_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 565
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          130
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - krb5_free_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:554,9'
          Dst:             krb5_free_data_contents
        - Src:             'kfree.c:556,9'
          Dst:             krb5_free_data_contents
        - Src:             'kfree.c:558,9'
          Dst:             krb5_free_data_contents
        - Src:             'kfree.c:560,9'
          Dst:             krb5_free_data_contents
        - Src:             'kfree.c:562,9'
          Dst:             krb5_free_data_contents
        - Src:             'kfree.c:564,9'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_free_sam_challenge_2_body
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 540
      functionLinenumberEnd: 545
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_sam_challenge_2_body_contents
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:543,5'
          Dst:             krb5_free_sam_challenge_2_body_contents
    - functionName:    krb5_free_sam_challenge_2_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 519
      functionLinenumberEnd: 535
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          81
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - krb5_free_checksum
        - krb5_free_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:525,9'
          Dst:             krb5_free_data_contents
        - Src:             'kfree.c:529,13'
          Dst:             krb5_free_checksum
    - functionName:    krb5_free_checksum
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_checksum_contents
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:137,5'
          Dst:             krb5_free_checksum_contents
    - functionName:    krb5_free_sam_challenge_2
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 509
      functionLinenumberEnd: 514
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_sam_challenge_2_contents
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:512,5'
          Dst:             krb5_free_sam_challenge_2_contents
    - functionName:    krb5_free_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 503
      functionLinenumberEnd: 505
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_unparsed_name
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 496
      functionLinenumberEnd: 499
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_tkt_authent
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 492
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_authenticator
        - krb5_free_ticket
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:489,5'
          Dst:             krb5_free_ticket
        - Src:             'kfree.c:490,5'
          Dst:             krb5_free_authenticator
    - functionName:    krb5_free_authenticator
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_authenticator_contents
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:128,5'
          Dst:             krb5_free_authenticator_contents
    - functionName:    krb5_free_authenticator_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_authdata
        - krb5_free_checksum
        - krb5_free_keyblock
        - krb5_free_principal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:113,5'
          Dst:             krb5_free_checksum
        - Src:             'kfree.c:115,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:117,5'
          Dst:             krb5_free_keyblock
        - Src:             'kfree.c:119,5'
          Dst:             krb5_free_authdata
    - functionName:    krb5_free_tgt_creds
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 482
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          48
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_free_creds
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:480,9'
          Dst:             krb5_free_creds
    - functionName:    krb5_free_creds
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_cred_contents
      functionUses:    33
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:217,5'
          Dst:             krb5_free_cred_contents
    - functionName:    krb5_free_cred_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          80
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_addresses
        - krb5_free_authdata
        - krb5_free_keyblock_contents
        - krb5_free_principal
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:171,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:173,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:175,5'
          Dst:             krb5_free_keyblock_contents
        - Src:             'kfree.c:180,5'
          Dst:             krb5_free_addresses
        - Src:             'kfree.c:182,5'
          Dst:             krb5_free_authdata
    - functionName:    krb5_free_keyblock_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 346
      functionLinenumberEnd: 348
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5int_c_free_keyblock_contents
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:347,5'
          Dst:             krb5int_c_free_keyblock_contents
    - functionName:    krb5_free_safe
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_address
        - krb5_free_checksum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:442,5'
          Dst:             krb5_free_address
        - Src:             'kfree.c:443,5'
          Dst:             krb5_free_address
        - Src:             'kfree.c:444,5'
          Dst:             krb5_free_checksum
    - functionName:    krb5_free_address
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_priv_enc_part
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 427
      functionLinenumberEnd: 434
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_address
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:431,5'
          Dst:             krb5_free_address
        - Src:             'kfree.c:432,5'
          Dst:             krb5_free_address
    - functionName:    krb5_free_priv
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 418
      functionLinenumberEnd: 423
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_kdc_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 325
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_enc_kdc_rep_part
        - krb5_free_pa_data
        - krb5_free_principal
        - krb5_free_ticket
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:319,5'
          Dst:             krb5_free_pa_data
        - Src:             'kfree.c:320,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:321,5'
          Dst:             krb5_free_ticket
        - Src:             'kfree.c:323,5'
          Dst:             krb5_free_enc_kdc_rep_part
    - functionName:    krb5_free_enc_kdc_rep_part
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_addresses
        - krb5_free_keyblock
        - krb5_free_last_req
        - krb5_free_pa_data
        - krb5_free_principal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:280,5'
          Dst:             krb5_free_keyblock
        - Src:             'kfree.c:281,5'
          Dst:             krb5_free_last_req
        - Src:             'kfree.c:282,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:283,5'
          Dst:             krb5_free_addresses
        - Src:             'kfree.c:284,5'
          Dst:             krb5_free_pa_data
    - functionName:    krb5_free_last_req
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 368
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          47
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_error
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 312
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_principal
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:307,5'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:308,5'
          Dst:             krb5_free_principal
    - functionName:    krb5_free_etype_info
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 272
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          64
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_free_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:268,9'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_free_enc_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_data_contents
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:256,5'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_free_octet_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_cred_enc_part
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          103
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_free_address
        - krb5_free_addresses
        - krb5_free_keyblock
        - krb5_free_principal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:193,5'
          Dst:             krb5_free_address
        - Src:             'kfree.c:195,5'
          Dst:             krb5_free_address
        - Src:             'kfree.c:200,13'
          Dst:             krb5_free_keyblock
        - Src:             'kfree.c:201,13'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:202,13'
          Dst:             krb5_free_principal
        - Src:             'kfree.c:203,13'
          Dst:             krb5_free_addresses
    - functionName:    krb5_free_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_tickets
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:156,5'
          Dst:             krb5_free_tickets
    - functionName:    krb5_free_ap_rep_enc_part
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_keyblock
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:104,5'
          Dst:             krb5_free_keyblock
    - functionName:    krb5_free_ap_req
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_ticket
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kfree.c:94,5'
          Dst:             krb5_free_ticket
    - functionName:    krb5_free_ap_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kfree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    copy_pac
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          100
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - k5alloc
        - k5memdup
        - krb5_pac_free
        - krb5int_copy_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:237,11'
          Dst:             k5alloc
        - Src:             'pac.c:241,20'
          Dst:             k5memdup
        - Src:             'pac.c:246,11'
          Dst:             krb5int_copy_data_contents
        - Src:             'pac.c:258,5'
          Dst:             krb5_pac_free
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5memdup
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2300
      functionLinenumberEnd: 2305
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2301,17'
          Dst:             k5alloc
    - functionName:    krb5_pac_free
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - zapfree
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:121,9'
          Dst:             zapfree
        - Src:             'pac.c:123,9'
          Dst:             zapfree
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    mspac_attr2type
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 930
      functionLinenumberEnd: 953
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          143
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - strncasecmp
        - strtoul
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:935,13'
          Dst:             strncasecmp
        - Src:             'pac.c:942,9'
          Dst:             strncasecmp
        - Src:             'pac.c:947,17'
          Dst:             strtoul
    - functionName:    strncasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strtoul
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mspac_type2attr
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 915
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          51
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    zero_signature
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 446
      functionLinenumberEnd: 476
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          186
      EdgeCount:       39
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:450,5'
          Dst:             __assert_fail
        - Src:             'pac.c:453,5'
          Dst:             __assert_fail
    - functionName:    k5_input_set_status
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    load_32_le
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 684
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_input_get_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_input_set_status
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:72,9'
          Dst:             k5_input_set_status
    - functionName:    mspac_copy
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1243
      functionLinenumberEnd: 1254
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - copy_pac
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:1248,5'
          Dst:             __assert_fail
        - Src:             'pac.c:1249,5'
          Dst:             __assert_fail
        - Src:             'pac.c:1252,15'
          Dst:             copy_pac
    - functionName:    mspac_internalize
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1194
      functionLinenumberEnd: 1237
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          151
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - k5_ser_unpack_len
        - krb5_pac_free
        - krb5_pac_parse
        - krb5_ser_unpack_int32
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:1205,11'
          Dst:             k5_ser_unpack_len
        - Src:             'pac.c:1210,15'
          Dst:             krb5_pac_parse
        - Src:             'pac.c:1219,11'
          Dst:             krb5_ser_unpack_int32
        - Src:             'pac.c:1221,9'
          Dst:             krb5_pac_free
        - Src:             'pac.c:1229,9'
          Dst:             krb5_pac_free
    - functionName:    krb5_pac_parse
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          269
      EdgeCount:       53
      CyclomaticComplexity: 16
      functionsReached:
        - k5_input_get_uint32_le
        - k5_input_get_uint64_le
        - k5_input_init
        - k5calloc
        - krb5_pac_free
        - krb5_pac_init
        - realloc
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:277,5'
          Dst:             k5_input_init
        - Src:             'pac.c:279,16'
          Dst:             k5_input_get_uint32_le
        - Src:             'pac.c:280,15'
          Dst:             k5_input_get_uint32_le
        - Src:             'pac.c:291,11'
          Dst:             krb5_pac_init
        - Src:             'pac.c:295,20'
          Dst:             k5calloc
        - Src:             'pac.c:305,24'
          Dst:             k5_input_get_uint32_le
        - Src:             'pac.c:306,24'
          Dst:             k5_input_get_uint32_le
        - Src:             'pac.c:307,26'
          Dst:             k5_input_get_uint64_le
        - Src:             'pac.c:320,13'
          Dst:             realloc
        - Src:             'pac.c:322,9'
          Dst:             krb5_pac_free
        - Src:             'pac.c:335,5'
          Dst:             krb5_pac_free
    - functionName:    k5_input_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_input_get_uint32_le
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
        - load_32_le
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:118,32'
          Dst:             k5_input_get_bytes
        - Src:             '../../../include/k5-input.h:119,32'
          Dst:             load_32_le
    - functionName:    krb5_pac_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          79
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:217,22'
          Dst:             k5alloc
    - functionName:    k5_input_get_uint64_le
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
        - load_64_le
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:139,32'
          Dst:             k5_input_get_bytes
        - Src:             '../../../include/k5-input.h:140,32'
          Dst:             load_64_le
    - functionName:    load_64_le
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 693
      functionLinenumberEnd: 696
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mspac_externalize
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1157
      functionLinenumberEnd: 1187
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          103
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_ser_pack_bytes
        - krb5_ser_pack_int32
        - mspac_size
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:1168,9'
          Dst:             mspac_size
        - Src:             'pac.c:1171,13'
          Dst:             krb5_ser_pack_int32
        - Src:             'pac.c:1172,13'
          Dst:             krb5_ser_pack_bytes
        - Src:             'pac.c:1175,13'
          Dst:             krb5_ser_pack_int32
        - Src:             'pac.c:1180,9'
          Dst:             krb5_ser_pack_int32
        - Src:             'pac.c:1181,9'
          Dst:             krb5_ser_pack_int32
    - functionName:    mspac_size
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1140
      functionLinenumberEnd: 1150
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          49
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mspac_verify
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 845
      functionLinenumberEnd: 866
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          95
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_pac_verify
        - krb5int_trace
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:852,11'
          Dst:             krb5_pac_verify
        - Src:             'pac.c:856,9'
          Dst:             krb5int_trace
    - functionName:    krb5_pac_verify
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 698
      functionLinenumberEnd: 700
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_pac_verify_ext
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:699,12'
          Dst:             krb5_pac_verify_ext
    - functionName:    krb5_pac_verify_ext
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 711
      functionLinenumberEnd: 728
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          96
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - k5_pac_validate_client
        - verify_pac_checksums
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:715,15'
          Dst:             verify_pac_checksums
        - Src:             'pac.c:721,15'
          Dst:             k5_pac_validate_client
    - functionName:    verify_pac_checksums
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 521
      functionLinenumberEnd: 579
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          189
      EdgeCount:       44
      CyclomaticComplexity: 14
      functionsReached:
        - k5_pac_locate_buffer
        - krb5int_copy_data_contents
        - verify_checksum
        - zero_signature
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:526,11'
          Dst:             krb5int_copy_data_contents
        - Src:             'pac.c:530,11'
          Dst:             zero_signature
        - Src:             'pac.c:533,11'
          Dst:             zero_signature
        - Src:             'pac.c:539,15'
          Dst:             verify_checksum
        - Src:             'pac.c:546,15'
          Dst:             zero_signature
        - Src:             'pac.c:549,15'
          Dst:             verify_checksum
        - Src:             'pac.c:557,15'
          Dst:             k5_pac_locate_buffer
        - Src:             'pac.c:568,15'
          Dst:             verify_checksum
    - functionName:    k5_pac_validate_client
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 412
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          109
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - krb5_free_unparsed_name
        - krb5_pac_get_client_info
        - krb5_unparse_name_flags
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:418,11'
          Dst:             krb5_pac_get_client_info
        - Src:             'pac.c:427,11'
          Dst:             krb5_unparse_name_flags
        - Src:             'pac.c:433,37'
          Dst:             strcmp
        - Src:             'pac.c:437,5'
          Dst:             krb5_free_unparsed_name
    - functionName:    krb5_pac_get_client_info
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 362
      functionLinenumberEnd: 406
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          153
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - k5_pac_locate_buffer
        - k5_time_to_seconds_since_1970
        - k5_utf16le_to_utf8
        - load_16_le
        - load_64_le
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:375,11'
          Dst:             k5_pac_locate_buffer
        - Src:             'pac.c:384,23'
          Dst:             load_64_le
        - Src:             'pac.c:386,28'
          Dst:             load_16_le
        - Src:             'pac.c:389,11'
          Dst:             k5_time_to_seconds_since_1970
        - Src:             'pac.c:397,11'
          Dst:             k5_utf16le_to_utf8
    - 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:    69
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_pac_locate_buffer
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          165
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - make_data
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:149,5'
          Dst:             __assert_fail
        - Src:             'pac.c:150,5'
          Dst:             __assert_fail
        - Src:             'pac.c:153,21'
          Dst:             make_data
    - functionName:    load_16_le
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 672
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_time_to_seconds_since_1970
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 348
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          33
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    verify_checksum
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 482
      functionLinenumberEnd: 515
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          159
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - k5_pac_locate_buffer
        - krb5_c_checksum_length
        - krb5_c_is_keyed_cksum
        - krb5_c_verify_checksum
        - load_32_le
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:490,11'
          Dst:             k5_pac_locate_buffer
        - Src:             'pac.c:496,17'
          Dst:             load_32_le
        - Src:             'pac.c:499,10'
          Dst:             krb5_c_is_keyed_cksum
        - Src:             'pac.c:504,11'
          Dst:             krb5_c_checksum_length
        - Src:             'pac.c:513,11'
          Dst:             krb5_c_verify_checksum
    - functionName:    mspac_free_internal
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1130
      functionLinenumberEnd: 1134
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_pac_free
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:1132,9'
          Dst:             krb5_pac_free
    - functionName:    mspac_export_internal
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1104
      functionLinenumberEnd: 1125
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          109
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - krb5_pac_parse
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:1117,11'
          Dst:             krb5_pac_parse
    - functionName:    mspac_import_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 779
      functionLinenumberEnd: 796
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          106
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - krb5_pac_free
        - krb5_pac_parse
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:786,9'
          Dst:             krb5_pac_free
        - Src:             'pac.c:790,5'
          Dst:             __assert_fail
        - Src:             'pac.c:791,5'
          Dst:             __assert_fail
        - Src:             'pac.c:794,12'
          Dst:             krb5_pac_parse
    - functionName:    mspac_export_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 802
      functionLinenumberEnd: 838
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          125
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - krb5_free_authdata
        - krb5int_copy_data_contents
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:811,16'
          Dst:             calloc
        - Src:             'pac.c:815,19'
          Dst:             calloc
        - Src:             'pac.c:822,12'
          Dst:             krb5int_copy_data_contents
        - Src:             'pac.c:824,9'
          Dst:             krb5_free_authdata
    - functionName:    mspac_set_attribute
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1071
      functionLinenumberEnd: 1098
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          108
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - krb5_pac_add_buffer
        - krb5_pac_free
        - krb5_pac_parse
        - mspac_attr2type
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:1079,11'
          Dst:             mspac_attr2type
        - Src:             'pac.c:1087,15'
          Dst:             krb5_pac_parse
        - Src:             'pac.c:1091,9'
          Dst:             krb5_pac_free
        - Src:             'pac.c:1094,15'
          Dst:             krb5_pac_add_buffer
    - functionName:    krb5_pac_add_buffer
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_pac_add_buffer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:111,12'
          Dst:             k5_pac_add_buffer
    - functionName:    k5_pac_add_buffer
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          354
      EdgeCount:       39
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - k5_pac_locate_buffer
        - make_data
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:48,5'
          Dst:             __assert_fail
        - Src:             'pac.c:51,9'
          Dst:             k5_pac_locate_buffer
        - Src:             'pac.c:56,13'
          Dst:             realloc
        - Src:             'pac.c:65,13'
          Dst:             realloc
        - Src:             'pac.c:86,5'
          Dst:             __assert_fail
        - Src:             'pac.c:100,21'
          Dst:             make_data
    - functionName:    mspac_get_attribute
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1020
      functionLinenumberEnd: 1064
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          196
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - k5_pac_locate_buffer
        - krb5_pac_get_buffer
        - krb5int_copy_data_contents
        - krb5int_trace
        - mspac_attr2type
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:1035,9'
          Dst:             krb5int_trace
        - Src:             'pac.c:1039,11'
          Dst:             mspac_attr2type
        - Src:             'pac.c:1046,19'
          Dst:             krb5int_copy_data_contents
        - Src:             'pac.c:1052,19'
          Dst:             krb5_pac_get_buffer
        - Src:             'pac.c:1054,19'
          Dst:             k5_pac_locate_buffer
    - functionName:    krb5_pac_get_buffer
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          68
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_pac_locate_buffer
        - k5memdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:168,11'
          Dst:             k5_pac_locate_buffer
        - Src:             'pac.c:172,22'
          Dst:             k5memdup
    - functionName:    mspac_get_attribute_types
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 959
      functionLinenumberEnd: 1012
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          192
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - asprintf
        - calloc
        - krb5int_copy_data_contents
        - krb5int_free_data_list
        - mspac_type2attr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:968,13'
          Dst:             calloc
        - Src:             'pac.c:975,11'
          Dst:             krb5int_copy_data_contents
        - Src:             'pac.c:985,15'
          Dst:             mspac_type2attr
        - Src:             'pac.c:987,19'
          Dst:             krb5int_copy_data_contents
        - Src:             'pac.c:993,22'
          Dst:             asprintf
        - Src:             'pac.c:1010,5'
          Dst:             krb5int_free_data_list
    - 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:    32
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mspac_request_fini
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 871
      functionLinenumberEnd: 878
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_pac_free
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:875,9'
          Dst:             krb5_pac_free
    - functionName:    mspac_request_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 760
      functionLinenumberEnd: 772
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mspac_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 747
      functionLinenumberEnd: 749
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mspac_fini
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 753
      functionLinenumberEnd: 754
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mspac_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 739
      functionLinenumberEnd: 741
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_kdc_verify_ticket
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 689
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          324
      EdgeCount:       57
      CyclomaticComplexity: 17
      functionsReached:
        - encode_krb5_enc_tkt_part
        - k5_pac_should_have_ticket_signature
        - krb5_decode_authdata_container
        - krb5_encode_authdata_container
        - krb5_free_authdata
        - krb5_free_data
        - krb5_pac_free
        - krb5_pac_parse
        - verify_checksum
        - verify_pac_checksums
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:624,15'
          Dst:             krb5_decode_authdata_container
        - Src:             'pac.c:637,9'
          Dst:             krb5_free_authdata
        - Src:             'pac.c:647,11'
          Dst:             krb5_pac_parse
        - Src:             'pac.c:651,22'
          Dst:             k5_pac_should_have_ticket_signature
        - Src:             'pac.c:657,15'
          Dst:             krb5_encode_authdata_container
        - Src:             'pac.c:665,15'
          Dst:             encode_krb5_enc_tkt_part
        - Src:             'pac.c:670,15'
          Dst:             verify_checksum
        - Src:             'pac.c:676,11'
          Dst:             verify_pac_checksums
        - Src:             'pac.c:684,5'
          Dst:             krb5_pac_free
        - Src:             'pac.c:685,5'
          Dst:             krb5_free_data
        - Src:             'pac.c:686,5'
          Dst:             krb5_free_authdata
        - Src:             'pac.c:687,5'
          Dst:             krb5_free_authdata
    - functionName:    k5_pac_should_have_ticket_signature
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 585
      functionLinenumberEnd: 592
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          95
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - data_eq_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:586,9'
          Dst:             data_eq_string
        - Src:             'pac.c:588,32'
          Dst:             data_eq_string
        - Src:             'pac.c:589,9'
          Dst:             data_eq_string
    - functionName:    data_eq_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2229
      functionLinenumberEnd: 2231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2230,25'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2231,40'
          Dst:             memcmp
    - 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:    78
      BranchProfiles:  []
      Callsites:       []
    - functionName:    memcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    43
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_seconds_since_1970_to_time
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_pac_get_types
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          79
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pac.c:188,18'
          Dst:             calloc
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    krb5_parse_name
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 237
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_parse_name_flags
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'parse.c:237,12'
          Dst:             krb5_parse_name_flags
    - functionName:    krb5_parse_name_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          213
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - allocate_princ
        - dgettext
        - empty_data
        - k5_infer_principal_type
        - krb5_free_data_contents
        - krb5_free_principal
        - krb5_get_default_realm
        - krb5_set_error_message
        - parse_name_into_princ
        - string2data
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'parse.c:191,11'
          Dst:             allocate_princ
        - Src:             'parse.c:194,5'
          Dst:             parse_name_into_princ
        - Src:             'parse.c:202,23'
          Dst:             dgettext
        - Src:             'parse.c:201,13'
          Dst:             krb5_set_error_message
        - Src:             'parse.c:206,19'
          Dst:             krb5_get_default_realm
        - Src:             'parse.c:209,13'
          Dst:             krb5_free_data_contents
        - Src:             'parse.c:210,28'
          Dst:             string2data
        - Src:             'parse.c:214,33'
          Dst:             dgettext
        - Src:             'parse.c:214,9'
          Dst:             krb5_set_error_message
        - Src:             'parse.c:217,9'
          Dst:             krb5_free_data_contents
        - Src:             'parse.c:218,24'
          Dst:             empty_data
        - Src:             'parse.c:222,9'
          Dst:             k5_infer_principal_type
        - Src:             'parse.c:229,5'
          Dst:             krb5_free_principal
    - functionName:    allocate_princ
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          379
      EdgeCount:       69
      CyclomaticComplexity: 20
      functionsReached:
        - empty_data
        - k5alloc
        - krb5_free_principal
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'parse.c:51,13'
          Dst:             k5alloc
        - Src:             'parse.c:54,19'
          Dst:             k5alloc
        - Src:             'parse.c:57,20'
          Dst:             empty_data
        - Src:             'parse.c:58,22'
          Dst:             empty_data
        - Src:             'parse.c:70,25'
          Dst:             realloc
        - Src:             'parse.c:79,25'
          Dst:             empty_data
        - Src:             'parse.c:107,31'
          Dst:             k5alloc
        - Src:             'parse.c:111,25'
          Dst:             k5alloc
        - Src:             'parse.c:119,5'
          Dst:             krb5_free_principal
    - functionName:    parse_name_into_princ
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         60
      ICount:          300
      EdgeCount:       73
      CyclomaticComplexity: 15
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'parse.c:142,13'
          Dst:             __assert_fail
        - Src:             'parse.c:143,13'
          Dst:             __assert_fail
        - Src:             'parse.c:144,13'
          Dst:             __assert_fail
        - Src:             'parse.c:149,13'
          Dst:             __assert_fail
        - Src:             'parse.c:168,13'
          Dst:             __assert_fail
        - Src:             'parse.c:172,5'
          Dst:             __assert_fail
    - 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:    91
      BranchProfiles:  []
      Callsites:       []
    - functionName:    string2data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2253
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2254,27'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2254,12'
          Dst:             make_data
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    find_in_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          47
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:182,13'
          Dst:             strcmp
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    make_plugin_mapping
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          92
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - free_plugin_mapping
        - k5_path_join
        - k5alloc
        - k5memdup0
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:109,11'
          Dst:             k5alloc
        - Src:             'plugin.c:113,20'
          Dst:             k5memdup0
        - Src:             'plugin.c:117,13'
          Dst:             k5_path_join
        - Src:             'plugin.c:125,5'
          Dst:             free_plugin_mapping
    - functionName:    free_plugin_mapping
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5int_close_plugin
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:84,9'
          Dst:             krb5int_close_plugin
    - functionName:    parse_modstr
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - dgettext
        - krb5_set_error_message
        - make_plugin_mapping
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:166,11'
          Dst:             strchr
        - Src:             'plugin.c:169,19'
          Dst:             dgettext
        - Src:             'plugin.c:168,9'
          Dst:             krb5_set_error_message
        - Src:             'plugin.c:173,12'
          Dst:             make_plugin_mapping
    - functionName:    filter_enabled_modules
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 299
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          133
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - free_plugin_mapping
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:285,17'
          Dst:             strcmp
        - Src:             'plugin.c:297,9'
          Dst:             free_plugin_mapping
    - functionName:    remove_disabled_modules
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          65
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - find_in_list
        - free_plugin_mapping
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:263,13'
          Dst:             find_in_list
        - Src:             'plugin.c:264,13'
          Dst:             free_plugin_mapping
    - functionName:    make_full_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          272
      EdgeCount:       59
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - calloc
        - free_mapping_list
        - free_plugin_mapping
        - parse_modstr
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:219,12'
          Dst:             calloc
        - Src:             'plugin.c:225,15'
          Dst:             parse_modstr
        - Src:             'plugin.c:227,13'
          Dst:             free_mapping_list
        - Src:             'plugin.c:235,5'
          Dst:             __assert_fail
        - Src:             'plugin.c:240,17'
          Dst:             strcmp
        - Src:             'plugin.c:241,17'
          Dst:             free_plugin_mapping
    - functionName:    free_mapping_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          49
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - free_plugin_mapping
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:94,9'
          Dst:             free_plugin_mapping
    - functionName:    get_profile_var
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          59
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - profile_get_values
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:201,11'
          Dst:             profile_get_values
    - functionName:    k5_plugin_free_context
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 505
      functionLinenumberEnd: 511
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          43
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - free_mapping_list
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:509,9'
          Dst:             free_mapping_list
    - functionName:    k5_plugin_register_dyn
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 483
      functionLinenumberEnd: 501
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          89
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - asprintf
        - get_interface
        - k5_path_join
        - register_module
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:485,42'
          Dst:             get_interface
        - Src:             'plugin.c:492,9'
          Dst:             asprintf
        - Src:             'plugin.c:494,11'
          Dst:             k5_path_join
        - Src:             'plugin.c:498,11'
          Dst:             register_module
    - functionName:    get_interface
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    register_module
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          101
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - make_plugin_mapping
        - realloc
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:145,12'
          Dst:             realloc
        - Src:             'plugin.c:152,50'
          Dst:             strlen
        - Src:             'plugin.c:152,12'
          Dst:             make_plugin_mapping
    - functionName:    k5_plugin_register
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 478
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - get_interface
        - register_module
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:467,42'
          Dst:             get_interface
        - Src:             'plugin.c:477,12'
          Dst:             register_module
    - functionName:    k5_plugin_free_modules
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 459
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_plugin_load_all
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 455
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          165
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - calloc
        - configure_interface
        - get_interface
        - load_if_needed
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:426,42'
          Dst:             get_interface
        - Src:             'plugin.c:433,11'
          Dst:             configure_interface
        - Src:             'plugin.c:440,12'
          Dst:             calloc
        - Src:             'plugin.c:448,9'
          Dst:             load_if_needed
    - functionName:    configure_interface
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          145
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - filter_enabled_modules
        - get_profile_var
        - make_full_list
        - profile_free_list
        - remove_disabled_modules
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:317,11'
          Dst:             get_profile_var
        - Src:             'plugin.c:320,11'
          Dst:             get_profile_var
        - Src:             'plugin.c:323,11'
          Dst:             get_profile_var
        - Src:             'plugin.c:329,15'
          Dst:             make_full_list
        - Src:             'plugin.c:336,9'
          Dst:             remove_disabled_modules
        - Src:             'plugin.c:340,9'
          Dst:             filter_enabled_modules
        - Src:             'plugin.c:343,5'
          Dst:             profile_free_list
        - Src:             'plugin.c:344,5'
          Dst:             profile_free_list
        - Src:             'plugin.c:345,5'
          Dst:             profile_free_list
    - functionName:    load_if_needed
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          164
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - asprintf
        - krb5int_close_plugin
        - krb5int_get_plugin_func
        - krb5int_open_plugin
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:362,9'
          Dst:             asprintf
        - Src:             'plugin.c:365,11'
          Dst:             krb5int_open_plugin
        - Src:             'plugin.c:367,9'
          Dst:             krb5int_trace
        - Src:             'plugin.c:371,11'
          Dst:             krb5int_get_plugin_func
        - Src:             'plugin.c:373,9'
          Dst:             krb5int_trace
        - Src:             'plugin.c:385,9'
          Dst:             krb5int_close_plugin
    - functionName:    k5_plugin_load
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/plugin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 394
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          131
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - configure_interface
        - dgettext
        - get_interface
        - krb5_set_error_message
        - load_if_needed
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugin.c:396,42'
          Dst:             get_interface
        - Src:             'plugin.c:401,11'
          Dst:             configure_interface
        - Src:             'plugin.c:406,13'
          Dst:             strcmp
        - Src:             'plugin.c:407,13'
          Dst:             load_if_needed
        - Src:             'plugin.c:416,15'
          Dst:             dgettext
        - Src:             'plugin.c:415,5'
          Dst:             krb5_set_error_message
    - functionName:    __bswap_64
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          37
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_ser_unpack_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/serialize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          45
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_ser_unpack_len
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/serialize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          67
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_ser_unpack_int32
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'serialize.c:120,11'
          Dst:             krb5_ser_unpack_int32
    - functionName:    krb5_ser_unpack_int32
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/serialize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - load_32_be
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'serialize.c:86,17'
          Dst:             load_32_be
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    load_64_be
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 610
      functionLinenumberEnd: 615
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:615,12'
          Dst:             __bswap_64
    - functionName:    krb5_ser_unpack_int64
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/serialize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - load_64_be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'serialize.c:102,17'
          Dst:             load_64_be
    - functionName:    k5memcpy
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2322
      functionLinenumberEnd: 2325
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_ser_pack_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/serialize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5memcpy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'serialize.c:70,9'
          Dst:             k5memcpy
    - functionName:    store_64_be
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 565
      functionLinenumberEnd: 581
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:570,5'
          Dst:             __bswap_64
    - functionName:    krb5_ser_pack_int64
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/serialize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - store_64_be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'serialize.c:54,9'
          Dst:             store_64_be
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    krb5_ser_pack_int32
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/serialize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - store_32_be
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'serialize.c:37,9'
          Dst:             store_32_be
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    copy_component_quoting
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/unparse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          211
      EdgeCount:       29
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'unparse.c:102,9'
          Branch Sides:    []
      Callsites:       []
    - functionName:    component_length_quoted
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/unparse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          166
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    string2data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2253
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2254,27'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2254,12'
          Dst:             make_data
    - functionName:    krb5_unparse_name_flags_ext
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/unparse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_unparse_name
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'unparse.c:250,12'
          Dst:             k5_unparse_name
    - functionName:    k5_unparse_name
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/unparse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          328
      EdgeCount:       68
      CyclomaticComplexity: 18
      functionsReached:
        - component_length_quoted
        - copy_component_quoting
        - krb5_free_default_realm
        - krb5_get_default_realm
        - krb5_realm_compare
        - realloc
        - string2data
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'unparse.c:153,15'
          Dst:             krb5_get_default_realm
        - Src:             'unparse.c:157,19'
          Dst:             string2data
        - Src:             'unparse.c:159,13'
          Dst:             krb5_realm_compare
        - Src:             'unparse.c:164,22'
          Dst:             component_length_quoted
        - Src:             'unparse.c:169,22'
          Dst:             component_length_quoted
        - Src:             'unparse.c:184,21'
          Dst:             realloc
        - Src:             'unparse.c:201,14'
          Dst:             copy_component_quoting
        - Src:             'unparse.c:209,14'
          Dst:             copy_component_quoting
        - Src:             'unparse.c:215,9'
          Dst:             krb5_free_default_realm
    - functionName:    krb5_unparse_name_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/unparse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_unparse_name
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'unparse.c:243,12'
          Dst:             k5_unparse_name
    - functionName:    krb5_unparse_name_ext
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/unparse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_unparse_name
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'unparse.c:234,12'
          Dst:             k5_unparse_name
    - functionName:    krb5_unparse_name
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/unparse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_unparse_name
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'unparse.c:227,12'
          Dst:             k5_unparse_name
    - functionName:    expand_null
      functionSourceFile: '/src/krb5/src/lib/krb5/os/expand_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 352
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'expand_path.c:348,12'
          Dst:             strdup
    - 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:    86
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expand_userid
      functionSourceFile: '/src/krb5/src/lib/krb5/os/expand_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - asprintf
        - getuid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'expand_path.c:294,45'
          Dst:             getuid
        - Src:             'expand_path.c:294,9'
          Dst:             asprintf
    - functionName:    getuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expand_temp_folder
      functionSourceFile: '/src/krb5/src/lib/krb5/os/expand_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - secure_getenv
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'expand_path.c:283,13'
          Dst:             secure_getenv
        - Src:             'expand_path.c:284,12'
          Dst:             strdup
    - 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:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expand_username
      functionSourceFile: '/src/krb5/src/lib/krb5/os/expand_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          79
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - dgettext
        - geteuid
        - getpwuid_r
        - krb5_set_error_message
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'expand_path.c:311,18'
          Dst:             geteuid
        - Src:             'expand_path.c:315,9'
          Dst:             getpwuid_r
        - Src:             'expand_path.c:316,36'
          Dst:             dgettext
        - Src:             'expand_path.c:316,9'
          Dst:             krb5_set_error_message
        - Src:             'expand_path.c:320,12'
          Dst:             strdup
    - functionName:    geteuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expand_euid
      functionSourceFile: '/src/krb5/src/lib/krb5/os/expand_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - asprintf
        - geteuid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'expand_path.c:302,45'
          Dst:             geteuid
        - Src:             'expand_path.c:302,9'
          Dst:             asprintf
    - functionName:    expand_path
      functionSourceFile: '/src/krb5/src/lib/krb5/os/expand_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 269
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'expand_path.c:270,12'
          Dst:             strdup
    - functionName:    expand_extra_token
      functionSourceFile: '/src/krb5/src/lib/krb5/os/expand_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand_path.c:334,12'
          Dst:             strdup
    - functionName:    free_extra_tokens
      functionSourceFile: '/src/krb5/src/lib/krb5/os/expand_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          49
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expand_token
      functionSourceFile: '/src/krb5/src/lib/krb5/os/expand_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 397
      functionLinenumberEnd: 423
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          189
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - dgettext
        - expand_extra_token
        - krb5_set_error_message
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand_path.c:405,36'
          Dst:             dgettext
        - Src:             'expand_path.c:405,9'
          Dst:             krb5_set_error_message
        - Src:             'expand_path.c:410,13'
          Dst:             strncmp
        - Src:             'expand_path.c:411,20'
          Dst:             expand_extra_token
        - Src:             'expand_path.c:415,14'
          Dst:             strncmp
        - Src:             'expand_path.c:421,32'
          Dst:             dgettext
        - Src:             'expand_path.c:421,5'
          Dst:             krb5_set_error_message
    - 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:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5_expand_path_tokens_extra
      functionSourceFile: '/src/krb5/src/lib/krb5/os/expand_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 454
      functionLinenumberEnd: 545
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          252
      EdgeCount:       49
      CyclomaticComplexity: 14
      functionsReached:
        - dgettext
        - expand_token
        - free_extra_tokens
        - k5_buf_add
        - k5_buf_add_len
        - k5_buf_cstring
        - k5_buf_free
        - k5_buf_init_dynamic
        - k5calloc
        - krb5_set_error_message
        - strchr
        - strdup
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'expand_path.c:465,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'expand_path.c:477,24'
          Dst:             k5calloc
        - Src:             'expand_path.c:482,31'
          Dst:             strdup
        - Src:             'expand_path.c:496,21'
          Dst:             strstr
        - Src:             'expand_path.c:498,13'
          Dst:             k5_buf_add
        - Src:             'expand_path.c:501,9'
          Dst:             k5_buf_add_len
        - Src:             'expand_path.c:504,19'
          Dst:             strchr
        - Src:             'expand_path.c:507,37'
          Dst:             dgettext
        - Src:             'expand_path.c:507,13'
          Dst:             krb5_set_error_message
        - Src:             'expand_path.c:512,15'
          Dst:             expand_token
        - Src:             'expand_path.c:516,9'
          Dst:             k5_buf_add
        - Src:             'expand_path.c:521,12'
          Dst:             k5_buf_cstring
        - Src:             'expand_path.c:542,5'
          Dst:             k5_buf_free
        - Src:             'expand_path.c:543,5'
          Dst:             free_extra_tokens
    - functionName:    strstr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_expand_path_tokens
      functionSourceFile: '/src/krb5/src/lib/krb5/os/expand_path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_expand_path_tokens_extra
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'expand_path.c:433,12'
          Dst:             k5_expand_path_tokens_extra
    - functionName:    default_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    get_modules
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          82
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - hostrealm_dns_initvt
        - hostrealm_domain_initvt
        - hostrealm_profile_initvt
        - hostrealm_registry_initvt
        - k5_plugin_load_all
        - k5_plugin_register
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:78,11'
          Dst:             k5_plugin_register
        - Src:             'hostrealm.c:78,11'
          Dst:             hostrealm_registry_initvt
        - Src:             'hostrealm.c:82,11'
          Dst:             k5_plugin_register
        - Src:             'hostrealm.c:82,11'
          Dst:             hostrealm_profile_initvt
        - Src:             'hostrealm.c:86,11'
          Dst:             k5_plugin_register
        - Src:             'hostrealm.c:86,11'
          Dst:             hostrealm_dns_initvt
        - Src:             'hostrealm.c:89,11'
          Dst:             k5_plugin_register
        - Src:             'hostrealm.c:89,11'
          Dst:             hostrealm_domain_initvt
        - Src:             'hostrealm.c:93,12'
          Dst:             k5_plugin_load_all
    - functionName:    free_handles
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_hostrealm_free_context
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 544
      functionLinenumberEnd: 547
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - free_handles
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:545,5'
          Dst:             free_handles
    - functionName:    krb5_set_default_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 517
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          85
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:528,34'
          Dst:             strdup
    - functionName:    get_default_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 463
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          128
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - default_realm
        - free_list
        - load_hostrealm_modules
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:470,15'
          Dst:             load_hostrealm_modules
        - Src:             'hostrealm.c:477,15'
          Dst:             default_realm
        - Src:             'hostrealm.c:482,30'
          Dst:             strdup
        - Src:             'hostrealm.c:486,13'
          Dst:             free_list
    - functionName:    load_hostrealm_modules
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         35
      ICount:          211
      EdgeCount:       45
      CyclomaticComplexity: 12
      functionsReached:
        - free_handles
        - get_modules
        - k5_plugin_free_modules
        - k5alloc
        - krb5int_trace
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:105,11'
          Dst:             get_modules
        - Src:             'hostrealm.c:111,12'
          Dst:             k5alloc
        - Src:             'hostrealm.c:118,18'
          Dst:             k5alloc
        - Src:             'hostrealm.c:123,13'
          Dst:             krb5int_trace
        - Src:             'hostrealm.c:132,17'
          Dst:             krb5int_trace
        - Src:             'hostrealm.c:147,5'
          Dst:             k5_plugin_free_modules
        - Src:             'hostrealm.c:148,5'
          Dst:             free_handles
    - functionName:    free_list
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_host_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 457
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_default_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 538
      functionLinenumberEnd: 540
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_default_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 513
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          81
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - get_default_realm
        - strdup
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:507,15'
          Dst:             get_default_realm
        - Src:             'hostrealm.c:511,18'
          Dst:             strdup
    - functionName:    fallback_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    krb5_get_fallback_host_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          155
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - clean_hostname
        - copy_list
        - fallback_realm
        - free_list
        - k5_make_realmlist
        - k5memdup0
        - krb5_free_default_realm
        - krb5_get_default_realm
        - load_hostrealm_modules
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:411,12'
          Dst:             k5memdup0
        - Src:             'hostrealm.c:414,11'
          Dst:             clean_hostname
        - Src:             'hostrealm.c:420,15'
          Dst:             load_hostrealm_modules
        - Src:             'hostrealm.c:427,15'
          Dst:             fallback_realm
        - Src:             'hostrealm.c:429,19'
          Dst:             copy_list
        - Src:             'hostrealm.c:430,13'
          Dst:             free_list
        - Src:             'hostrealm.c:438,11'
          Dst:             krb5_get_default_realm
        - Src:             'hostrealm.c:441,11'
          Dst:             k5_make_realmlist
        - Src:             'hostrealm.c:442,5'
          Dst:             krb5_free_default_realm
    - functionName:    clean_hostname
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          141
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - __ctype_b_loc
        - krb5int_get_fq_local_hostname
        - strdup
        - strlen
        - tolower
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:292,21'
          Dst:             strdup
        - Src:             'hostrealm.c:296,15'
          Dst:             krb5int_get_fq_local_hostname
        - Src:             'hostrealm.c:303,13'
          Dst:             __ctype_b_loc
        - Src:             'hostrealm.c:304,18'
          Dst:             tolower
        - Src:             'hostrealm.c:308,9'
          Dst:             strlen
    - functionName:    copy_list
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          95
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - krb5_free_host_realm
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:199,12'
          Dst:             calloc
        - Src:             'hostrealm.c:203,19'
          Dst:             strdup
        - Src:             'hostrealm.c:205,13'
          Dst:             krb5_free_host_realm
    - functionName:    k5_make_realmlist
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - strdup
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:348,14'
          Dst:             calloc
        - Src:             'hostrealm.c:351,17'
          Dst:             strdup
    - functionName:    krb5int_get_fq_local_hostname
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          80
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - gethostname
        - krb5int_freeaddrinfo
        - krb5int_getaddrinfo
        - strdup
        - translate_gai_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:265,9'
          Dst:             gethostname
        - Src:             'hostrealm.c:266,16'
          Dst:             __errno_location
        - Src:             'hostrealm.c:270,11'
          Dst:             krb5int_getaddrinfo
        - Src:             'hostrealm.c:272,16'
          Dst:             translate_gai_error
        - Src:             'hostrealm.c:274,9'
          Dst:             krb5int_freeaddrinfo
        - Src:             'hostrealm.c:277,21'
          Dst:             strdup
        - Src:             'hostrealm.c:278,5'
          Dst:             krb5int_freeaddrinfo
    - 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:    26
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tolower
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gethostname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __errno_location
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    130
      BranchProfiles:  []
      Callsites:       []
    - functionName:    translate_gai_error
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          86
      EdgeCount:       32
      CyclomaticComplexity: 17
      functionsReached:
        - __errno_location
        - abort
      functionUses:    1
      BranchProfiles:
        - Branch String:   'hostrealm.c:216,5'
          Branch Sides:    []
      Callsites:
        - Src:             'hostrealm.c:247,16'
          Dst:             __errno_location
        - Src:             'hostrealm.c:250,5'
          Dst:             abort
    - 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:    43
      BranchProfiles:  []
      Callsites:       []
    - functionName:    host_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_host_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 362
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          120
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - clean_hostname
        - copy_list
        - free_list
        - host_realm
        - k5_make_realmlist
        - load_hostrealm_modules
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:370,15'
          Dst:             load_hostrealm_modules
        - Src:             'hostrealm.c:375,11'
          Dst:             clean_hostname
        - Src:             'hostrealm.c:381,15'
          Dst:             host_realm
        - Src:             'hostrealm.c:383,19'
          Dst:             copy_list
        - Src:             'hostrealm.c:384,13'
          Dst:             free_list
        - Src:             'hostrealm.c:393,11'
          Dst:             k5_make_realmlist
    - functionName:    k5_is_numeric_address
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          89
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - strchr
        - strlen
        - strspn
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm.c:325,9'
          Dst:             strspn
        - Src:             'hostrealm.c:325,41'
          Dst:             strlen
        - Src:             'hostrealm.c:335,9'
          Dst:             strchr
    - functionName:    strspn
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    txt_lookup
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          72
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - k5_try_realm_txt_rr
        - strchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm_dns.c:53,13'
          Dst:             k5_try_realm_txt_rr
        - Src:             'hostrealm_dns.c:55,16'
          Dst:             strchr
    - functionName:    dns_free_realmlist
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_free_host_realm
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm_dns.c:115,5'
          Dst:             krb5_free_host_realm
    - functionName:    dns_default_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          85
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - _krb5_use_dns_realm
        - k5_make_realmlist
        - k5_try_realm_txt_rr
        - krb5int_get_fq_local_hostname
        - txt_lookup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm_dns.c:90,10'
          Dst:             _krb5_use_dns_realm
        - Src:             'hostrealm_dns.c:93,11'
          Dst:             krb5int_get_fq_local_hostname
        - Src:             'hostrealm_dns.c:99,13'
          Dst:             txt_lookup
        - Src:             'hostrealm_dns.c:102,15'
          Dst:             k5_try_realm_txt_rr
        - Src:             'hostrealm_dns.c:106,11'
          Dst:             k5_make_realmlist
    - functionName:    dns_fallback_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _krb5_use_dns_realm
        - k5_is_numeric_address
        - k5_make_realmlist
        - txt_lookup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm_dns.c:70,10'
          Dst:             _krb5_use_dns_realm
        - Src:             'hostrealm_dns.c:70,42'
          Dst:             k5_is_numeric_address
        - Src:             'hostrealm_dns.c:74,13'
          Dst:             txt_lookup
        - Src:             'hostrealm_dns.c:77,11'
          Dst:             k5_make_realmlist
    - functionName:    hostrealm_dns_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          27
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    string2data
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2253
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2254,27'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2254,12'
          Dst:             make_data
    - functionName:    domain_free_realmlist
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_domain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_free_host_realm
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm_domain.c:115,5'
          Dst:             krb5_free_host_realm
    - functionName:    domain_fallback_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_domain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          191
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - __ctype_b_loc
        - k5_free_serverlist
        - k5_is_numeric_address
        - k5_locate_kdc
        - k5_make_realmlist
        - profile_get_integer
        - strchr
        - strdup
        - string2data
        - toupper
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm_domain.c:58,9'
          Dst:             k5_is_numeric_address
        - Src:             'hostrealm_domain.c:62,13'
          Dst:             strdup
        - Src:             'hostrealm_domain.c:66,13'
          Dst:             __ctype_b_loc
        - Src:             'hostrealm_domain.c:67,18'
          Dst:             toupper
        - Src:             'hostrealm_domain.c:81,11'
          Dst:             profile_get_integer
        - Src:             'hostrealm_domain.c:86,35'
          Dst:             strchr
        - Src:             'hostrealm_domain.c:87,18'
          Dst:             string2data
        - Src:             'hostrealm_domain.c:88,13'
          Dst:             k5_locate_kdc
        - Src:             'hostrealm_domain.c:89,13'
          Dst:             k5_free_serverlist
        - Src:             'hostrealm_domain.c:90,19'
          Dst:             k5_make_realmlist
        - Src:             'hostrealm_domain.c:100,11'
          Dst:             strchr
        - Src:             'hostrealm_domain.c:102,15'
          Dst:             k5_make_realmlist
    - functionName:    toupper
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hostrealm_domain_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_domain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_free_realmlist
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_profile.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_free_host_realm
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm_profile.c:103,5'
          Dst:             krb5_free_host_realm
    - functionName:    profile_default_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_profile.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          59
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_make_realmlist
        - profile_get_string
        - profile_release_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm_profile.c:88,11'
          Dst:             profile_get_string
        - Src:             'hostrealm_profile.c:94,11'
          Dst:             k5_make_realmlist
        - Src:             'hostrealm_profile.c:95,5'
          Dst:             profile_release_string
    - functionName:    profile_host_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_profile.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          101
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - k5_is_numeric_address
        - k5_make_realmlist
        - profile_get_string
        - profile_release_string
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm_profile.c:60,9'
          Dst:             k5_is_numeric_address
        - Src:             'hostrealm_profile.c:65,15'
          Dst:             profile_get_string
        - Src:             'hostrealm_profile.c:70,19'
          Dst:             k5_make_realmlist
        - Src:             'hostrealm_profile.c:71,13'
          Dst:             profile_release_string
        - Src:             'hostrealm_profile.c:64,57'
          Dst:             strchr
    - functionName:    hostrealm_profile_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_profile.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          27
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    registry_free_realmlist
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_free_host_realm
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hostrealm_registry.c:122,5'
          Dst:             krb5_free_host_realm
    - functionName:    registry_default_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hostrealm_registry_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostrealm_registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_kdc_config_file
      functionSourceFile: '/src/krb5/src/lib/krb5/os/init_os_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          105
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - secure_getenv
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init_os_ctx.c:346,12'
          Dst:             secure_getenv
        - Src:             'init_os_ctx.c:357,19'
          Dst:             strdup
    - functionName:    k5_os_free_context
      functionSourceFile: '/src/krb5/src/lib/krb5/os/init_os_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 513
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          81
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - k5_free_preauth_context
        - krb5int_close_plugin_dirs
        - profile_abandon
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init_os_ctx.c:500,9'
          Dst:             profile_abandon
        - Src:             'init_os_ctx.c:505,9'
          Dst:             k5_free_preauth_context
        - Src:             'init_os_ctx.c:508,5'
          Dst:             krb5int_close_plugin_dirs
    - functionName:    free_filespecs
      functionSourceFile: '/src/krb5/src/lib/krb5/os/init_os_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          45
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_free_config_files
      functionSourceFile: '/src/krb5/src/lib/krb5/os/init_os_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 481
      functionLinenumberEnd: 483
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - free_filespecs
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'init_os_ctx.c:482,5'
          Dst:             free_filespecs
    - functionName:    os_get_default_config_files
      functionSourceFile: '/src/krb5/src/lib/krb5/os/init_os_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          224
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached:
        - secure_getenv
        - strchr
        - strlen
        - strncpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'init_os_ctx.c:300,20'
          Dst:             secure_getenv
        - Src:             'init_os_ctx.c:316,33'
          Dst:             strchr
        - Src:             'init_os_ctx.c:316,57'
          Dst:             strlen
        - Src:             'init_os_ctx.c:325,9'
          Dst:             strncpy
    - functionName:    strncpy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_default_config_files
      functionSourceFile: '/src/krb5/src/lib/krb5/os/init_os_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 473
      functionLinenumberEnd: 477
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - os_get_default_config_files
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'init_os_ctx.c:476,12'
          Dst:             os_get_default_config_files
    - functionName:    krb5_set_config_files
      functionSourceFile: '/src/krb5/src/lib/krb5/os/init_os_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 455
      functionLinenumberEnd: 469
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - profile_abandon
        - profile_init_flags
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'init_os_ctx.c:459,14'
          Dst:             profile_init_flags
        - Src:             'init_os_ctx.c:465,9'
          Dst:             profile_abandon
    - functionName:    krb5_get_profile
      functionSourceFile: '/src/krb5/src/lib/krb5/os/init_os_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 450
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - profile_copy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'init_os_ctx.c:450,12'
          Dst:             profile_copy
    - functionName:    os_init_paths
      functionSourceFile: '/src/krb5/src/lib/krb5/os/init_os_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 411
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          173
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - add_kdc_config_file
        - free_filespecs
        - os_get_default_config_files
        - profile_init
        - profile_init_flags
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init_os_ctx.c:380,14'
          Dst:             os_get_default_config_files
        - Src:             'init_os_ctx.c:383,18'
          Dst:             add_kdc_config_file
        - Src:             'init_os_ctx.c:386,18'
          Dst:             profile_init_flags
        - Src:             'init_os_ctx.c:391,22'
          Dst:             profile_init
        - Src:             'init_os_ctx.c:395,9'
          Dst:             free_filespecs
    - functionName:    k5_os_init_context
      functionSourceFile: '/src/krb5/src/lib/krb5/os/init_os_ctx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 415
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          87
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - os_init_paths
        - profile_copy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'init_os_ctx.c:438,18'
          Dst:             profile_copy
        - Src:             'init_os_ctx.c:440,18'
          Dst:             os_init_paths
    - functionName:    find_typed_module
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          86
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth.c:76,17'
          Dst:             strcmp
    - functionName:    parse_mapping_value
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 259
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          92
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - k5memdup0
        - strchr
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth.c:240,9'
          Dst:             strchr
        - Src:             'localauth.c:242,16'
          Dst:             strdup
        - Src:             'localauth.c:247,16'
          Dst:             k5memdup0
        - Src:             'localauth.c:250,20'
          Dst:             strdup
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    an2ln_auth_to_local
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 303
      functionLinenumberEnd: 352
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          192
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - an2ln
        - an2ln_default
        - find_typed_module
        - free_lname
        - krb5_get_default_realm
        - parse_mapping_value
        - profile_free_list
        - profile_get_values
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth.c:313,11'
          Dst:             krb5_get_default_realm
        - Src:             'localauth.c:320,11'
          Dst:             profile_get_values
        - Src:             'localauth.c:323,15'
          Dst:             an2ln_default
        - Src:             'localauth.c:329,15'
          Dst:             parse_mapping_value
        - Src:             'localauth.c:332,13'
          Dst:             find_typed_module
        - Src:             'localauth.c:334,19'
          Dst:             an2ln
        - Src:             'localauth.c:336,30'
          Dst:             strdup
        - Src:             'localauth.c:339,17'
          Dst:             free_lname
        - Src:             'localauth.c:350,5'
          Dst:             profile_free_list
    - functionName:    an2ln_default
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          137
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - data_eq_string
        - k5memdup0
        - krb5_get_default_realm
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth.c:273,11'
          Dst:             krb5_get_default_realm
        - Src:             'localauth.c:277,10'
          Dst:             data_eq_string
        - Src:             'localauth.c:281,14'
          Dst:             data_eq_string
        - Src:             'localauth.c:290,18'
          Dst:             k5memdup0
    - functionName:    an2ln
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_lname
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    data_eq_string
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2229
      functionLinenumberEnd: 2231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2230,25'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2231,40'
          Dst:             memcmp
    - functionName:    freestr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    localauth_auth_to_local_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    localauth_default_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 383
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          27
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_conflict
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          96
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - find_typed_module
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth.c:93,20'
          Dst:             find_typed_module
        - Src:             'localauth.c:95,13'
          Dst:             krb5int_trace
    - functionName:    get_modules
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          119
      EdgeCount:       25
      CyclomaticComplexity: 9
      functionsReached:
        - k5_plugin_load_all
        - k5_plugin_register
        - localauth_an2ln_initvt
        - localauth_auth_to_local_initvt
        - localauth_default_initvt
        - localauth_k5login_initvt
        - localauth_names_initvt
        - localauth_rule_initvt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth.c:114,11'
          Dst:             k5_plugin_register
        - Src:             'localauth.c:114,11'
          Dst:             localauth_default_initvt
        - Src:             'localauth.c:118,11'
          Dst:             k5_plugin_register
        - Src:             'localauth.c:118,11'
          Dst:             localauth_rule_initvt
        - Src:             'localauth.c:121,11'
          Dst:             k5_plugin_register
        - Src:             'localauth.c:121,11'
          Dst:             localauth_names_initvt
        - Src:             'localauth.c:124,11'
          Dst:             k5_plugin_register
        - Src:             'localauth.c:124,11'
          Dst:             localauth_auth_to_local_initvt
        - Src:             'localauth.c:128,11'
          Dst:             k5_plugin_register
        - Src:             'localauth.c:128,11'
          Dst:             localauth_k5login_initvt
        - Src:             'localauth.c:132,11'
          Dst:             k5_plugin_register
        - Src:             'localauth.c:132,11'
          Dst:             localauth_an2ln_initvt
        - Src:             'localauth.c:136,11'
          Dst:             k5_plugin_load_all
    - functionName:    free_handles
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_localauth_free_context
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 443
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - free_handles
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth.c:441,5'
          Dst:             free_handles
    - functionName:    krb5_aname_to_localname
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          130
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - an2ln
        - free_lname
        - krb5int_strlcpy
        - load_localauth_modules
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth.c:418,15'
          Dst:             load_localauth_modules
        - Src:             'localauth.c:426,15'
          Dst:             an2ln
        - Src:             'localauth.c:428,18'
          Dst:             krb5int_strlcpy
        - Src:             'localauth.c:429,13'
          Dst:             free_lname
    - functionName:    load_localauth_modules
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         37
      ICount:          221
      EdgeCount:       48
      CyclomaticComplexity: 13
      functionsReached:
        - check_conflict
        - free_handles
        - get_modules
        - k5_plugin_free_modules
        - k5alloc
        - k5calloc
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth.c:152,11'
          Dst:             get_modules
        - Src:             'localauth.c:158,12'
          Dst:             k5calloc
        - Src:             'localauth.c:165,18'
          Dst:             k5alloc
        - Src:             'localauth.c:170,13'
          Dst:             krb5int_trace
        - Src:             'localauth.c:175,13'
          Dst:             check_conflict
        - Src:             'localauth.c:182,17'
          Dst:             krb5int_trace
        - Src:             'localauth.c:197,5'
          Dst:             k5_plugin_free_modules
        - Src:             'localauth.c:198,5'
          Dst:             free_handles
    - functionName:    userok
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_kuserok
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 388
      functionLinenumberEnd: 406
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          99
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - load_localauth_modules
        - userok
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth.c:393,47'
          Dst:             load_localauth_modules
        - Src:             'localauth.c:399,15'
          Dst:             userok
    - functionName:    an2ln_userok
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_an2ln.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_aname_to_localname
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth_an2ln.c:46,11'
          Dst:             krb5_aname_to_localname
        - Src:             'localauth_an2ln.c:47,25'
          Dst:             strcmp
    - functionName:    localauth_an2ln_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_an2ln.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_k5login_filename
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_k5login.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          95
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - asprintf
        - profile_get_string
        - profile_release_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth_k5login.c:59,11'
          Dst:             profile_get_string
        - Src:             'localauth_k5login.c:66,13'
          Dst:             asprintf
        - Src:             'localauth_k5login.c:70,13'
          Dst:             asprintf
        - Src:             'localauth_k5login.c:72,9'
          Dst:             profile_release_string
    - functionName:    userok_k5login
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_k5login.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          286
      EdgeCount:       71
      CyclomaticComplexity: 21
      functionsReached:
        - __errno_location
        - access
        - fclose
        - fcntl
        - fgets
        - fileno
        - fopen
        - fstat
        - get_k5login_filename
        - getc
        - getpwnam_r
        - krb5_unparse_name
        - profile_get_boolean
        - strcmp
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth_k5login.c:94,11'
          Dst:             profile_get_boolean
        - Src:             'localauth_k5login.c:101,11'
          Dst:             getpwnam_r
        - Src:             'localauth_k5login.c:106,11'
          Dst:             get_k5login_filename
        - Src:             'localauth_k5login.c:110,9'
          Dst:             access
        - Src:             'localauth_k5login.c:115,11'
          Dst:             krb5_unparse_name
        - Src:             'localauth_k5login.c:119,10'
          Dst:             fopen
        - Src:             'localauth_k5login.c:121,15'
          Dst:             __errno_location
        - Src:             'localauth_k5login.c:124,5'
          Dst:             fileno
        - Src:             'localauth_k5login.c:124,5'
          Dst:             fcntl
        - Src:             'localauth_k5login.c:128,15'
          Dst:             fileno
        - Src:             'localauth_k5login.c:128,9'
          Dst:             fstat
        - Src:             'localauth_k5login.c:129,15'
          Dst:             __errno_location
        - Src:             'localauth_k5login.c:138,12'
          Dst:             fgets
        - Src:             'localauth_k5login.c:139,19'
          Dst:             strrchr
        - Src:             'localauth_k5login.c:142,13'
          Dst:             strcmp
        - Src:             'localauth_k5login.c:148,30'
          Dst:             getc
        - Src:             'localauth_k5login.c:158,9'
          Dst:             fclose
    - functionName:    getpwnam_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    3
      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:    8
      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:    19
      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:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fstat
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strrchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getc
      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:    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:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    localauth_k5login_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_k5login.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freestr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_names.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    an2ln_names
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_names.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          135
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - krb5_get_default_realm
        - krb5_unparse_name_flags
        - profile_free_list
        - profile_get_values
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth_names.c:55,11'
          Dst:             krb5_get_default_realm
        - Src:             'localauth_names.c:58,11'
          Dst:             krb5_unparse_name_flags
        - Src:             'localauth_names.c:67,11'
          Dst:             profile_get_values
        - Src:             'localauth_names.c:75,18'
          Dst:             strdup
        - Src:             'localauth_names.c:82,5'
          Dst:             profile_free_list
    - functionName:    localauth_names_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_names.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    do_replacement
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_rule.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          86
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - k5_buf_add
        - k5_buf_add_len
        - k5_buf_cstring
        - k5_buf_init_dynamic
        - regcomp
        - regexec
        - regfree
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth_rule.c:119,9'
          Dst:             regcomp
        - Src:             'localauth_rule.c:121,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'localauth_rule.c:122,12'
          Dst:             regexec
        - Src:             'localauth_rule.c:123,9'
          Dst:             k5_buf_add_len
        - Src:             'localauth_rule.c:124,9'
          Dst:             k5_buf_add
        - Src:             'localauth_rule.c:129,5'
          Dst:             regfree
        - Src:             'localauth_rule.c:130,5'
          Dst:             k5_buf_add
        - Src:             'localauth_rule.c:131,15'
          Dst:             k5_buf_cstring
    - functionName:    regcomp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regexec
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regfree
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    aname_replacer
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_rule.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          220
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - __ctype_b_loc
        - do_replacement
        - k5memdup0
        - strchr
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth_rule.c:150,15'
          Dst:             strdup
        - Src:             'localauth_rule.c:158,16'
          Dst:             __ctype_b_loc
        - Src:             'localauth_rule.c:162,53'
          Dst:             strchr
        - Src:             'localauth_rule.c:163,21'
          Dst:             strchr
        - Src:             'localauth_rule.c:170,16'
          Dst:             k5memdup0
        - Src:             'localauth_rule.c:174,16'
          Dst:             k5memdup0
        - Src:             'localauth_rule.c:184,15'
          Dst:             do_replacement
    - functionName:    aname_do_match
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_rule.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          120
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - k5memdup0
        - regcomp
        - regexec
        - regfree
        - strchr
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth_rule.c:90,12'
          Dst:             strchr
        - Src:             'localauth_rule.c:93,14'
          Dst:             k5memdup0
        - Src:             'localauth_rule.c:98,12'
          Dst:             regcomp
        - Src:             'localauth_rule.c:99,12'
          Dst:             regexec
        - Src:             'localauth_rule.c:100,47'
          Dst:             strlen
        - Src:             'localauth_rule.c:102,5'
          Dst:             regfree
    - functionName:    aname_get_selstring
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_rule.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          215
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - k5_buf_add_len
        - k5_buf_cstring
        - k5_buf_free
        - k5_buf_init_dynamic
        - krb5_unparse_name_flags
        - strcspn
        - strtol
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth_rule.c:223,16'
          Dst:             krb5_unparse_name_flags
        - Src:             'localauth_rule.c:230,5'
          Dst:             __errno_location
        - Src:             'localauth_rule.c:231,17'
          Dst:             strtol
        - Src:             'localauth_rule.c:232,9'
          Dst:             __errno_location
        - Src:             'localauth_rule.c:239,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'localauth_rule.c:242,16'
          Dst:             strcspn
        - Src:             'localauth_rule.c:243,9'
          Dst:             k5_buf_add_len
        - Src:             'localauth_rule.c:249,9'
          Dst:             __errno_location
        - Src:             'localauth_rule.c:250,15'
          Dst:             strtol
        - Src:             'localauth_rule.c:251,13'
          Dst:             __errno_location
        - Src:             'localauth_rule.c:255,9'
          Dst:             k5_buf_add_len
        - Src:             'localauth_rule.c:260,9'
          Dst:             k5_buf_free
        - Src:             'localauth_rule.c:264,22'
          Dst:             k5_buf_cstring
    - functionName:    strtol
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcspn
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freestr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_rule.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    an2ln_rule
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_rule.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          90
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - aname_do_match
        - aname_get_selstring
        - aname_replacer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localauth_rule.c:285,11'
          Dst:             aname_get_selstring
        - Src:             'localauth_rule.c:291,15'
          Dst:             aname_do_match
        - Src:             'localauth_rule.c:297,11'
          Dst:             aname_replacer
    - functionName:    localauth_rule_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localauth_rule.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 321
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          27
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    server_list_contains
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          144
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - memcmp
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:244,13'
          Dst:             strcmp
        - Src:             'locate_kdc.c:248,13'
          Dst:             memcmp
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    mark_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 937
      functionLinenumberEnd: 944
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - server_list_contains
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:942,27'
          Dst:             server_list_contains
    - functionName:    locate_srv_dns_1
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 396
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          148
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - add_host_to_list
        - get_sitename
        - krb5int_free_srv_dns_data
        - krb5int_make_srv_query_realm
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:367,12'
          Dst:             get_sitename
        - Src:             'locate_kdc.c:370,12'
          Dst:             krb5int_make_srv_query_realm
        - Src:             'locate_kdc.c:386,22'
          Dst:             strcmp
        - Src:             'locate_kdc.c:387,16'
          Dst:             add_host_to_list
        - Src:             'locate_kdc.c:394,5'
          Dst:             krb5int_free_srv_dns_data
    - functionName:    get_sitename
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5memdup0
        - profile_get_string
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:108,16'
          Dst:             k5memdup0
        - Src:             'locate_kdc.c:111,11'
          Dst:             profile_get_string
    - functionName:    add_host_to_list
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          110
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - new_server_entry
        - strdup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:193,13'
          Dst:             new_server_entry
        - Src:             'locate_kdc.c:198,23'
          Dst:             strdup
        - Src:             'locate_kdc.c:202,27'
          Dst:             strdup
    - functionName:    new_server_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          59
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:155,18'
          Dst:             realloc
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    parse_uri_fields
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 593
      functionLinenumberEnd: 644
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          201
      EdgeCount:       48
      CyclomaticComplexity: 14
      functionsReached:
        - strncasecmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:602,9'
          Dst:             strncasecmp
        - Src:             'locate_kdc.c:623,9'
          Dst:             strncasecmp
        - Src:             'locate_kdc.c:626,16'
          Dst:             strncasecmp
        - Src:             'locate_kdc.c:629,16'
          Dst:             strncasecmp
    - functionName:    locate_uri
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 655
      functionLinenumberEnd: 711
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          209
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - add_host_to_list
        - get_sitename
        - k5_make_uri_query
        - k5_parse_host_string
        - krb5int_free_srv_dns_data
        - parse_uri_fields
        - parse_uri_if_https
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:663,11'
          Dst:             get_sitename
        - Src:             'locate_kdc.c:666,11'
          Dst:             k5_make_uri_query
        - Src:             'locate_kdc.c:675,9'
          Dst:             parse_uri_fields
        - Src:             'locate_kdc.c:688,13'
          Dst:             parse_uri_if_https
        - Src:             'locate_kdc.c:693,15'
          Dst:             k5_parse_host_string
        - Src:             'locate_kdc.c:702,15'
          Dst:             add_host_to_list
        - Src:             'locate_kdc.c:709,5'
          Dst:             krb5int_free_srv_dns_data
    - functionName:    parse_uri_if_https
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strchr
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:222,9'
          Dst:             strncmp
        - Src:             'locate_kdc.c:226,14'
          Dst:             strchr
    - functionName:    use_dns_uri
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - profile_get_boolean
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:81,11'
          Dst:             profile_get_boolean
    - functionName:    locate_srv_conf_1
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          283
      EdgeCount:       56
      CyclomaticComplexity: 17
      functionsReached:
        - Tprintf
        - add_addr_to_list
        - add_host_to_list
        - error_message
        - k5_parse_host_string
        - k5memdup0
        - krb5int_strlcpy
        - parse_uri_if_https
        - profile_free_list
        - profile_get_values
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:265,5'
          Dst:             Tprintf
        - Src:             'locate_kdc.c:268,16'
          Dst:             k5memdup0
        - Src:             'locate_kdc.c:276,12'
          Dst:             profile_get_values
        - Src:             'locate_kdc.c:277,37'
          Dst:             strcmp
        - Src:             'locate_kdc.c:279,16'
          Dst:             profile_get_values
        - Src:             'locate_kdc.c:283,52'
          Dst:             error_message
        - Src:             'locate_kdc.c:283,9'
          Dst:             Tprintf
        - Src:             'locate_kdc.c:295,9'
          Dst:             Tprintf
        - Src:             'locate_kdc.c:302,17'
          Dst:             krb5int_strlcpy
        - Src:             'locate_kdc.c:307,20'
          Dst:             add_addr_to_list
        - Src:             'locate_kdc.c:315,9'
          Dst:             parse_uri_if_https
        - Src:             'locate_kdc.c:318,16'
          Dst:             k5_parse_host_string
        - Src:             'locate_kdc.c:324,16'
          Dst:             add_host_to_list
        - Src:             'locate_kdc.c:336,5'
          Dst:             profile_free_list
    - functionName:    Tprintf
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_addr_to_list
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          68
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - new_server_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:172,13'
          Dst:             new_server_entry
    - functionName:    module_callback
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 437
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          108
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - add_addr_to_list
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:430,9'
          Dst:             add_addr_to_list
    - functionName:    dns_locate_server_srv
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 759
      functionLinenumberEnd: 798
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          172
      EdgeCount:       42
      CyclomaticComplexity: 9
      functionsReached:
        - _krb5_use_dns_kdc
        - krb5int_trace
        - locate_srv_dns_1
      functionUses:    1
      BranchProfiles:
        - Branch String:   'locate_kdc.c:767,5'
          Branch Sides:    []
      Callsites:
        - Src:             'locate_kdc.c:761,19'
          Dst:             _krb5_use_dns_kdc
        - Src:             'locate_kdc.c:789,16'
          Dst:             locate_srv_dns_1
        - Src:             'locate_kdc.c:792,16'
          Dst:             locate_srv_dns_1
        - Src:             'locate_kdc.c:795,9'
          Dst:             krb5int_trace
    - functionName:    _krb5_use_dns_kdc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - maybe_use_dns
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:90,12'
          Dst:             maybe_use_dns
    - functionName:    maybe_use_dns
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          86
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - _krb5_conf_boolean
        - profile_get_string
        - profile_release_string
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:58,12'
          Dst:             profile_get_string
        - Src:             'locate_kdc.c:61,16'
          Dst:             profile_get_string
        - Src:             'locate_kdc.c:70,15'
          Dst:             _krb5_conf_boolean
        - Src:             'locate_kdc.c:71,5'
          Dst:             profile_release_string
    - functionName:    dns_locate_server_uri
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 717
      functionLinenumberEnd: 753
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          124
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - _krb5_use_dns_kdc
        - krb5int_trace
        - locate_uri
        - use_dns_uri
      functionUses:    1
      BranchProfiles:
        - Branch String:   'locate_kdc.c:726,5'
          Branch Sides:    []
      Callsites:
        - Src:             'locate_kdc.c:723,10'
          Dst:             _krb5_use_dns_kdc
        - Src:             'locate_kdc.c:723,41'
          Dst:             use_dns_uri
        - Src:             'locate_kdc.c:746,11'
          Dst:             locate_uri
        - Src:             'locate_kdc.c:750,9'
          Dst:             krb5int_trace
    - functionName:    prof_locate_server
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 542
      functionLinenumberEnd: 577
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          89
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - getservbyname
        - locate_srv_conf_1
      functionUses:    1
      BranchProfiles:
        - Branch String:   'locate_kdc.c:547,5'
          Branch Sides:    []
      Callsites:
        - Src:             'locate_kdc.c:564,16'
          Dst:             getservbyname
        - Src:             'locate_kdc.c:575,12'
          Dst:             locate_srv_conf_1
    - functionName:    getservbyname
      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:    module_locate_server
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 443
      functionLinenumberEnd: 536
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          301
      EdgeCount:       49
      CyclomaticComplexity: 15
      functionsReached:
        - Tprintf
        - error_message
        - k5memdup0
        - krb5_free_error_message
        - krb5_get_error_message
        - krb5int_free_plugin_dir_data
        - krb5int_get_plugin_dir_data
        - krb5int_open_plugin_dirs
        - module_callback
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:454,5'
          Dst:             Tprintf
        - Src:             'locate_kdc.c:458,16'
          Dst:             krb5int_open_plugin_dirs
        - Src:             'locate_kdc.c:464,12'
          Dst:             krb5int_get_plugin_dir_data
        - Src:             'locate_kdc.c:468,24'
          Dst:             krb5_get_error_message
        - Src:             'locate_kdc.c:467,9'
          Dst:             Tprintf
        - Src:             'locate_kdc.c:469,9'
          Dst:             krb5_free_error_message
        - Src:             'locate_kdc.c:474,9'
          Dst:             krb5int_free_plugin_dir_data
        - Src:             'locate_kdc.c:477,14'
          Dst:             k5memdup0
        - Src:             'locate_kdc.c:479,9'
          Dst:             krb5int_free_plugin_dir_data
        - Src:             'locate_kdc.c:486,9'
          Dst:             Tprintf
        - Src:             'locate_kdc.c:495,16'
          Dst:             module_callback
        - Src:             'locate_kdc.c:499,20'
          Dst:             module_callback
        - Src:             'locate_kdc.c:508,13'
          Dst:             Tprintf
        - Src:             'locate_kdc.c:515,27'
          Dst:             error_message
        - Src:             'locate_kdc.c:514,13'
          Dst:             Tprintf
        - Src:             'locate_kdc.c:517,13'
          Dst:             krb5int_free_plugin_dir_data
        - Src:             'locate_kdc.c:523,9'
          Dst:             Tprintf
        - Src:             'locate_kdc.c:525,9'
          Dst:             krb5int_free_plugin_dir_data
        - Src:             'locate_kdc.c:528,5'
          Dst:             Tprintf
        - Src:             'locate_kdc.c:531,5'
          Dst:             Tprintf
        - Src:             'locate_kdc.c:534,5'
          Dst:             krb5int_free_plugin_dir_data
    - functionName:    k5_kdclist_free
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1014
      functionLinenumberEnd: 1026
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mark_matching_servers
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 951
      functionLinenumberEnd: 968
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          135
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - data_eq
        - mark_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:955,9'
          Dst:             mark_entry
        - Src:             'locate_kdc.c:962,14'
          Dst:             data_eq
        - Src:             'locate_kdc.c:964,13'
          Dst:             mark_entry
    - functionName:    k5_kdclist_any_replicas
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 974
      functionLinenumberEnd: 1010
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          123
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - k5_free_serverlist
        - locate_server
        - mark_matching_servers
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:995,13'
          Dst:             locate_server
        - Src:             'locate_kdc.c:1002,17'
          Dst:             mark_matching_servers
        - Src:             'locate_kdc.c:1004,9'
          Dst:             k5_free_serverlist
    - functionName:    locate_server
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 811
      functionLinenumberEnd: 846
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          122
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - dns_locate_server_srv
        - dns_locate_server_uri
        - k5_free_serverlist
        - module_locate_server
        - prof_locate_server
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:819,11'
          Dst:             module_locate_server
        - Src:             'locate_kdc.c:824,11'
          Dst:             prof_locate_server
        - Src:             'locate_kdc.c:830,15'
          Dst:             dns_locate_server_uri
        - Src:             'locate_kdc.c:836,15'
          Dst:             dns_locate_server_srv
        - Src:             'locate_kdc.c:841,9'
          Dst:             k5_free_serverlist
    - functionName:    k5_free_serverlist
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_kdclist_add
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 910
      functionLinenumberEnd: 927
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          83
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - krb5int_copy_data_contents
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:914,14'
          Dst:             realloc
        - Src:             'locate_kdc.c:919,11'
          Dst:             krb5int_copy_data_contents
    - functionName:    k5_kdclist_create
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 894
      functionLinenumberEnd: 905
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_locate_kdc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 885
      functionLinenumberEnd: 889
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_locate_server
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:889,12'
          Dst:             k5_locate_server
    - functionName:    k5_locate_server
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 856
      functionLinenumberEnd: 879
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          110
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - dgettext
        - k5_free_serverlist
        - krb5_set_error_message
        - locate_server
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:862,9'
          Dst:             krb5_set_error_message
        - Src:             'locate_kdc.c:867,11'
          Dst:             locate_server
        - Src:             'locate_kdc.c:872,9'
          Dst:             k5_free_serverlist
        - Src:             'locate_kdc.c:874,19'
          Dst:             dgettext
        - Src:             'locate_kdc.c:873,9'
          Dst:             krb5_set_error_message
    - functionName:    _krb5_use_dns_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/locate_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - maybe_use_dns
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'locate_kdc.c:97,12'
          Dst:             maybe_use_dns
    - functionName:    buf_is_printable
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          58
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    padata_type_string
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         42
      ICount:          212
      EdgeCount:       82
      CyclomaticComplexity: 42
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'trace.c:129,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    principal_type_string
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          82
      EdgeCount:       30
      CyclomaticComplexity: 16
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'trace.c:108,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    subfmt
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_buf_add
        - trace_format
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'trace.c:377,11'
          Dst:             trace_format
        - Src:             'trace.c:379,9'
          Dst:             k5_buf_add
    - functionName:    trace_format
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 365
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         273
      ICount:          1553
      EdgeCount:       362
      CyclomaticComplexity: 91
      functionsReached:
        - buf_add_printable
        - buf_add_printable_len
        - hash_bytes
        - k5_buf_add
        - k5_buf_add_fmt
        - k5_buf_add_len
        - k5_buf_cstring
        - k5_buf_init_dynamic
        - k5_print_addr_port
        - k5_strerror_r
        - krb5_cc_get_name
        - krb5_cc_get_type
        - krb5_enctype_to_name
        - krb5_free_error_message
        - krb5_free_unparsed_name
        - krb5_get_error_message
        - krb5_kt_get_name
        - krb5_unparse_name
        - make_data
        - padata_type_string
        - principal_type_string
        - ss2sa
        - strcmp
        - strcspn
        - subfmt
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'trace.c:197,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'trace.c:200,15'
          Dst:             strcspn
        - Src:             'trace.c:201,9'
          Dst:             k5_buf_add_len
        - Src:             'trace.c:205,15'
          Dst:             strcspn
        - Src:             'trace.c:213,13'
          Dst:             strcmp
        - Src:             'trace.c:214,13'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:215,20'
          Dst:             strcmp
        - Src:             'trace.c:216,13'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:217,20'
          Dst:             strcmp
        - Src:             'trace.c:219,13'
          Dst:             buf_add_printable
        - Src:             'trace.c:220,20'
          Dst:             strcmp
        - Src:             'trace.c:224,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:226,17'
          Dst:             buf_add_printable_len
        - Src:             'trace.c:227,20'
          Dst:             strcmp
        - Src:             'trace.c:231,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:234,21'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:236,20'
          Dst:             strcmp
        - Src:             'trace.c:240,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:242,23'
          Dst:             hash_bytes
        - Src:             'trace.c:244,21'
          Dst:             k5_buf_add
        - Src:             'trace.c:247,20'
          Dst:             strcmp
        - Src:             'trace.c:250,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:252,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:254,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:256,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:258,17'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:260,32'
          Dst:             ss2sa
        - Src:             'trace.c:260,13'
          Dst:             k5_print_addr_port
        - Src:             'trace.c:261,13'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:262,20'
          Dst:             strcmp
        - Src:             'trace.c:265,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:267,17'
          Dst:             buf_add_printable_len
        - Src:             'trace.c:268,20'
          Dst:             strcmp
        - Src:             'trace.c:271,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:273,17'
          Dst:             subfmt
        - Src:             'trace.c:274,20'
          Dst:             strcmp
        - Src:             'trace.c:276,13'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:277,17'
          Dst:             k5_strerror_r
        - Src:             'trace.c:278,17'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:279,20'
          Dst:             strcmp
        - Src:             'trace.c:281,17'
          Dst:             krb5_get_error_message
        - Src:             'trace.c:282,13'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:283,13'
          Dst:             krb5_free_error_message
        - Src:             'trace.c:284,20'
          Dst:             strcmp
        - Src:             'trace.c:287,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:289,17'
          Dst:             subfmt
        - Src:             'trace.c:293,20'
          Dst:             strcmp
        - Src:             'trace.c:296,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:298,17'
          Dst:             subfmt
        - Src:             'trace.c:299,20'
          Dst:             strcmp
        - Src:             'trace.c:301,20'
          Dst:             make_data
        - Src:             'trace.c:302,13'
          Dst:             subfmt
        - Src:             'trace.c:304,20'
          Dst:             strcmp
        - Src:             'trace.c:306,17'
          Dst:             krb5_unparse_name
        - Src:             'trace.c:307,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:308,17'
          Dst:             krb5_free_unparsed_name
        - Src:             'trace.c:310,20'
          Dst:             strcmp
        - Src:             'trace.c:311,17'
          Dst:             principal_type_string
        - Src:             'trace.c:312,13'
          Dst:             k5_buf_add
        - Src:             'trace.c:313,20'
          Dst:             strcmp
        - Src:             'trace.c:316,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:319,24'
          Dst:             padata_type_string
        - Src:             'trace.c:321,21'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:323,21'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:326,21'
          Dst:             k5_buf_add
        - Src:             'trace.c:328,20'
          Dst:             strcmp
        - Src:             'trace.c:330,20'
          Dst:             padata_type_string
        - Src:             'trace.c:332,17'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:334,17'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:335,20'
          Dst:             strcmp
        - Src:             'trace.c:337,17'
          Dst:             krb5_enctype_to_name
        - Src:             'trace.c:338,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:340,17'
          Dst:             k5_buf_add_fmt
        - Src:             'trace.c:341,20'
          Dst:             strcmp
        - Src:             'trace.c:344,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:346,17'
          Dst:             subfmt
        - Src:             'trace.c:348,21'
          Dst:             k5_buf_add
        - Src:             'trace.c:350,20'
          Dst:             strcmp
        - Src:             'trace.c:352,30'
          Dst:             krb5_cc_get_type
        - Src:             'trace.c:352,13'
          Dst:             k5_buf_add
        - Src:             'trace.c:353,13'
          Dst:             k5_buf_add
        - Src:             'trace.c:354,30'
          Dst:             krb5_cc_get_name
        - Src:             'trace.c:354,13'
          Dst:             k5_buf_add
        - Src:             'trace.c:355,20'
          Dst:             strcmp
        - Src:             'trace.c:357,17'
          Dst:             krb5_kt_get_name
        - Src:             'trace.c:358,17'
          Dst:             k5_buf_add
        - Src:             'trace.c:359,20'
          Dst:             strcmp
        - Src:             'trace.c:361,13'
          Dst:             subfmt
        - Src:             'trace.c:365,12'
          Dst:             k5_buf_cstring
    - functionName:    buf_add_printable
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - buf_add_printable_len
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'trace.c:84,35'
          Dst:             strlen
        - Src:             'trace.c:84,5'
          Dst:             buf_add_printable_len
    - functionName:    buf_add_printable_len
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          83
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - buf_is_printable
        - k5_buf_add_len
        - snprintf
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'trace.c:66,9'
          Dst:             buf_is_printable
        - Src:             'trace.c:67,9'
          Dst:             k5_buf_add_len
        - Src:             'trace.c:70,17'
          Dst:             buf_is_printable
        - Src:             'trace.c:71,17'
          Dst:             k5_buf_add_len
        - Src:             'trace.c:73,17'
          Dst:             snprintf
        - Src:             'trace.c:75,17'
          Dst:             k5_buf_add_len
    - functionName:    hash_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          72
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - asprintf
        - krb5_free_checksum_contents
        - krb5_k_make_checksum
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'trace.c:93,19'
          Dst:             make_data
        - Src:             'trace.c:96,9'
          Dst:             krb5_k_make_checksum
        - Src:             'trace.c:100,16'
          Dst:             asprintf
        - Src:             'trace.c:101,5'
          Dst:             krb5_free_checksum_contents
    - functionName:    ss2sa
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      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:    23
      BranchProfiles:  []
      Callsites:       []
    - functionName:    file_trace_cb
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 436
      functionLinenumberEnd: 447
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - close
        - strlen
        - write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'trace.c:441,9'
          Dst:             close
        - Src:             'trace.c:446,38'
          Dst:             strlen
        - Src:             'trace.c:446,12'
          Dst:             write
    - functionName:    close
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    35
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_set_trace_callback
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 425
      functionLinenumberEnd: 431
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_trace
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 420
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          98
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - asprintf
        - getpid
        - k5_us_timeofday
        - trace_format
      functionUses:    138
      BranchProfiles:  []
      Callsites:
        - Src:             'trace.c:406,11'
          Dst:             trace_format
        - Src:             'trace.c:409,9'
          Dst:             k5_us_timeofday
        - Src:             'trace.c:411,51'
          Dst:             getpid
        - Src:             'trace.c:411,9'
          Dst:             asprintf
    - 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:    krb5_set_trace_filename
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 465
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - file_trace_cb
        - krb5_set_trace_callback
        - open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'trace.c:458,11'
          Dst:             open
        - Src:             'trace.c:461,16'
          Dst:             __errno_location
        - Src:             'trace.c:464,12'
          Dst:             krb5_set_trace_callback
        - Src:             'trace.c:464,12'
          Dst:             file_trace_cb
    - functionName:    open
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_init_trace
      functionSourceFile: '/src/krb5/src/lib/krb5/os/trace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_set_trace_filename
        - secure_getenv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'trace.c:389,16'
          Dst:             secure_getenv
        - Src:             'trace.c:391,16'
          Dst:             krb5_set_trace_filename
    - functionName:    profile_release_string
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 615
      functionLinenumberEnd: 617
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_results
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 545
      functionLinenumberEnd: 567
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          117
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:549,21'
          Dst:             strdup
        - Src:             'prof_get.c:554,22'
          Dst:             strdup
    - functionName:    is_list_member
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          62
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:109,14'
          Dst:             strcmp
    - functionName:    profile_get_relation_names
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 445
      functionLinenumberEnd: 474
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          100
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - add_to_list
        - end_list
        - init_list
        - is_list_member
        - profile_iterator
        - profile_iterator_create
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:451,19'
          Dst:             profile_iterator_create
        - Src:             'prof_get.c:457,19'
          Dst:             init_list
        - Src:             'prof_get.c:461,23'
          Dst:             profile_iterator
        - Src:             'prof_get.c:463,22'
          Dst:             is_list_member
        - Src:             'prof_get.c:464,13'
          Dst:             add_to_list
        - Src:             'prof_get.c:468,5'
          Dst:             end_list
        - Src:             'prof_get.c:472,5'
          Dst:             end_list
    - functionName:    profile_iterator_create
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 518
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          119
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - profile_node_iterator_create
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:508,18'
          Dst:             profile_node_iterator_create
    - functionName:    init_list
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_iterator
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 571
      functionLinenumberEnd: 611
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          231
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - profile_node_iterator
        - set_results
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:595,18'
          Dst:             set_results
        - Src:             'prof_get.c:603,14'
          Dst:             profile_node_iterator
        - Src:             'prof_get.c:610,12'
          Dst:             set_results
    - functionName:    add_to_list
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          104
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - realloc
        - strdup
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:83,19'
          Dst:             realloc
        - Src:             'prof_get.c:89,14'
          Dst:             strdup
    - functionName:    end_list
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          85
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_get_subsection_names
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 407
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          91
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - add_to_list
        - end_list
        - init_list
        - profile_iterator
        - profile_iterator_create
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:413,19'
          Dst:             profile_iterator_create
        - Src:             'prof_get.c:419,19'
          Dst:             init_list
        - Src:             'prof_get.c:423,23'
          Dst:             profile_iterator
        - Src:             'prof_get.c:426,13'
          Dst:             add_to_list
        - Src:             'prof_get.c:430,5'
          Dst:             end_list
        - Src:             'prof_get.c:434,5'
          Dst:             end_list
    - functionName:    profile_parse_boolean
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          87
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - strcasecmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:355,14'
          Dst:             strcasecmp
        - Src:             'prof_get.c:362,14'
          Dst:             strcasecmp
    - functionName:    profile_get_boolean
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 374
      functionLinenumberEnd: 398
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          98
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - profile_get_value
        - profile_parse_boolean
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:388,14'
          Dst:             profile_get_value
        - Src:             'prof_get.c:395,14'
          Dst:             profile_parse_boolean
    - functionName:    profile_get_value
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          90
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - get_value_vt
        - profile_iterator
        - profile_iterator_create
        - profile_iterator_free
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:230,16'
          Dst:             get_value_vt
        - Src:             'prof_get.c:232,14'
          Dst:             profile_iterator_create
        - Src:             'prof_get.c:237,14'
          Dst:             profile_iterator
        - Src:             'prof_get.c:247,5'
          Dst:             profile_iterator_free
    - functionName:    get_value_vt
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          77
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:208,18'
          Dst:             strdup
    - functionName:    profile_iterator_free
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 522
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          82
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - profile_node_iterator_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:535,9'
          Dst:             profile_node_iterator_free
    - functionName:    parse_int
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          103
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - strlen
        - strtol
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:291,5'
          Dst:             __errno_location
        - Src:             'prof_get.c:292,16'
          Dst:             strtol
        - Src:             'prof_get.c:295,59'
          Dst:             __errno_location
        - Src:             'prof_get.c:301,30'
          Dst:             strlen
    - functionName:    profile_get_integer
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 334
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          98
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - parse_int
        - profile_get_value
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:324,14'
          Dst:             profile_get_value
        - Src:             'prof_get.c:331,14'
          Dst:             parse_int
    - functionName:    profile_get_string
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          117
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - profile_get_value
        - strdup
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:265,18'
          Dst:             profile_get_value
        - Src:             'prof_get.c:274,23'
          Dst:             strdup
    - functionName:    get_values_vt
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          95
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - add_to_list
        - end_list
        - init_list
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:144,14'
          Dst:             init_list
        - Src:             'prof_get.c:147,13'
          Dst:             add_to_list
        - Src:             'prof_get.c:148,9'
          Dst:             end_list
    - functionName:    profile_get_values
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          135
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - add_to_list
        - end_list
        - get_values_vt
        - init_list
        - profile_node_iterator
        - profile_node_iterator_create
        - profile_node_iterator_free
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_get.c:168,16'
          Dst:             get_values_vt
        - Src:             'prof_get.c:170,19'
          Dst:             profile_node_iterator_create
        - Src:             'prof_get.c:175,14'
          Dst:             init_list
        - Src:             'prof_get.c:180,23'
          Dst:             profile_node_iterator
        - Src:             'prof_get.c:183,13'
          Dst:             add_to_list
        - Src:             'prof_get.c:192,5'
          Dst:             end_list
        - Src:             'prof_get.c:193,5'
          Dst:             profile_node_iterator_free
    - functionName:    profile_free_list
      functionSourceFile: '/src/krb5/src/util/profile/prof_get.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          45
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/util/profile/../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/util/profile/../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - 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:
        - ''
      BBCount:         3
      ICount:          15
      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:    parse_modspec
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          142
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - k5_path_join
        - strchr
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:69,9'
          Dst:             strchr
        - Src:             'prof_init.c:81,11'
          Dst:             k5_path_join
        - Src:             'prof_init.c:86,16'
          Dst:             strdup
    - functionName:    unpack_int32
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 605
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - load_32_be
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:598,17'
          Dst:             load_32_be
    - functionName:    profile_ser_internalize
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 609
      functionLinenumberEnd: 672
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          242
      EdgeCount:       49
      CyclomaticComplexity: 14
      functionsReached:
        - profile_init
        - unpack_int32
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:622,16'
          Dst:             unpack_int32
        - Src:             'prof_init.c:631,12'
          Dst:             unpack_int32
        - Src:             'prof_init.c:640,14'
          Dst:             unpack_int32
        - Src:             'prof_init.c:651,9'
          Dst:             unpack_int32
        - Src:             'prof_init.c:657,19'
          Dst:             profile_init
    - functionName:    profile_init
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - profile_init_flags
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:234,12'
          Dst:             profile_init_flags
    - functionName:    profile_init_flags
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          250
      EdgeCount:       65
      CyclomaticComplexity: 19
      functionsReached:
        - init_load_module
        - profile_open_file
        - profile_release
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:190,22'
          Dst:             profile_open_file
        - Src:             'prof_init.c:194,26'
          Dst:             init_load_module
        - Src:             'prof_init.c:208,17'
          Dst:             profile_release
        - Src:             'prof_init.c:222,13'
          Dst:             profile_release
    - functionName:    init_load_module
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          211
      EdgeCount:       45
      CyclomaticComplexity: 14
      functionsReached:
        - init_module
        - k5_clear_error
        - k5_mutex_init
        - k5_os_mutex_destroy
        - krb5int_close_plugin
        - krb5int_get_plugin_func
        - krb5int_open_plugin
        - parse_modspec
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:112,11'
          Dst:             parse_modspec
        - Src:             'prof_init.c:120,11'
          Dst:             k5_mutex_init
        - Src:             'prof_init.c:126,11'
          Dst:             krb5int_open_plugin
        - Src:             'prof_init.c:129,11'
          Dst:             krb5int_get_plugin_func
        - Src:             'prof_init.c:146,11'
          Dst:             init_module
        - Src:             'prof_init.c:151,5'
          Dst:             k5_clear_error
        - Src:             'prof_init.c:156,13'
          Dst:             k5_os_mutex_destroy
        - Src:             'prof_init.c:159,13'
          Dst:             krb5int_close_plugin
    - functionName:    profile_release
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 507
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          98
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - profile_abandon
        - profile_close_file
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:517,9'
          Dst:             profile_abandon
        - Src:             'prof_init.c:522,13'
          Dst:             profile_close_file
    - functionName:    profile_abandon
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 503
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          158
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - k5_os_mutex_destroy
        - krb5int_close_plugin
        - profile_free_file
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:485,13'
          Dst:             k5_mutex_lock
        - Src:             'prof_init.c:487,17'
          Dst:             krb5int_close_plugin
        - Src:             'prof_init.c:488,17'
          Dst:             k5_mutex_unlock
        - Src:             'prof_init.c:489,17'
          Dst:             k5_os_mutex_destroy
        - Src:             'prof_init.c:492,17'
          Dst:             k5_mutex_unlock
        - Src:             'prof_init.c:498,13'
          Dst:             profile_free_file
    - 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:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    2
      BranchProfiles:  []
      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/profile/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    3
      BranchProfiles:  []
      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:    25
      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:    25
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_module
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          168
      EdgeCount:       41
      CyclomaticComplexity: 13
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pack_int32
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 551
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - store_32_be
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:548,5'
          Dst:             store_32_be
    - functionName:    profile_ser_externalize
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 555
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          147
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - pack_int32
        - profile_ser_size
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:569,16'
          Dst:             profile_ser_size
        - Src:             'prof_init.c:574,13'
          Dst:             pack_int32
        - Src:             'prof_init.c:575,13'
          Dst:             pack_int32
        - Src:             'prof_init.c:577,34'
          Dst:             strlen
        - Src:             'prof_init.c:578,17'
          Dst:             pack_int32
        - Src:             'prof_init.c:585,13'
          Dst:             pack_int32
    - functionName:    profile_ser_size
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 533
      functionLinenumberEnd: 543
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:540,21'
          Dst:             strlen
    - functionName:    profile_free_buffer
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 468
      functionLinenumberEnd: 470
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_flush_to_buffer
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 460
      functionLinenumberEnd: 464
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - profile_flush_file_data_to_buffer
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:463,12'
          Dst:             profile_flush_file_data_to_buffer
    - functionName:    profile_flush_to_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 456
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          92
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - profile_flush_file_data_to_file
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:452,16'
          Dst:             profile_flush_file_data_to_file
    - functionName:    profile_flush
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          112
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - profile_flush_file_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:437,16'
          Dst:             profile_flush_file_data
    - functionName:    profile_is_modified
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          105
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    profile_is_writable
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          101
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - profile_file_is_writable
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:396,21'
          Dst:             profile_file_is_writable
    - functionName:    profile_init_path
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          215
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - profile_init_flags
        - strchr
        - strlen
        - strncpy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:347,33'
          Dst:             strchr
        - Src:             'prof_init.c:347,57'
          Dst:             strlen
        - Src:             'prof_init.c:357,9'
          Dst:             strncpy
        - Src:             'prof_init.c:367,14'
          Dst:             profile_init_flags
    - functionName:    copy_vtable_profile
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          153
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - init_module
        - k5_mutex_lock
        - k5_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:259,15'
          Dst:             init_module
        - Src:             'prof_init.c:265,15'
          Dst:             init_module
        - Src:             'prof_init.c:273,9'
          Dst:             k5_mutex_lock
        - Src:             'prof_init.c:275,9'
          Dst:             k5_mutex_unlock
    - functionName:    profile_copy
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          96
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - copy_vtable_profile
        - profile_abandon
        - profile_copy_file
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:302,16'
          Dst:             copy_vtable_profile
        - Src:             'prof_init.c:304,15'
          Dst:             calloc
        - Src:             'prof_init.c:311,13'
          Dst:             profile_copy_file
        - Src:             'prof_init.c:313,13'
          Dst:             profile_abandon
    - functionName:    profile_init_vtable
      functionSourceFile: '/src/krb5/src/util/profile/prof_init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 241
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - init_module
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_init.c:241,12'
          Dst:             init_module
    - functionName:    k5_mutex_finish_init
      functionSourceFile: '/src/krb5/src/lib/krb5/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_lib_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb5_libinit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          63
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - add_error_table
        - bindtextdomain
        - error_message
        - k5_mutex_finish_init
        - k5_set_error_info_callout_fn
        - krb5int_cc_initialize
        - krb5int_kt_initialize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'krb5_libinit.c:27,5'
          Dst:             k5_set_error_info_callout_fn
        - Src:             'krb5_libinit.c:27,5'
          Dst:             error_message
        - Src:             'krb5_libinit.c:33,5'
          Dst:             add_error_table
        - Src:             'krb5_libinit.c:34,5'
          Dst:             add_error_table
        - Src:             'krb5_libinit.c:35,5'
          Dst:             add_error_table
        - Src:             'krb5_libinit.c:36,5'
          Dst:             add_error_table
        - Src:             'krb5_libinit.c:37,5'
          Dst:             add_error_table
        - Src:             'krb5_libinit.c:38,5'
          Dst:             add_error_table
        - Src:             'krb5_libinit.c:40,5'
          Dst:             bindtextdomain
        - Src:             'krb5_libinit.c:43,11'
          Dst:             krb5int_kt_initialize
        - Src:             'krb5_libinit.c:47,11'
          Dst:             krb5int_cc_initialize
        - Src:             'krb5_libinit.c:50,11'
          Dst:             k5_mutex_finish_init
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_lib_init__aux
      functionSourceFile: '/src/krb5/src/lib/krb5/krb5_libinit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 19
      functionLinenumberEnd: 19
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5int_lib_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'krb5_libinit.c:19,1'
          Dst:             krb5int_lib_init
    - functionName:    krb5int_cleanup_library
      functionSourceFile: '/src/krb5/src/lib/krb5/krb5_libinit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_initialize_library
      functionSourceFile: '/src/krb5/src/lib/krb5/krb5_libinit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - k5_once
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'krb5_libinit.c:60,12'
          Dst:             k5_once
        - Src:             'krb5_libinit.c:60,12'
          Dst:             __assert_fail
    - functionName:    initialize_asn1_error_table
      functionSourceFile: '/src/krb5/src/lib/krb5/error_tables/asn1_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - add_error_table
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_err.c:49,12'
          Dst:             add_error_table
    - functionName:    initialize_kdb5_error_table
      functionSourceFile: '/src/krb5/src/lib/krb5/error_tables/kdb5_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - add_error_table
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kdb5_err.c:82,12'
          Dst:             add_error_table
    - functionName:    initialize_krb5_error_table
      functionSourceFile: '/src/krb5/src/lib/krb5/error_tables/krb5_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - add_error_table
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'krb5_err.c:291,12'
          Dst:             add_error_table
    - functionName:    initialize_k5e1_error_table
      functionSourceFile: '/src/krb5/src/lib/krb5/error_tables/k5e1_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - add_error_table
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'k5e1_err.c:49,12'
          Dst:             add_error_table
    - functionName:    initialize_kv5m_error_table
      functionSourceFile: '/src/krb5/src/lib/krb5/error_tables/kv5m_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - add_error_table
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kv5m_err.c:96,12'
          Dst:             add_error_table
    - functionName:    initialize_k524_error_table
      functionSourceFile: '/src/krb5/src/lib/krb5/error_tables/krb524_err.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - add_error_table
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'krb524_err.c:44,12'
          Dst:             add_error_table
    - functionName:    aux_storeptr_ptr_seqof_spake_factor
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1729
      functionLinenumberEnd: 1729
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_seqof_spake_factor
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1729
      functionLinenumberEnd: 1729
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_spake_factor_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1727
      functionLinenumberEnd: 1727
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_spake_factor_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1727
      functionLinenumberEnd: 1727
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_vmacs_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1664
      functionLinenumberEnd: 1664
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_vmacs_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1663
      functionLinenumberEnd: 1663
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_vmacs_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1663
      functionLinenumberEnd: 1663
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_vmac_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1661
      functionLinenumberEnd: 1661
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_vmac_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1660
      functionLinenumberEnd: 1660
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_vmac_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1660
      functionLinenumberEnd: 1660
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_seqof_otp_tokeninfo
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1585
      functionLinenumberEnd: 1585
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_seqof_otp_tokeninfo
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1585
      functionLinenumberEnd: 1585
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_otp_tokeninfo_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1583
      functionLinenumberEnd: 1583
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_otp_tokeninfo_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1583
      functionLinenumberEnd: 1583
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_typed_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1553
      functionLinenumberEnd: 1553
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_typed_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1553
      functionLinenumberEnd: 1553
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_ptr_seqof_external_principal_identifier
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1459
      functionLinenumberEnd: 1459
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_seqof_external_principal_identifier
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1457
      functionLinenumberEnd: 1457
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_seqof_external_principal_identifier
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1457
      functionLinenumberEnd: 1457
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_external_principal_identifier_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1453
      functionLinenumberEnd: 1453
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_external_principal_identifier_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1453
      functionLinenumberEnd: 1453
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_pachecksum2_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1406
      functionLinenumberEnd: 1406
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_pachecksum2_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1405
      functionLinenumberEnd: 1405
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_pachecksum2_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1405
      functionLinenumberEnd: 1405
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_pkinit_krb5_principal_name
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1365
      functionLinenumberEnd: 1365
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_pkinit_krb5_principal_name
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1365
      functionLinenumberEnd: 1365
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_ptr_supported_kdfs
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1355
      functionLinenumberEnd: 1355
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_ptr_kdf_alg_id
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1354
      functionLinenumberEnd: 1354
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_supported_kdfs
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1353
      functionLinenumberEnd: 1353
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_supported_kdfs
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1353
      functionLinenumberEnd: 1353
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_kdf_alg_id
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1351
      functionLinenumberEnd: 1351
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_kdf_alg_id
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1351
      functionLinenumberEnd: 1351
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_ptr_seqof_algorithm_identifier
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1337
      functionLinenumberEnd: 1337
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_seqof_algorithm_identifier
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1336
      functionLinenumberEnd: 1336
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_seqof_algorithm_identifier
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1336
      functionLinenumberEnd: 1336
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_ptr_algorithm_identifier
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1334
      functionLinenumberEnd: 1334
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_algorithm_identifier
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1333
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_algorithm_identifier
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1333
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_ptr_seqof_princ_plus_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1091
      functionLinenumberEnd: 1091
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_seqof_princ_plus_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1090
      functionLinenumberEnd: 1090
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_seqof_princ_plus_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1090
      functionLinenumberEnd: 1090
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_princ_plus_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1088
      functionLinenumberEnd: 1088
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_princ_plus_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1088
      functionLinenumberEnd: 1088
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_ptr_fast_finished
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1045
      functionLinenumberEnd: 1045
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_fast_finished
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1044
      functionLinenumberEnd: 1044
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_fast_finished
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1044
      functionLinenumberEnd: 1044
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_kdc_req_body
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1024
      functionLinenumberEnd: 1024
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_kdc_req_body
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1024
      functionLinenumberEnd: 1024
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_fast_req_padata
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1023
      functionLinenumberEnd: 1023
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_fast_req_padata
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1023
      functionLinenumberEnd: 1023
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_ptr_fast_armor
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1004
      functionLinenumberEnd: 1004
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_fast_armor
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1003
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_fast_armor
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1003
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_s4u_principal_present
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 964
      functionLinenumberEnd: 966
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_cred_timestamp_set
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 890
      functionLinenumberEnd: 892
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_priv_timestamp_set
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 857
      functionLinenumberEnd: 859
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_safe_checksum_only_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 831
      functionLinenumberEnd: 831
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_safe_checksum_only_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 831
      functionLinenumberEnd: 831
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_saved_safe_body_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 829
      functionLinenumberEnd: 829
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_saved_safe_body_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 829
      functionLinenumberEnd: 829
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_etype_info2_entry_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 632
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_etype_info2_entry_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 632
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_etype_info_entry_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 629
      functionLinenumberEnd: 629
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_etype_info_entry_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 629
      functionLinenumberEnd: 629
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_no_salt
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 605
      functionLinenumberEnd: 608
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_salt_present
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptrseqof_cred_info
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 595
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptrseqof_cred_info
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 595
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_cred_info_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 592
      functionLinenumberEnd: 592
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_cred_info_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 592
      functionLinenumberEnd: 592
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_safe_timestamp_set
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 556
      functionLinenumberEnd: 558
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_kdc_req_body
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 488
      functionLinenumberEnd: 496
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_free_addresses
        - krb5_free_principal
        - krb5_free_tickets
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:490,5'
          Dst:             krb5_free_principal
        - Src:             'asn1_k_encode.c:491,5'
          Dst:             krb5_free_principal
        - Src:             'asn1_k_encode.c:493,5'
          Dst:             krb5_free_addresses
        - Src:             'asn1_k_encode.c:495,5'
          Dst:             krb5_free_tickets
    - functionName:    check_kdc_req_body
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 539
      functionLinenumberEnd: 541
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    decode_kdc_req_body
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 500
      functionLinenumberEnd: 536
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          206
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - free_kdc_req_body
        - k5_asn1_decode_atype
        - krb5int_copy_data_contents
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:505,11'
          Dst:             k5_asn1_decode_atype
        - Src:             'asn1_k_encode.c:521,15'
          Dst:             krb5int_copy_data_contents
        - Src:             'asn1_k_encode.c:524,13'
          Dst:             free_kdc_req_body
    - functionName:    aux_present_opt_ptr_seqof_ticket
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 387
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_seqof_ticket
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 386
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_seqof_ticket
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 386
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ticket_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 384
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ticket_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 384
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_kvno
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_gstring_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_gstring_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_realm_of_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_realm_of_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nonempty_enc_data
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_ptr_seqof_host_addresses
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_seqof_host_addresses
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_seqof_host_addresses
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_address_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_address_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_int32_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_int32_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_kerberos_time
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    encode_kerberos_time
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_encode_generaltime
        - ts2tt
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:161,18'
          Dst:             ts2tt
        - Src:             'asn1_k_encode.c:165,12'
          Dst:             k5_asn1_encode_generaltime
    - functionName:    decode_kerberos_time
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_decode_generaltime
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:173,11'
          Dst:             k5_asn1_decode_generaltime
    - functionName:    check_kerberos_time
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ts2tt
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2339
      functionLinenumberEnd: 2340
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    encode_krb5_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_encode_bitstring
        - store_32_be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:235,5'
          Dst:             store_32_be
        - Src:             'asn1_k_encode.c:239,12'
          Dst:             k5_asn1_encode_bitstring
    - functionName:    decode_krb5_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          92
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - k5_asn1_decode_bitstring
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:248,11'
          Dst:             k5_asn1_decode_bitstring
    - functionName:    check_krb5_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 262
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    encode_kdc_req_body
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 485
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          96
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - k5_asn1_encode_atype
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:484,12'
          Dst:             k5_asn1_encode_atype
    - functionName:    is_renewable_flag_set
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 405
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_enc_kdc_rep_start
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 397
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_enc_kdc_rep_start_set
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_ptr_seqof_pa_data
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 382
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_seqof_pa_data
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 381
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_seqof_pa_data
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 381
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_pa_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_pa_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_last_req_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 358
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_last_req_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 358
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_last_req_ent_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_last_req_ent_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_lr_type
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    decode_lr_type
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          64
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - k5_asn1_decode_int
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:332,11'
          Dst:             k5_asn1_decode_int
    - functionName:    encode_lr_type
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 325
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_encode_int
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:324,5'
          Dst:             k5_asn1_encode_int
    - functionName:    aux_present_opt_checksum_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_seqof_checksum
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 312
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_seqof_checksum
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 312
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_checksum_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 310
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_checksum_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 310
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_ptr_encryption_key
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_encryption_key
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_encryption_key
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ptr_authdata_elt_type
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ptr_authdata_elt_type
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_auth_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_auth_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_auth_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_authdata_elt_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_authdata_elt_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_krb5_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_address_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_seqno
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_seqno
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    decode_seqno
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          64
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - k5_asn1_decode_int
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:138,11'
          Dst:             k5_asn1_decode_int
    - functionName:    encode_seqno
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_encode_uint
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:130,5'
          Dst:             k5_asn1_encode_uint
    - functionName:    aux_present_opt_realm_of_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_oid_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_oid_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_utf8_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_utf8_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_ostring_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_storeptr_ostring_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_loadptr_ostring_data_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nonempty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          29
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_uint
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_int32_minus1
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    int32_not_minus1
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aux_present_opt_int32
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    decode_krb5_pa_spake
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1769
      functionLinenumberEnd: 1769
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1769,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_spake
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1768
      functionLinenumberEnd: 1768
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1768,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_spake_factor
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1731
      functionLinenumberEnd: 1731
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1731,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_spake_factor
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1730
      functionLinenumberEnd: 1730
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1730,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_pa_pac_options
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1718
      functionLinenumberEnd: 1718
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1718,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_pac_options
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1717
      functionLinenumberEnd: 1717
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1717,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_secure_cookie
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1697
      functionLinenumberEnd: 1697
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1697,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_secure_cookie
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1696
      functionLinenumberEnd: 1696
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1696,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_utf8_strings
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1680
      functionLinenumberEnd: 1680
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1680,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_utf8_strings
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1679
      functionLinenumberEnd: 1679
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1679,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_cammac
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1677
      functionLinenumberEnd: 1677
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1677,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_cammac
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1676
      functionLinenumberEnd: 1676
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1676,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_kkdcp_message
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1650
      functionLinenumberEnd: 1650
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1650,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_kkdcp_message
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1649
      functionLinenumberEnd: 1649
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1649,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_pa_otp_enc_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1635
      functionLinenumberEnd: 1635
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1635,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_otp_enc_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1634
      functionLinenumberEnd: 1634
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1634,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_pa_otp_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1627
      functionLinenumberEnd: 1627
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1627,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_otp_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1626
      functionLinenumberEnd: 1626
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1626,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_pa_otp_challenge
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1600
      functionLinenumberEnd: 1600
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1600,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_otp_challenge
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1599
      functionLinenumberEnd: 1599
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1599,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_otp_tokeninfo
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1581
      functionLinenumberEnd: 1581
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1581,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_otp_tokeninfo
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1580
      functionLinenumberEnd: 1580
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1580,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_typed_data
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1557
      functionLinenumberEnd: 1557
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1557,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_typed_data
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1556
      functionLinenumberEnd: 1556
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1556,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_principal_name
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1525
      functionLinenumberEnd: 1525
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1525,1'
          Dst:             k5_asn1_full_decode
    - functionName:    decode_krb5_td_dh_parameters
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1524
      functionLinenumberEnd: 1524
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1524,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_td_dh_parameters
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1523
      functionLinenumberEnd: 1523
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1523,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_td_trusted_certifiers
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1521
      functionLinenumberEnd: 1521
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1521,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_td_trusted_certifiers
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1519
      functionLinenumberEnd: 1519
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1519,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_reply_key_pack
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1518
      functionLinenumberEnd: 1518
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1518,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_reply_key_pack
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1517
      functionLinenumberEnd: 1517
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1517,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_kdc_dh_key_info
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1516
      functionLinenumberEnd: 1516
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1516,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_kdc_dh_key_info
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1515
      functionLinenumberEnd: 1515
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1515,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_auth_pack
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1514
      functionLinenumberEnd: 1514
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1514,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_auth_pack
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1513
      functionLinenumberEnd: 1513
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1513,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_pa_pk_as_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1512
      functionLinenumberEnd: 1512
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1512,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_pk_as_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1511
      functionLinenumberEnd: 1511
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1511,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_pa_pk_as_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1510
      functionLinenumberEnd: 1510
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1510,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_pk_as_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1509
      functionLinenumberEnd: 1509
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1509,1'
          Dst:             k5_asn1_full_encode
    - functionName:    encode_krb5_sp80056a_other_info
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1395
      functionLinenumberEnd: 1395
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1395,1'
          Dst:             k5_asn1_full_encode
    - functionName:    encode_krb5_pkinit_supp_pub_info
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1394
      functionLinenumberEnd: 1394
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1394,1'
          Dst:             k5_asn1_full_encode
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_get_authdata_containee_types
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1309
      functionLinenumberEnd: 1323
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          69
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
        - make_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1313,19'
          Dst:             make_data
        - Src:             'asn1_k_encode.c:1315,11'
          Dst:             k5_asn1_full_decode
    - functionName:    decode_krb5_iakerb_finished
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1302
      functionLinenumberEnd: 1302
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1302,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_iakerb_finished
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1301
      functionLinenumberEnd: 1301
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1301,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_iakerb_header
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1300
      functionLinenumberEnd: 1300
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1300,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_iakerb_header
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1299
      functionLinenumberEnd: 1299
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1299,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_ad_kdcissued
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1298
      functionLinenumberEnd: 1298
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1298,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_ad_kdcissued
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1297
      functionLinenumberEnd: 1297
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1297,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_fast_response
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1295
      functionLinenumberEnd: 1295
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1295,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_fast_response
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1294
      functionLinenumberEnd: 1294
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1294,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_pa_fx_fast_reply
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1293
      functionLinenumberEnd: 1293
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1293,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_fx_fast_reply
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1292
      functionLinenumberEnd: 1292
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1292,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_fast_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1291
      functionLinenumberEnd: 1291
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1291,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_fast_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1290
      functionLinenumberEnd: 1290
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1290,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_pa_fx_fast_request
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1289
      functionLinenumberEnd: 1289
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1289,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_fx_fast_request
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1288
      functionLinenumberEnd: 1288
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1288,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_etype_list
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1286
      functionLinenumberEnd: 1286
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1286,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_etype_list
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1285
      functionLinenumberEnd: 1285
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1285,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_pa_pac_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1284
      functionLinenumberEnd: 1284
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1284,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_pac_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1283
      functionLinenumberEnd: 1283
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1283,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_pa_s4u_x509_user
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1282
      functionLinenumberEnd: 1282
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1282,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_s4u_x509_user
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1281
      functionLinenumberEnd: 1281
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1281,1'
          Dst:             k5_asn1_full_encode
    - functionName:    encode_krb5_s4u_userid
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1280
      functionLinenumberEnd: 1280
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1280,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_pa_for_user
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1279
      functionLinenumberEnd: 1279
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1279,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_for_user
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1278
      functionLinenumberEnd: 1278
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1278,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_setpw_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1255
      functionLinenumberEnd: 1276
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          71
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1266,11'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_setpw_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1251
      functionLinenumberEnd: 1251
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1251,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_sam_response_2
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1247
      functionLinenumberEnd: 1247
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1247,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_sam_response_2
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1246
      functionLinenumberEnd: 1246
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1246,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_enc_sam_response_enc_2
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1245
      functionLinenumberEnd: 1245
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1245,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_enc_sam_response_enc_2
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1244
      functionLinenumberEnd: 1244
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1244,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_sam_challenge_2_body
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1243
      functionLinenumberEnd: 1243
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1243,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_sam_challenge_2_body
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1242
      functionLinenumberEnd: 1242
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1242,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_sam_challenge_2
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1241
      functionLinenumberEnd: 1241
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1241,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_sam_challenge_2
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1240
      functionLinenumberEnd: 1240
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1240,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_padata_sequence
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1238
      functionLinenumberEnd: 1238
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1238,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_padata_sequence
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1237
      functionLinenumberEnd: 1237
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1237,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_pa_enc_ts
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1236
      functionLinenumberEnd: 1236
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1236,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_pa_enc_ts
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1235
      functionLinenumberEnd: 1235
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1235,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_enc_data
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1234
      functionLinenumberEnd: 1234
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1234,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_enc_data
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1233
      functionLinenumberEnd: 1233
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1233,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_etype_info2
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1232
      functionLinenumberEnd: 1232
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1232,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_etype_info2
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1231
      functionLinenumberEnd: 1231
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1231,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_etype_info
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1230
      functionLinenumberEnd: 1230
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1230,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_etype_info
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1229
      functionLinenumberEnd: 1229
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1229,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1228
      functionLinenumberEnd: 1228
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1228,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1227
      functionLinenumberEnd: 1227
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1227,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_error
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1226
      functionLinenumberEnd: 1226
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1226,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_error
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1225
      functionLinenumberEnd: 1225
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1225,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_enc_cred_part
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1224
      functionLinenumberEnd: 1224
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1224,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_enc_cred_part
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1223
      functionLinenumberEnd: 1223
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1223,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1222
      functionLinenumberEnd: 1222
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1222,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1221
      functionLinenumberEnd: 1221
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1221,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_checksum
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1219
      functionLinenumberEnd: 1219
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1219,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_checksum
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1218
      functionLinenumberEnd: 1218
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1218,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_enc_priv_part
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1217
      functionLinenumberEnd: 1217
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1217,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_enc_priv_part
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1216
      functionLinenumberEnd: 1216
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1216,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_priv
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1215
      functionLinenumberEnd: 1215
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1215,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_priv
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1214
      functionLinenumberEnd: 1214
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1214,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_safe_with_body
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1188
      functionLinenumberEnd: 1212
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          93
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_asn1_full_decode
        - krb5_free_data
        - krb5_free_safe
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1194,11'
          Dst:             k5_asn1_full_decode
        - Src:             'asn1_k_encode.c:1198,11'
          Dst:             k5_asn1_full_decode
        - Src:             'asn1_k_encode.c:1200,9'
          Dst:             krb5_free_safe
        - Src:             'asn1_k_encode.c:1201,9'
          Dst:             krb5_free_data
    - functionName:    encode_krb5_safe_with_body
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1178
      functionLinenumberEnd: 1178
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1178,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_safe
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1174
      functionLinenumberEnd: 1174
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1174,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_safe
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1173
      functionLinenumberEnd: 1173
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1173,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_kdc_req_body
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1172
      functionLinenumberEnd: 1172
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1172,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_kdc_req_body
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1171
      functionLinenumberEnd: 1171
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1171,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_tgs_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1170
      functionLinenumberEnd: 1170
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1170,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_tgs_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1169
      functionLinenumberEnd: 1169
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1169,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_as_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1168
      functionLinenumberEnd: 1168
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1168,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_as_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1167
      functionLinenumberEnd: 1167
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1167,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_ap_rep_enc_part
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1166
      functionLinenumberEnd: 1166
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1166,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_ap_rep_enc_part
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1165
      functionLinenumberEnd: 1165
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1165,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_ap_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1164
      functionLinenumberEnd: 1164
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1164,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_ap_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1163
      functionLinenumberEnd: 1163
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1163,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_ap_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1162
      functionLinenumberEnd: 1162
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1162,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_ap_req
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1161
      functionLinenumberEnd: 1161
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1161,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_tgs_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1160
      functionLinenumberEnd: 1160
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1160,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_tgs_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1159
      functionLinenumberEnd: 1159
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1159,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_as_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1158
      functionLinenumberEnd: 1158
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1158,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_as_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1157
      functionLinenumberEnd: 1157
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1157,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_enc_kdc_rep_part
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1137
      functionLinenumberEnd: 1155
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1144,11'
          Dst:             k5_asn1_full_decode
        - Src:             'asn1_k_encode.c:1147,15'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_enc_kdc_rep_part
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1133
      functionLinenumberEnd: 1133
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1133,1'
          Dst:             k5_asn1_full_encode
    - functionName:    krb5_decode_ticket
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1123
      functionLinenumberEnd: 1124
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - decode_krb5_ticket
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1124,12'
          Dst:             decode_krb5_ticket
    - functionName:    decode_krb5_ticket
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1115
      functionLinenumberEnd: 1115
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1115,1'
          Dst:             k5_asn1_full_decode
    - functionName:    decode_krb5_enc_tkt_part
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1119
      functionLinenumberEnd: 1119
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1119,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_enc_tkt_part
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1118
      functionLinenumberEnd: 1118
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1118,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_encryption_key
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1117
      functionLinenumberEnd: 1117
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1117,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_encryption_key
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1116
      functionLinenumberEnd: 1116
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1116,1'
          Dst:             k5_asn1_full_encode
    - functionName:    encode_krb5_ticket
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1114
      functionLinenumberEnd: 1114
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1114,1'
          Dst:             k5_asn1_full_encode
    - functionName:    decode_krb5_authenticator
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1113
      functionLinenumberEnd: 1113
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_asn1_full_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1113,1'
          Dst:             k5_asn1_full_decode
    - functionName:    encode_krb5_authenticator
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_k_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1112
      functionLinenumberEnd: 1112
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_asn1_full_encode
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_k_encode.c:1112,1'
          Dst:             k5_asn1_full_encode
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5_cccol_unlock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 587
      functionLinenumberEnd: 612
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_mutex_assert_locked
        - k5_cc_mutex_unlock
        - k5_mutex_lock
        - k5_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:591,5'
          Dst:             k5_cc_mutex_assert_locked
        - Src:             'ccbase.c:593,5'
          Dst:             k5_mutex_lock
        - Src:             'ccbase.c:603,5'
          Dst:             k5_cc_mutex_assert_locked
        - Src:             'ccbase.c:604,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'ccbase.c:605,5'
          Dst:             k5_cc_mutex_assert_locked
        - Src:             'ccbase.c:606,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'ccbase.c:609,5'
          Dst:             k5_mutex_unlock
        - Src:             'ccbase.c:610,5'
          Dst:             k5_cc_mutex_unlock
    - functionName:    k5_cc_mutex_assert_locked
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 495
      functionLinenumberEnd: 501
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_mutex_lock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    8
      BranchProfiles:  []
      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_cc_mutex_unlock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 531
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - k5_mutex_unlock
      functionUses:    30
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:540,9'
          Dst:             k5_mutex_unlock
    - functionName:    k5_mutex_unlock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    13
      BranchProfiles:  []
      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_cccol_lock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 561
      functionLinenumberEnd: 582
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_mutex_lock
        - k5_mutex_lock
        - k5_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:564,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'ccbase.c:565,5'
          Dst:             k5_mutex_lock
        - Src:             'ccbase.c:566,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'ccbase.c:567,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'ccbase.c:581,5'
          Dst:             k5_mutex_unlock
    - functionName:    k5_cc_mutex_lock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 515
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_mutex_lock
      functionUses:    27
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:519,9'
          Dst:             k5_mutex_lock
    - functionName:    k5_cc_mutex_force_unlock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 553
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_mutex_unlock
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:551,9'
          Dst:             k5_mutex_unlock
    - functionName:    k5_cc_mutex_assert_unlocked
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 505
      functionLinenumberEnd: 511
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_mutex_init
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      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:    k5_cc_mutex_init
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 469
      functionLinenumberEnd: 478
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_mutex_init
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:472,11'
          Dst:             k5_mutex_init
    - functionName:    krb5_cc_support_switch
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 459
      functionLinenumberEnd: 464
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_cc_getops
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:463,11'
          Dst:             krb5int_cc_getops
    - functionName:    krb5int_cc_getops
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 281
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          87
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:267,5'
          Dst:             k5_mutex_lock
        - Src:             'ccbase.c:269,13'
          Dst:             strcmp
        - Src:             'ccbase.c:271,13'
          Dst:             k5_mutex_unlock
        - Src:             'ccbase.c:275,5'
          Dst:             k5_mutex_unlock
        - Src:             'ccbase.c:276,29'
          Dst:             strcmp
    - functionName:    read_creds
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          149
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - k5alloc
        - k5calloc
        - krb5_cc_end_seq_get
        - krb5_cc_next_cred
        - krb5_cc_start_seq_get
        - krb5_free_tgt_creds
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:380,11'
          Dst:             krb5_cc_start_seq_get
        - Src:             'ccbase.c:386,12'
          Dst:             k5calloc
        - Src:             'ccbase.c:392,16'
          Dst:             k5alloc
        - Src:             'ccbase.c:395,15'
          Dst:             krb5_cc_next_cred
        - Src:             'ccbase.c:404,18'
          Dst:             realloc
        - Src:             'ccbase.c:419,15'
          Dst:             krb5_cc_end_seq_get
        - Src:             'ccbase.c:420,5'
          Dst:             krb5_free_tgt_creds
    - functionName:    krb5_cc_move
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 427
      functionLinenumberEnd: 454
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          122
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - k5_nonatomic_replace
        - krb5_cc_destroy
        - krb5_cc_get_principal
        - krb5_free_principal
        - krb5_free_tgt_creds
        - krb5int_trace
        - read_creds
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:432,5'
          Dst:             krb5int_trace
        - Src:             'ccbase.c:434,11'
          Dst:             krb5_cc_get_principal
        - Src:             'ccbase.c:438,11'
          Dst:             read_creds
        - Src:             'ccbase.c:443,15'
          Dst:             k5_nonatomic_replace
        - Src:             'ccbase.c:449,11'
          Dst:             krb5_cc_destroy
        - Src:             'ccbase.c:452,5'
          Dst:             krb5_free_principal
        - Src:             'ccbase.c:453,5'
          Dst:             krb5_free_tgt_creds
    - functionName:    k5_nonatomic_replace
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_cc_initialize
        - krb5_cc_store_cred
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:364,11'
          Dst:             krb5_cc_initialize
        - Src:             'ccbase.c:366,15'
          Dst:             krb5_cc_store_cred
    - functionName:    krb5int_cc_typecursor_free
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_cc_typecursor_next
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:342,5'
          Dst:             k5_mutex_lock
        - Src:             'ccbase.c:345,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5int_cc_typecursor_new
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:326,5'
          Dst:             k5_mutex_lock
        - Src:             'ccbase.c:328,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5_cc_new_unique
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 307
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          70
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - krb5int_cc_getops
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:301,5'
          Dst:             krb5int_trace
        - Src:             'ccbase.c:302,11'
          Dst:             krb5int_cc_getops
    - functionName:    krb5_cc_dup
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    krb5_cc_resolve
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          178
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - __ctype_b_loc
        - k5memdup0
        - krb5int_cc_getops
        - strchr
        - strdup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:213,10'
          Dst:             strchr
        - Src:             'ccbase.c:223,25'
          Dst:             __ctype_b_loc
        - Src:             'ccbase.c:225,15'
          Dst:             strdup
        - Src:             'ccbase.c:232,15'
          Dst:             k5memdup0
        - Src:             'ccbase.c:239,11'
          Dst:             krb5int_cc_getops
    - functionName:    krb5_cc_register
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          106
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:166,5'
          Dst:             k5_mutex_lock
        - Src:             'ccbase.c:167,31'
          Dst:             strcmp
        - Src:             'ccbase.c:172,13'
          Dst:             k5_mutex_unlock
        - Src:             'ccbase.c:175,13'
          Dst:             k5_mutex_unlock
        - Src:             'ccbase.c:180,9'
          Dst:             k5_mutex_unlock
        - Src:             'ccbase.c:186,5'
          Dst:             k5_mutex_unlock
    - functionName:    k5_cccol_force_unlock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 618
      functionLinenumberEnd: 638
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_cc_mutex_force_unlock
        - k5_mutex_lock
        - k5_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:624,5'
          Dst:             k5_mutex_lock
        - Src:             'ccbase.c:633,5'
          Dst:             k5_cc_mutex_force_unlock
        - Src:             'ccbase.c:634,5'
          Dst:             k5_cc_mutex_force_unlock
        - Src:             'ccbase.c:636,5'
          Dst:             k5_mutex_unlock
        - Src:             'ccbase.c:637,5'
          Dst:             k5_cc_mutex_force_unlock
    - functionName:    krb5int_cc_finalize
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          40
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - k5_cccol_force_unlock
        - k5_os_mutex_destroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:138,5'
          Dst:             k5_cccol_force_unlock
        - Src:             'ccbase.c:139,5'
          Dst:             k5_os_mutex_destroy
        - Src:             'ccbase.c:140,5'
          Dst:             k5_os_mutex_destroy
        - Src:             'ccbase.c:142,5'
          Dst:             k5_os_mutex_destroy
        - Src:             'ccbase.c:144,5'
          Dst:             k5_os_mutex_destroy
    - functionName:    k5_mutex_finish_init
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_cc_mutex_finish_init
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 482
      functionLinenumberEnd: 491
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_mutex_finish_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:485,11'
          Dst:             k5_mutex_finish_init
    - functionName:    krb5int_cc_initialize
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          67
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - k5_cc_mutex_finish_init
        - k5_mutex_finish_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccbase.c:112,11'
          Dst:             k5_cc_mutex_finish_init
        - Src:             'ccbase.c:115,11'
          Dst:             k5_cc_mutex_finish_init
        - Src:             'ccbase.c:118,11'
          Dst:             k5_mutex_finish_init
        - Src:             'ccbase.c:122,11'
          Dst:             k5_cc_mutex_finish_init
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    free_handles
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_ccselect_free_context
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - free_handles
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccselect.c:202,5'
          Dst:             free_handles
    - functionName:    load_modules
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         38
      ICount:          234
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - ccselect_hostname_initvt
        - ccselect_k5identity_initvt
        - ccselect_realm_initvt
        - free_handles
        - k5_plugin_free_modules
        - k5_plugin_load_all
        - k5_plugin_register
        - k5alloc
        - k5calloc
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccselect.c:63,11'
          Dst:             k5_plugin_register
        - Src:             'ccselect.c:63,11'
          Dst:             ccselect_k5identity_initvt
        - Src:             'ccselect.c:69,11'
          Dst:             k5_plugin_register
        - Src:             'ccselect.c:69,11'
          Dst:             ccselect_realm_initvt
        - Src:             'ccselect.c:74,11'
          Dst:             k5_plugin_register
        - Src:             'ccselect.c:74,11'
          Dst:             ccselect_hostname_initvt
        - Src:             'ccselect.c:79,11'
          Dst:             k5_plugin_load_all
        - Src:             'ccselect.c:85,12'
          Dst:             k5calloc
        - Src:             'ccselect.c:92,18'
          Dst:             k5alloc
        - Src:             'ccselect.c:97,13'
          Dst:             krb5int_trace
        - Src:             'ccselect.c:104,13'
          Dst:             krb5int_trace
        - Src:             'ccselect.c:118,5'
          Dst:             k5_plugin_free_modules
        - Src:             'ccselect.c:119,5'
          Dst:             free_handles
    - functionName:    krb5_cc_select
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         66
      ICount:          352
      EdgeCount:       86
      CyclomaticComplexity: 22
      functionsReached:
        - krb5_copy_principal
        - krb5_free_host_realm
        - krb5_free_principal
        - krb5_get_fallback_host_realm
        - krb5_is_referral_realm
        - krb5_set_principal_realm
        - krb5int_trace
        - load_modules
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ccselect.c:139,15'
          Dst:             load_modules
        - Src:             'ccselect.c:146,9'
          Dst:             krb5_is_referral_realm
        - Src:             'ccselect.c:148,15'
          Dst:             krb5_get_fallback_host_realm
        - Src:             'ccselect.c:155,19'
          Dst:             krb5_copy_principal
        - Src:             'ccselect.c:158,19'
          Dst:             krb5_set_principal_realm
        - Src:             'ccselect.c:174,17'
          Dst:             krb5int_trace
        - Src:             'ccselect.c:180,17'
          Dst:             krb5int_trace
        - Src:             'ccselect.c:184,17'
          Dst:             krb5int_trace
        - Src:             'ccselect.c:190,5'
          Dst:             krb5int_trace
        - Src:             'ccselect.c:194,5'
          Dst:             krb5_free_principal
        - Src:             'ccselect.c:195,5'
          Dst:             krb5_free_host_realm
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    hostname_choose
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_hostname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          344
      EdgeCount:       63
      CyclomaticComplexity: 17
      functionsReached:
        - __ctype_b_loc
        - data_eq
        - k5memdup0
        - krb5_cc_close
        - krb5_cc_get_principal
        - krb5_cccol_cursor_free
        - krb5_cccol_cursor_new
        - krb5_cccol_cursor_next
        - krb5_free_principal
        - make_data
        - memchr
        - toupper
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccselect_hostname.c:74,12'
          Dst:             k5memdup0
        - Src:             'ccselect_hostname.c:78,13'
          Dst:             __ctype_b_loc
        - Src:             'ccselect_hostname.c:79,18'
          Dst:             toupper
        - Src:             'ccselect_hostname.c:84,11'
          Dst:             krb5_cccol_cursor_new
        - Src:             'ccselect_hostname.c:88,16'
          Dst:             krb5_cccol_cursor_next
        - Src:             'ccselect_hostname.c:91,15'
          Dst:             krb5_cc_get_principal
        - Src:             'ccselect_hostname.c:93,13'
          Dst:             krb5_cc_close
        - Src:             'ccselect_hostname.c:98,18'
          Dst:             make_data
        - Src:             'ccselect_hostname.c:101,17'
          Dst:             data_eq
        - Src:             'ccselect_hostname.c:108,17'
          Dst:             memchr
        - Src:             'ccselect_hostname.c:111,22'
          Dst:             make_data
        - Src:             'ccselect_hostname.c:115,13'
          Dst:             krb5_cc_close
        - Src:             'ccselect_hostname.c:116,9'
          Dst:             krb5_free_principal
        - Src:             'ccselect_hostname.c:90,16'
          Dst:             krb5_cccol_cursor_next
        - Src:             'ccselect_hostname.c:119,5'
          Dst:             krb5_cccol_cursor_free
    - functionName:    memchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    hostname_init
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_hostname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ccselect_hostname_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_hostname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          40
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    fnmatch_data
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_k5identity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          109
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __ctype_b_loc
        - fnmatch
        - k5memdup0
        - tolower
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ccselect_k5identity.c:53,11'
          Dst:             k5memdup0
        - Src:             'ccselect_k5identity.c:59,17'
          Dst:             __ctype_b_loc
        - Src:             'ccselect_k5identity.c:60,22'
          Dst:             tolower
        - Src:             'ccselect_k5identity.c:64,11'
          Dst:             fnmatch
    - functionName:    fnmatch
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_constraint
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_k5identity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          124
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - fnmatch_data
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccselect_k5identity.c:74,9'
          Dst:             strcmp
        - Src:             'ccselect_k5identity.c:75,16'
          Dst:             fnmatch_data
        - Src:             'ccselect_k5identity.c:76,16'
          Dst:             strcmp
        - Src:             'ccselect_k5identity.c:78,17'
          Dst:             fnmatch_data
        - Src:             'ccselect_k5identity.c:79,16'
          Dst:             strcmp
        - Src:             'ccselect_k5identity.c:81,17'
          Dst:             fnmatch_data
    - functionName:    parse_line
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_k5identity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          149
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - check_constraint
        - krb5_parse_name
        - strchr
        - strcspn
        - strspn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccselect_k5identity.c:102,20'
          Dst:             strspn
        - Src:             'ccselect_k5identity.c:105,25'
          Dst:             strcspn
        - Src:             'ccselect_k5identity.c:110,25'
          Dst:             strspn
        - Src:             'ccselect_k5identity.c:112,29'
          Dst:             strcspn
        - Src:             'ccselect_k5identity.c:115,15'
          Dst:             strchr
        - Src:             'ccselect_k5identity.c:119,14'
          Dst:             check_constraint
        - Src:             'ccselect_k5identity.c:121,29'
          Dst:             strspn
        - Src:             'ccselect_k5identity.c:125,13'
          Dst:             krb5_parse_name
    - functionName:    get_homedir
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_k5identity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          82
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - geteuid
        - getpwuid_r
        - secure_getenv
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccselect_k5identity.c:138,19'
          Dst:             secure_getenv
        - Src:             'ccselect_k5identity.c:141,13'
          Dst:             geteuid
        - Src:             'ccselect_k5identity.c:141,13'
          Dst:             getpwuid_r
        - Src:             'ccselect_k5identity.c:146,12'
          Dst:             strdup
    - functionName:    k5identity_choose
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_k5identity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          144
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - fclose
        - fgets
        - fopen
        - get_homedir
        - k5_path_join
        - krb5_cc_cache_match
        - krb5_free_principal
        - parse_line
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccselect_k5identity.c:164,15'
          Dst:             get_homedir
        - Src:             'ccselect_k5identity.c:167,11'
          Dst:             k5_path_join
        - Src:             'ccselect_k5identity.c:171,10'
          Dst:             fopen
        - Src:             'ccselect_k5identity.c:177,12'
          Dst:             fgets
        - Src:             'ccselect_k5identity.c:178,13'
          Dst:             parse_line
        - Src:             'ccselect_k5identity.c:181,5'
          Dst:             fclose
        - Src:             'ccselect_k5identity.c:187,11'
          Dst:             krb5_cc_cache_match
        - Src:             'ccselect_k5identity.c:191,9'
          Dst:             krb5_free_principal
    - functionName:    k5identity_init
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_k5identity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ccselect_k5identity_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_k5identity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          40
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    realm_choose
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_realm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          153
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - data_eq
        - krb5_cc_close
        - krb5_cc_get_principal
        - krb5_cccol_cursor_free
        - krb5_cccol_cursor_new
        - krb5_cccol_cursor_next
        - krb5_free_principal
        - krb5_is_referral_realm
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccselect_realm.c:53,9'
          Dst:             krb5_is_referral_realm
        - Src:             'ccselect_realm.c:58,11'
          Dst:             krb5_cccol_cursor_new
        - Src:             'ccselect_realm.c:61,19'
          Dst:             krb5_cccol_cursor_next
        - Src:             'ccselect_realm.c:63,15'
          Dst:             krb5_cc_get_principal
        - Src:             'ccselect_realm.c:65,17'
          Dst:             data_eq
        - Src:             'ccselect_realm.c:67,13'
          Dst:             krb5_free_principal
        - Src:             'ccselect_realm.c:69,9'
          Dst:             krb5_cc_close
        - Src:             'ccselect_realm.c:71,5'
          Dst:             krb5_cccol_cursor_free
    - functionName:    realm_init
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_realm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ccselect_realm_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccselect_realm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          40
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_cursor
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 554
      functionLinenumberEnd: 577
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          77
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_get_name
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_resolve
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 385
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          189
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - make_cache
        - primary_pathname
        - read_primary_file
        - split_path
        - subsidiary_residual
        - verify_dir
        - write_primary_file
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:342,15'
          Dst:             split_path
        - Src:             'cc_dir.c:346,15'
          Dst:             verify_dir
        - Src:             'cc_dir.c:353,15'
          Dst:             verify_dir
        - Src:             'cc_dir.c:357,15'
          Dst:             primary_pathname
        - Src:             'cc_dir.c:361,15'
          Dst:             read_primary_file
        - Src:             'cc_dir.c:364,19'
          Dst:             write_primary_file
        - Src:             'cc_dir.c:367,19'
          Dst:             subsidiary_residual
        - Src:             'cc_dir.c:377,11'
          Dst:             make_cache
    - functionName:    dcc_gen_new
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 389
      functionLinenumberEnd: 429
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          142
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - asprintf
        - dgettext
        - get_context_default_dir
        - k5_path_join
        - krb5_set_error_message
        - krb5int_fcc_new_unique
        - make_cache
        - verify_dir
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:395,11'
          Dst:             get_context_default_dir
        - Src:             'cc_dir.c:400,19'
          Dst:             dgettext
        - Src:             'cc_dir.c:399,9'
          Dst:             krb5_set_error_message
        - Src:             'cc_dir.c:404,11'
          Dst:             verify_dir
        - Src:             'cc_dir.c:407,11'
          Dst:             k5_path_join
        - Src:             'cc_dir.c:410,11'
          Dst:             krb5int_fcc_new_unique
        - Src:             'cc_dir.c:413,9'
          Dst:             asprintf
        - Src:             'cc_dir.c:417,11'
          Dst:             make_cache
    - functionName:    dcc_init
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_destroy
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 449
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_close
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 454
      functionLinenumberEnd: 462
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_store
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 470
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_retrieve
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 480
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_get_princ
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 489
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_get_first
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 497
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_get_next
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 503
      functionLinenumberEnd: 506
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_end_get
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 511
      functionLinenumberEnd: 514
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_remove_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 523
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_set_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 528
      functionLinenumberEnd: 531
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_get_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 536
      functionLinenumberEnd: 539
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_ptcursor_new
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 581
      functionLinenumberEnd: 632
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          178
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - closedir
        - get_context_default_dir
        - get_context_subsidiary_file
        - krb5_clear_error_message
        - make_cursor
        - opendir
        - primary_pathname
        - read_primary_file
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:590,11'
          Dst:             get_context_subsidiary_file
        - Src:             'cc_dir.c:594,15'
          Dst:             make_cursor
        - Src:             'cc_dir.c:601,11'
          Dst:             get_context_default_dir
        - Src:             'cc_dir.c:604,11'
          Dst:             opendir
        - Src:             'cc_dir.c:609,11'
          Dst:             primary_pathname
        - Src:             'cc_dir.c:612,11'
          Dst:             read_primary_file
        - Src:             'cc_dir.c:614,9'
          Dst:             krb5_clear_error_message
        - Src:             'cc_dir.c:616,11'
          Dst:             make_cursor
        - Src:             'cc_dir.c:627,9'
          Dst:             closedir
        - Src:             'cc_dir.c:630,16'
          Dst:             make_cursor
    - functionName:    dcc_ptcursor_next
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 637
      functionLinenumberEnd: 677
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          170
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - closedir
        - dcc_resolve
        - filename_is_cache
        - readdir
        - stat
        - strcmp
        - subsidiary_residual
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:649,38'
          Dst:             stat
        - Src:             'cc_dir.c:650,20'
          Dst:             dcc_resolve
        - Src:             'cc_dir.c:658,19'
          Dst:             readdir
        - Src:             'cc_dir.c:659,14'
          Dst:             filename_is_cache
        - Src:             'cc_dir.c:661,15'
          Dst:             subsidiary_residual
        - Src:             'cc_dir.c:664,38'
          Dst:             strcmp
        - Src:             'cc_dir.c:668,15'
          Dst:             dcc_resolve
        - Src:             'cc_dir.c:674,5'
          Dst:             closedir
    - functionName:    dcc_ptcursor_free
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 691
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - closedir
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:685,9'
          Dst:             closedir
    - functionName:    dcc_replace
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 697
      functionLinenumberEnd: 700
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_lock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 705
      functionLinenumberEnd: 708
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_unlock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 713
      functionLinenumberEnd: 716
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dcc_switch_to
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 721
      functionLinenumberEnd: 741
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - primary_pathname
        - split_path
        - write_primary_file
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:726,11'
          Dst:             split_path
        - Src:             'cc_dir.c:730,11'
          Dst:             primary_pathname
        - Src:             'cc_dir.c:734,11'
          Dst:             write_primary_file
    - functionName:    split_path
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          91
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - dgettext
        - filename_is_cache
        - k5_path_split
        - krb5_set_error_message
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:115,11'
          Dst:             k5_path_split
        - Src:             'cc_dir.c:122,19'
          Dst:             dgettext
        - Src:             'cc_dir.c:121,9'
          Dst:             krb5_set_error_message
        - Src:             'cc_dir.c:125,10'
          Dst:             filename_is_cache
        - Src:             'cc_dir.c:128,19'
          Dst:             dgettext
        - Src:             'cc_dir.c:127,9'
          Dst:             krb5_set_error_message
    - functionName:    primary_pathname
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_path_join
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:83,12'
          Dst:             k5_path_join
    - functionName:    write_primary_file
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          130
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - asprintf
        - chmod
        - close
        - fclose
        - fdopen
        - fprintf
        - mkstemp
        - rename
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:187,9'
          Dst:             asprintf
        - Src:             'cc_dir.c:189,10'
          Dst:             mkstemp
        - Src:             'cc_dir.c:193,5'
          Dst:             chmod
        - Src:             'cc_dir.c:195,10'
          Dst:             fdopen
        - Src:             'cc_dir.c:199,9'
          Dst:             fprintf
        - Src:             'cc_dir.c:201,14'
          Dst:             fclose
        - Src:             'cc_dir.c:206,9'
          Dst:             rename
        - Src:             'cc_dir.c:212,9'
          Dst:             close
        - Src:             'cc_dir.c:214,9'
          Dst:             fclose
    - functionName:    mkstemp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chmod
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fdopen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    filename_is_cache
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strncmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:76,13'
          Dst:             strncmp
    - 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:    5
      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:    4
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    subsidiary_residual
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - asprintf
        - k5_path_join
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:95,11'
          Dst:             k5_path_join
        - Src:             'cc_dir.c:98,11'
          Dst:             asprintf
    - functionName:    get_context_subsidiary_file
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 287
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          62
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_cc_default_name
        - strdup
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:279,15'
          Dst:             krb5_cc_default_name
        - Src:             'cc_dir.c:280,28'
          Dst:             strncmp
        - Src:             'cc_dir.c:282,16'
          Dst:             strdup
    - functionName:    get_context_default_dir
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          85
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - krb5_cc_default_name
        - strdup
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:254,15'
          Dst:             krb5_cc_default_name
        - Src:             'cc_dir.c:257,9'
          Dst:             strncmp
        - Src:             'cc_dir.c:260,15'
          Dst:             strdup
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read_primary_file
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          111
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - dgettext
        - fclose
        - fgets
        - filename_is_cache
        - fopen
        - krb5_set_error_message
        - strchr
        - strlen
        - subsidiary_residual
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:156,10'
          Dst:             fopen
        - Src:             'cc_dir.c:159,11'
          Dst:             fgets
        - Src:             'cc_dir.c:160,5'
          Dst:             fclose
        - Src:             'cc_dir.c:163,11'
          Dst:             strlen
        - Src:             'cc_dir.c:167,34'
          Dst:             filename_is_cache
        - Src:             'cc_dir.c:168,9'
          Dst:             strchr
        - Src:             'cc_dir.c:168,29'
          Dst:             strchr
        - Src:             'cc_dir.c:169,44'
          Dst:             dgettext
        - Src:             'cc_dir.c:169,9'
          Dst:             krb5_set_error_message
        - Src:             'cc_dir.c:175,12'
          Dst:             subsidiary_residual
    - functionName:    verify_dir
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - dgettext
        - krb5_set_error_message
        - mkdir
        - stat
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:225,9'
          Dst:             stat
        - Src:             'cc_dir.c:226,13'
          Dst:             __errno_location
        - Src:             'cc_dir.c:226,32'
          Dst:             mkdir
        - Src:             'cc_dir.c:229,19'
          Dst:             dgettext
        - Src:             'cc_dir.c:228,9'
          Dst:             krb5_set_error_message
        - Src:             'cc_dir.c:235,19'
          Dst:             dgettext
        - Src:             'cc_dir.c:234,9'
          Dst:             krb5_set_error_message
    - functionName:    make_cache
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          87
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_dir.c:312,21'
          Dst:             strdup
    - functionName:    mkdir
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    data_eq_string
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2229
      functionLinenumberEnd: 2231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2230,25'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2231,40'
          Dst:             memcmp
    - functionName:    delete_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1036
      functionLinenumberEnd: 1134
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          290
      EdgeCount:       49
      CyclomaticComplexity: 16
      functionsReached:
        - __errno_location
        - close
        - data_eq_string
        - ftell
        - interpret_errno
        - k5_buf_free
        - k5_buf_init_dynamic_zap
        - k5_buf_status
        - k5_marshal_cred
        - k5alloc
        - lseek
        - memcmp
        - open
        - read
        - write
        - zapfree
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:1046,5'
          Dst:             k5_buf_init_dynamic_zap
        - Src:             'cc_file.c:1047,5'
          Dst:             k5_buf_init_dynamic_zap
        - Src:             'cc_file.c:1050,5'
          Dst:             k5_marshal_cred
        - Src:             'cc_file.c:1051,11'
          Dst:             k5_buf_status
        - Src:             'cc_file.c:1065,9'
          Dst:             data_eq_string
        - Src:             'cc_file.c:1068,5'
          Dst:             k5_marshal_cred
        - Src:             'cc_file.c:1069,11'
          Dst:             k5_buf_status
        - Src:             'cc_file.c:1079,10'
          Dst:             open
        - Src:             'cc_file.c:1081,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:1081,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:1085,20'
          Dst:             ftell
        - Src:             'cc_file.c:1087,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:1087,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:1093,9'
          Dst:             lseek
        - Src:             'cc_file.c:1094,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:1094,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:1097,15'
          Dst:             k5alloc
        - Src:             'cc_file.c:1100,13'
          Dst:             read
        - Src:             'cc_file.c:1102,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:1102,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:1114,9'
          Dst:             memcmp
        - Src:             'cc_file.c:1118,9'
          Dst:             lseek
        - Src:             'cc_file.c:1119,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:1119,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:1122,13'
          Dst:             write
        - Src:             'cc_file.c:1124,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:1124,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:1130,9'
          Dst:             close
        - Src:             'cc_file.c:1131,5'
          Dst:             zapfree
        - Src:             'cc_file.c:1132,5'
          Dst:             k5_buf_free
        - Src:             'cc_file.c:1133,5'
          Dst:             k5_buf_free
    - functionName:    interpret_errno
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1343
      functionLinenumberEnd: 1391
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          77
      EdgeCount:       36
      CyclomaticComplexity: 19
      functionsReached: []
      functionUses:    24
      BranchProfiles:
        - Branch String:   'cc_file.c:1346,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    ftell
      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:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lseek
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cred_removed
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 755
      functionLinenumberEnd: 756
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          29
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    load_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          213
      EdgeCount:       40
      CyclomaticComplexity: 13
      functionsReached:
        - load_bytes
        - load_data
        - load_principal
        - read32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:254,11'
          Dst:             load_principal
        - Src:             'cc_file.c:257,11'
          Dst:             load_principal
        - Src:             'cc_file.c:262,11'
          Dst:             load_bytes
        - Src:             'cc_file.c:265,11'
          Dst:             load_data
        - Src:             'cc_file.c:270,11'
          Dst:             load_bytes
        - Src:             'cc_file.c:276,15'
          Dst:             read32
        - Src:             'cc_file.c:280,19'
          Dst:             load_bytes
        - Src:             'cc_file.c:283,19'
          Dst:             load_data
        - Src:             'cc_file.c:290,11'
          Dst:             load_data
        - Src:             'cc_file.c:293,12'
          Dst:             load_data
    - functionName:    load_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          115
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - load_bytes
        - load_data
        - read32
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:226,15'
          Dst:             load_bytes
        - Src:             'cc_file.c:230,11'
          Dst:             read32
        - Src:             'cc_file.c:237,15'
          Dst:             load_data
    - functionName:    load_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_buf_get_space
        - read_bytes
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:195,11'
          Dst:             k5_buf_get_space
        - Src:             'cc_file.c:196,44'
          Dst:             read_bytes
    - functionName:    load_data
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - load_bytes
        - read32
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:208,11'
          Dst:             read32
        - Src:             'cc_file.c:213,12'
          Dst:             load_bytes
    - functionName:    read32
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - k5_buf_add_len
        - load_32_be
        - load_32_n
        - read_bytes
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:165,11'
          Dst:             read_bytes
        - Src:             'cc_file.c:169,9'
          Dst:             k5_buf_add_len
        - Src:             'cc_file.c:170,28'
          Dst:             load_32_n
        - Src:             'cc_file.c:170,47'
          Dst:             load_32_be
    - functionName:    read_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - ferror
        - fread
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:150,13'
          Dst:             fread
        - Src:             'cc_file.c:152,16'
          Dst:             ferror
        - Src:             'cc_file.c:152,29'
          Dst:             __errno_location
    - functionName:    load_32_n
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 737
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fread
      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:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ferror
      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:    get_size
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - fileno
        - fstat
        - interpret_errno
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:134,15'
          Dst:             fileno
        - Src:             'cc_file.c:134,9'
          Dst:             fstat
        - Src:             'cc_file.c:135,41'
          Dst:             __errno_location
        - Src:             'cc_file.c:135,16'
          Dst:             interpret_errno
    - functionName:    read_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - get_size
        - k5_buf_free
        - k5_buf_init_dynamic
        - k5_buf_status
        - k5_unmarshal_princ
        - load_principal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:305,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'cc_file.c:308,11'
          Dst:             get_size
        - Src:             'cc_file.c:311,11'
          Dst:             load_principal
        - Src:             'cc_file.c:314,11'
          Dst:             k5_buf_status
        - Src:             'cc_file.c:319,11'
          Dst:             k5_unmarshal_princ
        - Src:             'cc_file.c:322,5'
          Dst:             k5_buf_free
    - functionName:    load_16_n
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 727
      functionLinenumberEnd: 730
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read16
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - load_16_be
        - load_16_n
        - read_bytes
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:182,11'
          Dst:             read_bytes
        - Src:             'cc_file.c:185,28'
          Dst:             load_16_n
        - Src:             'cc_file.c:185,47'
          Dst:             load_16_be
    - functionName:    load_16_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 589
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_16
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:589,12'
          Dst:             __bswap_16
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    close_cache_file
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 379
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          64
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - fclose
        - fileno
        - interpret_errno
        - krb5_unlock_file
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:374,37'
          Dst:             fileno
        - Src:             'cc_file.c:374,11'
          Dst:             krb5_unlock_file
        - Src:             'cc_file.c:375,10'
          Dst:             fclose
        - Src:             'cc_file.c:378,42'
          Dst:             __errno_location
        - Src:             'cc_file.c:378,17'
          Dst:             interpret_errno
    - functionName:    read_header
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          265
      EdgeCount:       63
      CyclomaticComplexity: 18
      functionsReached:
        - fseek
        - load_16_be
        - read16
        - read32
        - read_bytes
      functionUses:    3
      BranchProfiles:
        - Branch String:   'cc_file.c:415,9'
          Branch Sides:    []
      Callsites:
        - Src:             'cc_file.c:396,11'
          Dst:             read_bytes
        - Src:             'cc_file.c:399,15'
          Dst:             load_16_be
        - Src:             'cc_file.c:408,9'
          Dst:             read16
        - Src:             'cc_file.c:411,31'
          Dst:             read16
        - Src:             'cc_file.c:412,13'
          Dst:             read16
        - Src:             'cc_file.c:418,17'
          Dst:             read32
        - Src:             'cc_file.c:419,17'
          Dst:             read32
        - Src:             'cc_file.c:433,25'
          Dst:             fseek
    - functionName:    fseek
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    17
      BranchProfiles:  []
      Callsites:       []
    - functionName:    open_cache_file
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 363
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          107
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - close
        - fcntl
        - fdopen
        - interpret_errno
        - krb5_lock_file
        - krb5_unlock_file
        - open
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:342,10'
          Dst:             open
        - Src:             'cc_file.c:344,41'
          Dst:             __errno_location
        - Src:             'cc_file.c:344,16'
          Dst:             interpret_errno
        - Src:             'cc_file.c:345,5'
          Dst:             fcntl
        - Src:             'cc_file.c:348,11'
          Dst:             krb5_lock_file
        - Src:             'cc_file.c:350,15'
          Dst:             close
        - Src:             'cc_file.c:354,10'
          Dst:             fdopen
        - Src:             'cc_file.c:356,15'
          Dst:             krb5_unlock_file
        - Src:             'cc_file.c:357,15'
          Dst:             close
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    k5_buf_add_uint32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-buf.h'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_buf_get_space
        - store_32_be
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-buf.h:144,15'
          Dst:             k5_buf_get_space
        - Src:             '../../../include/k5-buf.h:147,9'
          Dst:             store_32_be
    - functionName:    k5_buf_add_uint16_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-buf.h'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_buf_get_space
        - store_16_be
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-buf.h:126,15'
          Dst:             k5_buf_get_space
        - Src:             '../../../include/k5-buf.h:129,9'
          Dst:             store_16_be
    - functionName:    store_16_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 547
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_16
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:542,5'
          Dst:             __bswap_16
    - functionName:    marshal_header
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 466
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          104
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - k5_buf_add_uint16_be
        - k5_buf_add_uint32_be
        - k5_marshal_princ
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:450,5'
          Dst:             k5_buf_add_uint16_be
        - Src:             'cc_file.c:456,9'
          Dst:             k5_buf_add_uint16_be
        - Src:             'cc_file.c:459,13'
          Dst:             k5_buf_add_uint16_be
        - Src:             'cc_file.c:460,13'
          Dst:             k5_buf_add_uint16_be
        - Src:             'cc_file.c:461,13'
          Dst:             k5_buf_add_uint32_be
        - Src:             'cc_file.c:462,13'
          Dst:             k5_buf_add_uint32_be
        - Src:             'cc_file.c:465,5'
          Dst:             k5_marshal_princ
    - functionName:    krb5_get_notification_message
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1458
      functionLinenumberEnd: 1459
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fcc_unlock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1268
      functionLinenumberEnd: 1271
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:1270,5'
          Dst:             k5_cc_mutex_unlock
    - functionName:    fcc_lock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1259
      functionLinenumberEnd: 1262
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_mutex_lock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:1261,5'
          Dst:             k5_cc_mutex_lock
    - functionName:    fcc_replace
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1277
      functionLinenumberEnd: 1338
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          203
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached:
        - __errno_location
        - asprintf
        - close
        - interpret_errno
        - k5_buf_free
        - k5_buf_init_dynamic_zap
        - k5_buf_status
        - k5_marshal_cred
        - marshal_header
        - mkstemp
        - rename
        - unlink
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:1286,9'
          Dst:             asprintf
        - Src:             'cc_file.c:1288,10'
          Dst:             mkstemp
        - Src:             'cc_file.c:1293,5'
          Dst:             k5_buf_init_dynamic_zap
        - Src:             'cc_file.c:1294,5'
          Dst:             marshal_header
        - Src:             'cc_file.c:1296,9'
          Dst:             k5_marshal_cred
        - Src:             'cc_file.c:1297,11'
          Dst:             k5_buf_status
        - Src:             'cc_file.c:1301,16'
          Dst:             write
        - Src:             'cc_file.c:1308,10'
          Dst:             close
        - Src:             'cc_file.c:1313,10'
          Dst:             rename
        - Src:             'cc_file.c:1327,5'
          Dst:             k5_buf_free
        - Src:             'cc_file.c:1329,9'
          Dst:             close
        - Src:             'cc_file.c:1331,9'
          Dst:             unlink
        - Src:             'cc_file.c:1336,36'
          Dst:             __errno_location
        - Src:             'cc_file.c:1336,11'
          Dst:             interpret_errno
    - 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:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fcc_ptcursor_free
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1246
      functionLinenumberEnd: 1253
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fcc_ptcursor_next
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1208
      functionLinenumberEnd: 1241
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          120
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - krb5_cc_default_name
        - krb5_cc_resolve
        - set_errmsg_filename
        - stat
        - strchr
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:1220,15'
          Dst:             krb5_cc_default_name
        - Src:             'cc_file.c:1225,9'
          Dst:             strncmp
        - Src:             'cc_file.c:1227,14'
          Dst:             strchr
        - Src:             'cc_file.c:1233,9'
          Dst:             stat
        - Src:             'cc_file.c:1236,11'
          Dst:             krb5_cc_resolve
        - Src:             'cc_file.c:1238,16'
          Dst:             set_errmsg_filename
    - functionName:    set_errmsg_filename
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - error_message
        - krb5_set_error_message
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:122,50'
          Dst:             error_message
        - Src:             'cc_file.c:122,5'
          Dst:             krb5_set_error_message
    - functionName:    fcc_ptcursor_new
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1182
      functionLinenumberEnd: 1201
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fcc_get_name
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 947
      functionLinenumberEnd: 948
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fcc_resolve
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 698
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          100
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - free_fccdata
        - k5_cc_mutex_init
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:672,22'
          Dst:             strdup
        - Src:             'cc_file.c:677,11'
          Dst:             k5_cc_mutex_init
        - Src:             'cc_file.c:686,9'
          Dst:             free_fccdata
    - functionName:    fcc_generate_new
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 937
      functionLinenumberEnd: 941
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5int_fcc_new_unique
        - snprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:940,11'
          Dst:             snprintf
        - Src:             'cc_file.c:941,12'
          Dst:             krb5int_fcc_new_unique
    - functionName:    fcc_initialize
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 529
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          186
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - close
        - fchmod
        - fcntl
        - interpret_errno
        - k5_buf_free
        - k5_buf_init_dynamic
        - k5_buf_status
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - krb5_change_cache
        - krb5_lock_file
        - krb5_unlock_file
        - marshal_header
        - open
        - set_errmsg_filename
        - unlink
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:479,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_file.c:481,5'
          Dst:             unlink
        - Src:             'cc_file.c:483,10'
          Dst:             open
        - Src:             'cc_file.c:485,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:485,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:488,5'
          Dst:             fcntl
        - Src:             'cc_file.c:492,10'
          Dst:             fchmod
        - Src:             'cc_file.c:497,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:497,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:502,11'
          Dst:             krb5_lock_file
        - Src:             'cc_file.c:508,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'cc_file.c:509,5'
          Dst:             marshal_header
        - Src:             'cc_file.c:510,11'
          Dst:             k5_buf_status
        - Src:             'cc_file.c:515,16'
          Dst:             write
        - Src:             'cc_file.c:517,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:517,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:522,5'
          Dst:             k5_buf_free
        - Src:             'cc_file.c:524,9'
          Dst:             krb5_unlock_file
        - Src:             'cc_file.c:526,9'
          Dst:             close
        - Src:             'cc_file.c:527,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_file.c:528,5'
          Dst:             krb5_change_cache
        - Src:             'cc_file.c:529,12'
          Dst:             set_errmsg_filename
    - functionName:    fcc_destroy
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 554
      functionLinenumberEnd: 656
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          190
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - close
        - fcntl
        - free_fccdata
        - fstat
        - interpret_errno
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - krb5_change_cache
        - open
        - set_errmsg_filename
        - unlink
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:563,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_file.c:565,10'
          Dst:             open
        - Src:             'cc_file.c:567,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:567,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:570,5'
          Dst:             fcntl
        - Src:             'cc_file.c:610,10'
          Dst:             unlink
        - Src:             'cc_file.c:612,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:612,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:613,15'
          Dst:             close
        - Src:             'cc_file.c:617,10'
          Dst:             fstat
        - Src:             'cc_file.c:619,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:619,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:620,15'
          Dst:             close
        - Src:             'cc_file.c:628,13'
          Dst:             write
        - Src:             'cc_file.c:629,44'
          Dst:             __errno_location
        - Src:             'cc_file.c:629,19'
          Dst:             interpret_errno
        - Src:             'cc_file.c:630,19'
          Dst:             close
        - Src:             'cc_file.c:636,9'
          Dst:             write
        - Src:             'cc_file.c:637,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:637,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:638,15'
          Dst:             close
        - Src:             'cc_file.c:642,10'
          Dst:             close
        - Src:             'cc_file.c:645,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:645,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:650,11'
          Dst:             set_errmsg_filename
        - Src:             'cc_file.c:651,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_file.c:652,5'
          Dst:             free_fccdata
        - Src:             'cc_file.c:655,5'
          Dst:             krb5_change_cache
    - functionName:    fcc_close
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 545
      functionLinenumberEnd: 548
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - free_fccdata
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:546,5'
          Dst:             free_fccdata
    - functionName:    fcc_store
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 989
      functionLinenumberEnd: 1025
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          145
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - close_cache_file
        - fileno
        - interpret_errno
        - k5_buf_free
        - k5_buf_init_dynamic_zap
        - k5_buf_status
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - k5_marshal_cred
        - krb5_change_cache
        - open_cache_file
        - read_header
        - set_errmsg_filename
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:997,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_file.c:1000,11'
          Dst:             open_cache_file
        - Src:             'cc_file.c:1003,11'
          Dst:             read_header
        - Src:             'cc_file.c:1008,5'
          Dst:             k5_buf_init_dynamic_zap
        - Src:             'cc_file.c:1009,5'
          Dst:             k5_marshal_cred
        - Src:             'cc_file.c:1010,11'
          Dst:             k5_buf_status
        - Src:             'cc_file.c:1013,22'
          Dst:             fileno
        - Src:             'cc_file.c:1013,16'
          Dst:             write
        - Src:             'cc_file.c:1015,40'
          Dst:             __errno_location
        - Src:             'cc_file.c:1015,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:1019,5'
          Dst:             krb5_change_cache
        - Src:             'cc_file.c:1022,5'
          Dst:             k5_buf_free
        - Src:             'cc_file.c:1023,12'
          Dst:             close_cache_file
        - Src:             'cc_file.c:1024,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_file.c:1025,12'
          Dst:             set_errmsg_filename
    - functionName:    fcc_retrieve
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 979
      functionLinenumberEnd: 983
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_retrieve_cred_default
        - set_errmsg_filename
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:982,11'
          Dst:             k5_cc_retrieve_cred_default
        - Src:             'cc_file.c:983,12'
          Dst:             set_errmsg_filename
    - functionName:    fcc_get_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 954
      functionLinenumberEnd: 972
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          79
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - close_cache_file
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - open_cache_file
        - read_header
        - read_principal
        - set_errmsg_filename
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:960,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_file.c:961,11'
          Dst:             open_cache_file
        - Src:             'cc_file.c:964,11'
          Dst:             read_header
        - Src:             'cc_file.c:967,11'
          Dst:             read_principal
        - Src:             'cc_file.c:970,11'
          Dst:             close_cache_file
        - Src:             'cc_file.c:971,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_file.c:972,12'
          Dst:             set_errmsg_filename
    - functionName:    fcc_start_seq_get
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 703
      functionLinenumberEnd: 745
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          122
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - close_cache_file
        - fileno
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - krb5_free_principal
        - krb5_unlock_file
        - open_cache_file
        - read_header
        - read_principal
        - set_errmsg_filename
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:711,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_file.c:720,11'
          Dst:             open_cache_file
        - Src:             'cc_file.c:723,11'
          Dst:             read_header
        - Src:             'cc_file.c:728,11'
          Dst:             read_principal
        - Src:             'cc_file.c:733,37'
          Dst:             fileno
        - Src:             'cc_file.c:733,11'
          Dst:             krb5_unlock_file
        - Src:             'cc_file.c:741,11'
          Dst:             close_cache_file
        - Src:             'cc_file.c:743,5'
          Dst:             krb5_free_principal
        - Src:             'cc_file.c:744,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_file.c:745,12'
          Dst:             set_errmsg_filename
    - functionName:    fcc_next_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 763
      functionLinenumberEnd: 810
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          163
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - cred_removed
        - fileno
        - get_size
        - k5_buf_free
        - k5_buf_init_dynamic_zap
        - k5_buf_status
        - k5_buf_truncate
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - k5_unmarshal_cred
        - krb5_free_cred_contents
        - krb5_lock_file
        - krb5_unlock_file
        - load_cred
        - set_errmsg_filename
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:772,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_file.c:773,5'
          Dst:             k5_buf_init_dynamic_zap
        - Src:             'cc_file.c:775,35'
          Dst:             fileno
        - Src:             'cc_file.c:775,11'
          Dst:             krb5_lock_file
        - Src:             'cc_file.c:782,15'
          Dst:             get_size
        - Src:             'cc_file.c:785,15'
          Dst:             load_cred
        - Src:             'cc_file.c:788,15'
          Dst:             k5_buf_status
        - Src:             'cc_file.c:793,15'
          Dst:             k5_unmarshal_cred
        - Src:             'cc_file.c:798,14'
          Dst:             cred_removed
        - Src:             'cc_file.c:801,9'
          Dst:             k5_buf_truncate
        - Src:             'cc_file.c:802,9'
          Dst:             krb5_free_cred_contents
        - Src:             'cc_file.c:807,41'
          Dst:             fileno
        - Src:             'cc_file.c:807,15'
          Dst:             krb5_unlock_file
        - Src:             'cc_file.c:808,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_file.c:809,5'
          Dst:             k5_buf_free
        - Src:             'cc_file.c:810,12'
          Dst:             set_errmsg_filename
    - functionName:    fcc_end_seq_get
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 816
      functionLinenumberEnd: 822
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fclose
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:819,11'
          Dst:             fclose
    - functionName:    fcc_remove_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1141
      functionLinenumberEnd: 1164
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          103
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - delete_cred
        - krb5_cc_end_seq_get
        - krb5_cc_next_cred
        - krb5_cc_start_seq_get
        - krb5_free_cred_contents
        - krb5int_cc_creds_match_request
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:1146,11'
          Dst:             krb5_cc_start_seq_get
        - Src:             'cc_file.c:1151,15'
          Dst:             krb5_cc_next_cred
        - Src:             'cc_file.c:1155,13'
          Dst:             krb5int_cc_creds_match_request
        - Src:             'cc_file.c:1156,19'
          Dst:             delete_cred
        - Src:             'cc_file.c:1157,9'
          Dst:             krb5_free_cred_contents
        - Src:             'cc_file.c:1162,5'
          Dst:             krb5_cc_end_seq_get
    - functionName:    fcc_set_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1168
      functionLinenumberEnd: 1169
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fcc_get_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1174
      functionLinenumberEnd: 1176
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_change_cache
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1452
      functionLinenumberEnd: 1453
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_fccdata
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 535
      functionLinenumberEnd: 540
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_mutex_assert_unlocked
        - k5_os_mutex_destroy
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:536,5'
          Dst:             k5_cc_mutex_assert_unlocked
        - Src:             'cc_file.c:538,5'
          Dst:             k5_os_mutex_destroy
    - functionName:    fchmod
      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:    krb5int_fcc_new_unique
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 829
      functionLinenumberEnd: 928
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          288
      EdgeCount:       41
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - close
        - fchmod
        - fcntl
        - free_fccdata
        - interpret_errno
        - k5_cc_mutex_assert_locked
        - k5_cc_mutex_init
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - k5_os_mutex_destroy
        - krb5_change_cache
        - mkstemp
        - set_errmsg_filename
        - store_16_be
        - strdup
        - unlink
        - write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_file.c:838,10'
          Dst:             mkstemp
        - Src:             'cc_file.c:840,41'
          Dst:             __errno_location
        - Src:             'cc_file.c:840,16'
          Dst:             interpret_errno
        - Src:             'cc_file.c:841,5'
          Dst:             fcntl
        - Src:             'cc_file.c:846,9'
          Dst:             close
        - Src:             'cc_file.c:847,9'
          Dst:             unlink
        - Src:             'cc_file.c:851,22'
          Dst:             strdup
        - Src:             'cc_file.c:854,9'
          Dst:             close
        - Src:             'cc_file.c:855,9'
          Dst:             unlink
        - Src:             'cc_file.c:859,11'
          Dst:             k5_cc_mutex_init
        - Src:             'cc_file.c:863,9'
          Dst:             close
        - Src:             'cc_file.c:864,9'
          Dst:             unlink
        - Src:             'cc_file.c:867,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_file.c:875,5'
          Dst:             fchmod
        - Src:             'cc_file.c:877,5'
          Dst:             store_16_be
        - Src:             'cc_file.c:878,11'
          Dst:             write
        - Src:             'cc_file.c:880,19'
          Dst:             __errno_location
        - Src:             'cc_file.c:881,15'
          Dst:             close
        - Src:             'cc_file.c:882,15'
          Dst:             unlink
        - Src:             'cc_file.c:883,29'
          Dst:             interpret_errno
        - Src:             'cc_file.c:888,15'
          Dst:             write
        - Src:             'cc_file.c:890,23'
          Dst:             __errno_location
        - Src:             'cc_file.c:891,19'
          Dst:             close
        - Src:             'cc_file.c:892,19'
          Dst:             unlink
        - Src:             'cc_file.c:893,33'
          Dst:             interpret_errno
        - Src:             'cc_file.c:897,9'
          Dst:             close
        - Src:             'cc_file.c:898,19'
          Dst:             __errno_location
        - Src:             'cc_file.c:899,15'
          Dst:             unlink
        - Src:             'cc_file.c:900,15'
          Dst:             interpret_errno
        - Src:             'cc_file.c:904,5'
          Dst:             k5_cc_mutex_assert_locked
        - Src:             'cc_file.c:905,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_file.c:908,9'
          Dst:             free_fccdata
        - Src:             'cc_file.c:918,5'
          Dst:             krb5_change_cache
        - Src:             'cc_file.c:922,11'
          Dst:             set_errmsg_filename
        - Src:             'cc_file.c:923,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_file.c:924,5'
          Dst:             k5_os_mutex_destroy
    - functionName:    name_exists
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1199
      functionLinenumberEnd: 1207
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_buf_add_len
        - kcmio_call
        - kcmreq_free
        - kcmreq_init
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1203,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:1204,39'
          Dst:             strlen
        - Src:             'cc_kcm.c:1204,5'
          Dst:             k5_buf_add_len
        - Src:             'cc_kcm.c:1205,11'
          Dst:             kcmio_call
        - Src:             'cc_kcm.c:1206,5'
          Dst:             kcmreq_free
    - functionName:    kcmreq_init
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          60
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_buf_add_len
        - k5_buf_init_dynamic
        - store_16_be
        - strlen
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:173,5'
          Dst:             store_16_be
        - Src:             'cc_kcm.c:175,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'cc_kcm.c:176,5'
          Dst:             k5_buf_add_len
        - Src:             'cc_kcm.c:179,44'
          Dst:             strlen
        - Src:             'cc_kcm.c:179,9'
          Dst:             k5_buf_add_len
    - functionName:    kcmio_call
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 452
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          128
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - k5_buf_status
        - k5_input_get_uint32_be
        - k5_input_init
        - kcmio_unix_socket_read
        - kcmio_unix_socket_write
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:456,9'
          Dst:             k5_buf_status
        - Src:             'cc_kcm.c:460,15'
          Dst:             kcmio_unix_socket_write
        - Src:             'cc_kcm.c:464,15'
          Dst:             kcmio_unix_socket_read
        - Src:             'cc_kcm.c:476,5'
          Dst:             k5_input_init
        - Src:             'cc_kcm.c:477,11'
          Dst:             k5_input_get_uint32_be
    - functionName:    kcmreq_free
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 616
      functionLinenumberEnd: 619
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_buf_free
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:617,5'
          Dst:             k5_buf_free
    - functionName:    kcmio_unix_socket_write
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 379
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          106
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - close
        - kcmio_unix_socket_connect
        - krb5int_net_writev
        - store_32_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:355,5'
          Dst:             store_32_be
        - Src:             'cc_kcm.c:358,15'
          Dst:             krb5int_net_writev
        - Src:             'cc_kcm.c:361,15'
          Dst:             __errno_location
        - Src:             'cc_kcm.c:373,9'
          Dst:             close
        - Src:             'cc_kcm.c:374,15'
          Dst:             kcmio_unix_socket_connect
    - functionName:    kcmio_unix_socket_read
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 421
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          187
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - __errno_location
        - krb5_net_read
        - load_32_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:395,10'
          Dst:             krb5_net_read
        - Src:             'cc_kcm.c:397,29'
          Dst:             __errno_location
        - Src:             'cc_kcm.c:398,11'
          Dst:             load_32_be
        - Src:             'cc_kcm.c:402,10'
          Dst:             krb5_net_read
        - Src:             'cc_kcm.c:404,29'
          Dst:             __errno_location
        - Src:             'cc_kcm.c:405,12'
          Dst:             load_32_be
        - Src:             'cc_kcm.c:412,10'
          Dst:             krb5_net_read
        - Src:             'cc_kcm.c:415,27'
          Dst:             __errno_location
    - functionName:    k5_input_init
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_input_get_uint32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
        - load_32_be
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:111,32'
          Dst:             k5_input_get_bytes
        - Src:             '../../../include/k5-input.h:112,32'
          Dst:             load_32_be
    - functionName:    k5_input_get_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_input_set_status
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:72,9'
          Dst:             k5_input_set_status
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_input_set_status
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    kcmio_unix_socket_connect
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          116
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - close
        - krb5int_strlcpy
        - profile_get_string
        - profile_release_string
        - socket
        - socket_connect
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:308,11'
          Dst:             profile_get_string
        - Src:             'cc_kcm.c:313,9'
          Dst:             strcmp
        - Src:             'cc_kcm.c:318,10'
          Dst:             socket
        - Src:             'cc_kcm.c:320,15'
          Dst:             __errno_location
        - Src:             'cc_kcm.c:326,5'
          Dst:             krb5int_strlcpy
        - Src:             'cc_kcm.c:327,9'
          Dst:             socket_connect
        - Src:             'cc_kcm.c:328,16'
          Dst:             __errno_location
        - Src:             'cc_kcm.c:328,63'
          Dst:             __errno_location
        - Src:             'cc_kcm.c:337,9'
          Dst:             close
        - Src:             'cc_kcm.c:338,5'
          Dst:             profile_release_string
    - functionName:    socket
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    socket_connect
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/port-sockets.h'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - connect
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/port-sockets.h:232,10'
          Dst:             connect
    - functionName:    connect
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_16_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 547
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_16
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:542,5'
          Dst:             __bswap_16
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_ptcursor
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1101
      functionLinenumberEnd: 1136
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          110
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - free_uuid_list
        - kcmio_close
        - strdup
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1109,25'
          Dst:             strdup
        - Src:             'cc_kcm.c:1130,5'
          Dst:             kcmio_close
        - Src:             'cc_kcm.c:1131,5'
          Dst:             free_uuid_list
    - functionName:    kcmio_close
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 483
      functionLinenumberEnd: 490
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          41
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - close
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:487,13'
          Dst:             close
    - functionName:    free_uuid_list
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 545
      functionLinenumberEnd: 549
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    kcm_get_name
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 719
      functionLinenumberEnd: 720
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    kcm_resolve
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 742
      functionLinenumberEnd: 767
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          77
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - get_primary_name
        - kcmio_close
        - kcmio_connect
        - kcmreq_free
        - make_cache
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:750,11'
          Dst:             kcmio_connect
        - Src:             'cc_kcm.c:755,15'
          Dst:             get_primary_name
        - Src:             'cc_kcm.c:761,11'
          Dst:             make_cache
        - Src:             'cc_kcm.c:765,5'
          Dst:             kcmio_close
        - Src:             'cc_kcm.c:766,5'
          Dst:             kcmreq_free
    - functionName:    kcm_gen_new
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 797
      functionLinenumberEnd: 821
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          72
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - kcmio_call
        - kcmio_close
        - kcmio_connect
        - kcmreq_free
        - kcmreq_get_name
        - kcmreq_init
        - make_cache
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:805,11'
          Dst:             kcmio_connect
        - Src:             'cc_kcm.c:808,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:809,11'
          Dst:             kcmio_call
        - Src:             'cc_kcm.c:812,11'
          Dst:             kcmreq_get_name
        - Src:             'cc_kcm.c:815,11'
          Dst:             make_cache
        - Src:             'cc_kcm.c:819,5'
          Dst:             kcmreq_free
        - Src:             'cc_kcm.c:820,5'
          Dst:             kcmio_close
    - functionName:    kcm_initialize
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 826
      functionLinenumberEnd: 835
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cache_call
        - k5_marshal_princ
        - kcmreq_free
        - kcmreq_init
        - set_kdc_offset
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:830,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:831,5'
          Dst:             k5_marshal_princ
        - Src:             'cc_kcm.c:832,11'
          Dst:             cache_call
        - Src:             'cc_kcm.c:833,5'
          Dst:             kcmreq_free
        - Src:             'cc_kcm.c:834,5'
          Dst:             set_kdc_offset
    - functionName:    kcm_destroy
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 853
      functionLinenumberEnd: 861
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cache_call
        - kcm_close
        - kcmreq_free
        - kcmreq_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:857,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:858,11'
          Dst:             cache_call
        - Src:             'cc_kcm.c:859,5'
          Dst:             kcmreq_free
        - Src:             'cc_kcm.c:860,11'
          Dst:             kcm_close
    - functionName:    kcm_close
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 840
      functionLinenumberEnd: 848
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_os_mutex_destroy
        - kcmio_close
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:843,5'
          Dst:             k5_os_mutex_destroy
        - Src:             'cc_kcm.c:844,5'
          Dst:             kcmio_close
    - functionName:    kcm_store
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 866
      functionLinenumberEnd: 874
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cache_call
        - k5_marshal_cred
        - kcmreq_free
        - kcmreq_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:870,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:871,5'
          Dst:             k5_marshal_cred
        - Src:             'cc_kcm.c:872,11'
          Dst:             cache_call
        - Src:             'cc_kcm.c:873,5'
          Dst:             kcmreq_free
    - functionName:    kcm_retrieve
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 880
      functionLinenumberEnd: 929
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          154
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - cache_call
        - k5_buf_add_uint32_be
        - k5_cc_retrieve_cred_default
        - k5_etypes_contains
        - k5_marshal_mcred
        - k5_unmarshal_cred
        - kcmreq_free
        - kcmreq_init
        - krb5_free_cred_contents
        - krb5_get_tgs_ktypes
        - map_invalid
        - map_tcflags
        - unsupported_op_error
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:890,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:891,39'
          Dst:             map_tcflags
        - Src:             'cc_kcm.c:891,5'
          Dst:             k5_buf_add_uint32_be
        - Src:             'cc_kcm.c:892,5'
          Dst:             k5_marshal_mcred
        - Src:             'cc_kcm.c:893,11'
          Dst:             cache_call
        - Src:             'cc_kcm.c:896,9'
          Dst:             unsupported_op_error
        - Src:             'cc_kcm.c:897,15'
          Dst:             k5_cc_retrieve_cred_default
        - Src:             'cc_kcm.c:904,11'
          Dst:             k5_unmarshal_cred
        - Src:             'cc_kcm.c:911,15'
          Dst:             krb5_get_tgs_ktypes
        - Src:             'cc_kcm.c:914,14'
          Dst:             k5_etypes_contains
        - Src:             'cc_kcm.c:915,19'
          Dst:             k5_cc_retrieve_cred_default
        - Src:             'cc_kcm.c:925,5'
          Dst:             kcmreq_free
        - Src:             'cc_kcm.c:926,5'
          Dst:             krb5_free_cred_contents
        - Src:             'cc_kcm.c:929,54'
          Dst:             map_invalid
    - functionName:    kcm_get_princ
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 935
      functionLinenumberEnd: 953
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          97
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - cache_call
        - dgettext
        - k5_unmarshal_princ
        - kcmreq_free
        - kcmreq_init
        - krb5_set_error_message
        - map_invalid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:940,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:941,11'
          Dst:             cache_call
        - Src:             'cc_kcm.c:946,33'
          Dst:             dgettext
        - Src:             'cc_kcm.c:946,9'
          Dst:             krb5_set_error_message
        - Src:             'cc_kcm.c:951,15'
          Dst:             k5_unmarshal_princ
        - Src:             'cc_kcm.c:952,5'
          Dst:             kcmreq_free
        - Src:             'cc_kcm.c:953,12'
          Dst:             map_invalid
    - functionName:    kcm_start_seq_get
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 959
      functionLinenumberEnd: 1004
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          125
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - cache_call
        - free_cred_list
        - free_uuid_list
        - get_kdc_offset
        - k5alloc
        - kcmreq_free
        - kcmreq_get_cred_list
        - kcmreq_get_uuid_list
        - kcmreq_init
        - unsupported_op_error
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:968,5'
          Dst:             get_kdc_offset
        - Src:             'cc_kcm.c:970,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:971,11'
          Dst:             cache_call
        - Src:             'cc_kcm.c:974,15'
          Dst:             kcmreq_get_cred_list
        - Src:             'cc_kcm.c:977,16'
          Dst:             unsupported_op_error
        - Src:             'cc_kcm.c:979,9'
          Dst:             kcmreq_free
        - Src:             'cc_kcm.c:980,9'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:981,15'
          Dst:             cache_call
        - Src:             'cc_kcm.c:984,15'
          Dst:             kcmreq_get_uuid_list
        - Src:             'cc_kcm.c:991,14'
          Dst:             k5alloc
        - Src:             'cc_kcm.c:1001,5'
          Dst:             free_cred_list
        - Src:             'cc_kcm.c:1002,5'
          Dst:             free_uuid_list
        - Src:             'cc_kcm.c:1003,5'
          Dst:             kcmreq_free
    - functionName:    kcm_next_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1033
      functionLinenumberEnd: 1050
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          88
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - next_cred_by_uuid
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1038,16'
          Dst:             next_cred_by_uuid
    - functionName:    kcm_end_seq_get
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1055
      functionLinenumberEnd: 1065
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - free_cred_list
        - free_uuid_list
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1060,5'
          Dst:             free_uuid_list
        - Src:             'cc_kcm.c:1061,5'
          Dst:             free_cred_list
    - functionName:    kcm_remove_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1070
      functionLinenumberEnd: 1079
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cache_call
        - k5_buf_add_uint32_be
        - k5_marshal_mcred
        - kcmreq_free
        - kcmreq_init
        - map_tcflags
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1074,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:1075,39'
          Dst:             map_tcflags
        - Src:             'cc_kcm.c:1075,5'
          Dst:             k5_buf_add_uint32_be
        - Src:             'cc_kcm.c:1076,5'
          Dst:             k5_marshal_mcred
        - Src:             'cc_kcm.c:1077,11'
          Dst:             cache_call
        - Src:             'cc_kcm.c:1078,5'
          Dst:             kcmreq_free
    - functionName:    kcm_set_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1084
      functionLinenumberEnd: 1086
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    kcm_get_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1091
      functionLinenumberEnd: 1094
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    kcm_ptcursor_new
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1140
      functionLinenumberEnd: 1194
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          158
      EdgeCount:       33
      CyclomaticComplexity: 11
      functionsReached:
        - free_uuid_list
        - kcmio_call
        - kcmio_close
        - kcmio_connect
        - kcmreq_free
        - kcmreq_get_name
        - kcmreq_get_uuid_list
        - kcmreq_init
        - krb5_cc_default_name
        - make_ptcursor
        - strlen
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1151,15'
          Dst:             krb5_cc_default_name
        - Src:             'cc_kcm.c:1152,28'
          Dst:             strncmp
        - Src:             'cc_kcm.c:1153,16'
          Dst:             make_ptcursor
        - Src:             'cc_kcm.c:1155,11'
          Dst:             kcmio_connect
        - Src:             'cc_kcm.c:1160,9'
          Dst:             strlen
        - Src:             'cc_kcm.c:1161,16'
          Dst:             make_ptcursor
        - Src:             'cc_kcm.c:1163,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:1164,11'
          Dst:             kcmio_call
        - Src:             'cc_kcm.c:1167,15'
          Dst:             make_ptcursor
        - Src:             'cc_kcm.c:1172,11'
          Dst:             kcmreq_get_uuid_list
        - Src:             'cc_kcm.c:1176,5'
          Dst:             kcmreq_free
        - Src:             'cc_kcm.c:1177,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:1178,11'
          Dst:             kcmio_call
        - Src:             'cc_kcm.c:1181,11'
          Dst:             kcmreq_get_name
        - Src:             'cc_kcm.c:1185,11'
          Dst:             make_ptcursor
        - Src:             'cc_kcm.c:1190,5'
          Dst:             free_uuid_list
        - Src:             'cc_kcm.c:1191,5'
          Dst:             kcmio_close
        - Src:             'cc_kcm.c:1192,5'
          Dst:             kcmreq_free
    - functionName:    kcm_ptcursor_next
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1213
      functionLinenumberEnd: 1263
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          192
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - k5_buf_add_len
        - kcmio_call
        - kcmreq_free
        - kcmreq_get_name
        - kcmreq_init
        - make_cache
        - name_exists
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1226,13'
          Dst:             name_exists
        - Src:             'cc_kcm.c:1227,20'
          Dst:             make_cache
        - Src:             'cc_kcm.c:1237,9'
          Dst:             kcmreq_free
        - Src:             'cc_kcm.c:1238,9'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:1239,9'
          Dst:             k5_buf_add_len
        - Src:             'cc_kcm.c:1240,15'
          Dst:             kcmio_call
        - Src:             'cc_kcm.c:1248,15'
          Dst:             kcmreq_get_name
        - Src:             'cc_kcm.c:1253,13'
          Dst:             strcmp
        - Src:             'cc_kcm.c:1256,15'
          Dst:             make_cache
        - Src:             'cc_kcm.c:1261,5'
          Dst:             kcmreq_free
    - functionName:    kcm_ptcursor_free
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1267
      functionLinenumberEnd: 1276
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          40
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - free_uuid_list
        - kcmio_close
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1271,5'
          Dst:             free_uuid_list
        - Src:             'cc_kcm.c:1272,5'
          Dst:             kcmio_close
    - functionName:    kcm_replace
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1282
      functionLinenumberEnd: 1314
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          165
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - cache_call
        - k5_buf_add_uint32_be
        - k5_buf_status
        - k5_marshal_cred
        - k5_marshal_princ
        - k5_nonatomic_replace
        - kcmreq_free
        - kcmreq_init
        - store_32_be
        - unsupported_op_error
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1291,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:1293,5'
          Dst:             k5_buf_add_uint32_be
        - Src:             'cc_kcm.c:1294,5'
          Dst:             k5_marshal_princ
        - Src:             'cc_kcm.c:1296,5'
          Dst:             k5_buf_add_uint32_be
        - Src:             'cc_kcm.c:1300,9'
          Dst:             k5_buf_add_uint32_be
        - Src:             'cc_kcm.c:1301,9'
          Dst:             k5_marshal_cred
        - Src:             'cc_kcm.c:1302,13'
          Dst:             k5_buf_status
        - Src:             'cc_kcm.c:1304,13'
          Dst:             store_32_be
        - Src:             'cc_kcm.c:1307,11'
          Dst:             cache_call
        - Src:             'cc_kcm.c:1308,5'
          Dst:             kcmreq_free
        - Src:             'cc_kcm.c:1310,9'
          Dst:             unsupported_op_error
        - Src:             'cc_kcm.c:1311,16'
          Dst:             k5_nonatomic_replace
    - functionName:    kcm_lock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1318
      functionLinenumberEnd: 1320
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_mutex_lock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1319,5'
          Dst:             k5_cc_mutex_lock
    - functionName:    kcm_unlock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1325
      functionLinenumberEnd: 1327
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1326,5'
          Dst:             k5_cc_mutex_unlock
    - functionName:    kcm_switch_to
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1332
      functionLinenumberEnd: 1339
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cache_call
        - kcmreq_free
        - kcmreq_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1336,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:1337,11'
          Dst:             cache_call
        - Src:             'cc_kcm.c:1338,5'
          Dst:             kcmreq_free
    - functionName:    cache_call
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 671
      functionLinenumberEnd: 678
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - kcmio_call
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:675,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_kcm.c:676,11'
          Dst:             kcmio_call
        - Src:             'cc_kcm.c:677,5'
          Dst:             k5_cc_mutex_unlock
    - functionName:    k5_buf_add_uint32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-buf.h'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_buf_get_space
        - store_32_be
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-buf.h:144,15'
          Dst:             k5_buf_get_space
        - Src:             '../../../include/k5-buf.h:147,9'
          Dst:             store_32_be
    - functionName:    unsupported_op_error
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_cache
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 626
      functionLinenumberEnd: 666
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          128
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - k5_cc_mutex_init
        - kcmio_close
        - kcmio_connect
        - strdup
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:635,15'
          Dst:             kcmio_connect
        - Src:             'cc_kcm.c:643,12'
          Dst:             calloc
        - Src:             'cc_kcm.c:646,21'
          Dst:             strdup
        - Src:             'cc_kcm.c:649,9'
          Dst:             k5_cc_mutex_init
        - Src:             'cc_kcm.c:664,5'
          Dst:             kcmio_close
    - functionName:    kcmreq_get_name
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 496
      functionLinenumberEnd: 507
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          60
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
        - memchr
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:501,11'
          Dst:             memchr
        - Src:             'cc_kcm.c:505,11'
          Dst:             k5_input_get_bytes
    - functionName:    kcmio_connect
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 425
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          71
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - kcmio_unix_socket_connect
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:430,10'
          Dst:             calloc
        - Src:             'cc_kcm.c:438,15'
          Dst:             kcmio_unix_socket_connect
    - functionName:    kcmreq_get_uuid_list
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 541
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          116
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - k5_input_get_bytes
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:534,15'
          Dst:             k5_input_get_bytes
    - functionName:    map_tcflags
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         28
      ICount:          153
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_cred_list
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 565
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          57
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_free_cred_contents
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:562,9'
          Dst:             krb5_free_cred_contents
    - functionName:    next_cred_by_uuid
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1010
      functionLinenumberEnd: 1028
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          86
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - cache_call
        - k5_buf_add_len
        - k5_unmarshal_cred
        - kcmreq_free
        - kcmreq_init
        - map_invalid
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:1019,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:1020,5'
          Dst:             k5_buf_add_len
        - Src:             'cc_kcm.c:1023,11'
          Dst:             cache_call
        - Src:             'cc_kcm.c:1025,15'
          Dst:             k5_unmarshal_cred
        - Src:             'cc_kcm.c:1026,5'
          Dst:             kcmreq_free
        - Src:             'cc_kcm.c:1027,12'
          Dst:             map_invalid
    - functionName:    map_invalid
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          32
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_kdc_offset
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 684
      functionLinenumberEnd: 701
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          69
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - cache_call
        - k5_input_get_uint32_be
        - kcmreq_free
        - kcmreq_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:688,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:689,9'
          Dst:             cache_call
        - Src:             'cc_kcm.c:691,19'
          Dst:             k5_input_get_uint32_be
        - Src:             'cc_kcm.c:700,5'
          Dst:             kcmreq_free
    - functionName:    kcmreq_get_cred_list
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 570
      functionLinenumberEnd: 612
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          162
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - free_cred_list
        - k5_input_get_bytes
        - k5_input_get_uint32_be
        - k5_unmarshal_cred
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:579,13'
          Dst:             k5_input_get_uint32_be
        - Src:             'cc_kcm.c:590,19'
          Dst:             k5calloc
        - Src:             'cc_kcm.c:597,15'
          Dst:             k5_input_get_uint32_be
        - Src:             'cc_kcm.c:598,16'
          Dst:             k5_input_get_bytes
        - Src:             'cc_kcm.c:601,15'
          Dst:             k5_unmarshal_cred
        - Src:             'cc_kcm.c:606,9'
          Dst:             free_cred_list
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    set_kdc_offset
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 706
      functionLinenumberEnd: 715
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cache_call
        - k5_buf_add_uint32_be
        - kcmreq_free
        - kcmreq_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:710,9'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:711,9'
          Dst:             k5_buf_add_uint32_be
        - Src:             'cc_kcm.c:712,15'
          Dst:             cache_call
        - Src:             'cc_kcm.c:713,9'
          Dst:             kcmreq_free
    - functionName:    get_primary_name
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 728
      functionLinenumberEnd: 738
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - kcmio_call
        - kcmreq_get_name
        - kcmreq_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:733,5'
          Dst:             kcmreq_init
        - Src:             'cc_kcm.c:734,11'
          Dst:             kcmio_call
        - Src:             'cc_kcm.c:737,12'
          Dst:             kcmreq_get_name
    - functionName:    k5_kcm_primary_name
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_kcm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 772
      functionLinenumberEnd: 792
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - get_primary_name
        - kcmio_close
        - kcmio_connect
        - kcmreq_free
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_kcm.c:780,11'
          Dst:             kcmio_connect
        - Src:             'cc_kcm.c:783,11'
          Dst:             get_primary_name
        - Src:             'cc_kcm.c:786,17'
          Dst:             strdup
        - Src:             'cc_kcm.c:790,5'
          Dst:             kcmio_close
        - Src:             'cc_kcm.c:791,5'
          Dst:             kcmreq_free
    - functionName:    store_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_copy_creds
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:196,11'
          Dst:             krb5_copy_creds
    - functionName:    empty_mcc_cache
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          67
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_creds
        - krb5_free_principal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:159,9'
          Dst:             krb5_free_creds
        - Src:             'cc_memory.c:165,5'
          Dst:             krb5_free_principal
    - functionName:    init_mcc_cache
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - empty_mcc_cache
        - krb5_copy_principal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:176,5'
          Dst:             empty_mcc_cache
        - Src:             'cc_memory.c:182,12'
          Dst:             krb5_copy_principal
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    new_mcc_data
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 483
      functionLinenumberEnd: 520
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          125
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - k5_cc_mutex_init
        - k5_hashtab_add
        - k5_os_mutex_destroy
        - strdup
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:491,11'
          Dst:             k5_cc_mutex_init
        - Src:             'cc_memory.c:497,15'
          Dst:             strdup
        - Src:             'cc_memory.c:499,9'
          Dst:             k5_os_mutex_destroy
        - Src:             'cc_memory.c:511,46'
          Dst:             strlen
        - Src:             'cc_memory.c:511,9'
          Dst:             k5_hashtab_add
        - Src:             'cc_memory.c:513,9'
          Dst:             k5_os_mutex_destroy
    - functionName:    init_table
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_hashtab_create
        - krb5_c_random_make_octets
        - make_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:140,19'
          Dst:             make_data
        - Src:             'cc_memory.c:144,11'
          Dst:             krb5_c_random_make_octets
        - Src:             'cc_memory.c:147,12'
          Dst:             k5_hashtab_create
    - functionName:    krb5_mcc_unlock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 797
      functionLinenumberEnd: 801
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:800,5'
          Dst:             k5_cc_mutex_unlock
    - functionName:    krb5_mcc_lock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 788
      functionLinenumberEnd: 792
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_mutex_lock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:791,5'
          Dst:             k5_cc_mutex_lock
    - functionName:    krb5_mcc_replace
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 771
      functionLinenumberEnd: 783
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          92
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - init_mcc_cache
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - krb5_change_cache
        - store_cred
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:776,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:777,11'
          Dst:             init_mcc_cache
        - Src:             'cc_memory.c:779,15'
          Dst:             store_cred
        - Src:             'cc_memory.c:780,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_memory.c:782,9'
          Dst:             krb5_change_cache
    - functionName:    krb5_mcc_ptcursor_free
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 758
      functionLinenumberEnd: 766
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_mcc_ptcursor_next
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 737
      functionLinenumberEnd: 752
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          72
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_cc_default_name
        - krb5_cc_resolve
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:747,15'
          Dst:             krb5_cc_default_name
        - Src:             'cc_memory.c:748,28'
          Dst:             strncmp
        - Src:             'cc_memory.c:751,12'
          Dst:             krb5_cc_resolve
    - functionName:    krb5_mcc_ptcursor_new
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 711
      functionLinenumberEnd: 730
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_mcc_get_name
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 590
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_mcc_resolve
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 317
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          145
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - init_table
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - k5_hashtab_get
        - new_mcc_data
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:323,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:324,5'
          Dst:             init_table
        - Src:             'cc_memory.c:325,47'
          Dst:             strlen
        - Src:             'cc_memory.c:325,9'
          Dst:             k5_hashtab_get
        - Src:             'cc_memory.c:327,9'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:329,9'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_memory.c:331,15'
          Dst:             new_mcc_data
        - Src:             'cc_memory.c:333,13'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_memory.c:337,5'
          Dst:             k5_cc_mutex_unlock
    - functionName:    krb5_mcc_generate_new
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 538
      functionLinenumberEnd: 579
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          99
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - init_table
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - k5_hashtab_get
        - krb5_change_cache
        - krb5int_random_string
        - new_mcc_data
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:551,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:552,5'
          Dst:             init_table
        - Src:             'cc_memory.c:556,15'
          Dst:             krb5int_random_string
        - Src:             'cc_memory.c:558,13'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_memory.c:564,28'
          Dst:             strlen
        - Src:             'cc_memory.c:563,13'
          Dst:             k5_hashtab_get
        - Src:             'cc_memory.c:568,11'
          Dst:             new_mcc_data
        - Src:             'cc_memory.c:570,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_memory.c:577,5'
          Dst:             krb5_change_cache
    - functionName:    krb5_mcc_initialize
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - init_mcc_cache
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - krb5_change_cache
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:225,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:226,11'
          Dst:             init_mcc_cache
        - Src:             'cc_memory.c:227,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_memory.c:229,9'
          Dst:             krb5_change_cache
    - functionName:    krb5_mcc_destroy
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 268
      functionLinenumberEnd: 291
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          79
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - empty_mcc_cache
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - k5_hashtab_remove
        - krb5_change_cache
        - krb5_mcc_close
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:273,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:274,49'
          Dst:             strlen
        - Src:             'cc_memory.c:274,9'
          Dst:             k5_hashtab_remove
        - Src:             'cc_memory.c:276,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_memory.c:280,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:281,5'
          Dst:             empty_mcc_cache
        - Src:             'cc_memory.c:284,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_memory.c:288,5'
          Dst:             krb5_mcc_close
        - Src:             'cc_memory.c:290,5'
          Dst:             krb5_change_cache
    - functionName:    krb5_mcc_close
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 259
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - empty_mcc_cache
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - k5_os_mutex_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:248,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:250,5'
          Dst:             k5_cc_mutex_unlock
        - Src:             'cc_memory.c:254,9'
          Dst:             empty_mcc_cache
        - Src:             'cc_memory.c:256,9'
          Dst:             k5_os_mutex_destroy
    - functionName:    krb5_mcc_store
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 704
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - store_cred
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:701,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:702,11'
          Dst:             store_cred
        - Src:             'cc_memory.c:703,5'
          Dst:             k5_cc_mutex_unlock
    - functionName:    krb5_mcc_retrieve
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 626
      functionLinenumberEnd: 628
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_cc_retrieve_cred_default
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:627,12'
          Dst:             k5_cc_retrieve_cred_default
    - functionName:    krb5_mcc_get_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 609
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - krb5_copy_principal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:614,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:618,15'
          Dst:             krb5_copy_principal
        - Src:             'cc_memory.c:619,5'
          Dst:             k5_cc_mutex_unlock
    - functionName:    krb5_mcc_start_seq_get
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 374
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:382,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:385,5'
          Dst:             k5_cc_mutex_unlock
    - functionName:    krb5_mcc_next_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 451
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          142
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - k5_copy_creds_contents
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:430,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:444,14'
          Dst:             k5_copy_creds_contents
        - Src:             'cc_memory.c:449,5'
          Dst:             k5_cc_mutex_unlock
    - functionName:    krb5_mcc_end_seq_get
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 468
      functionLinenumberEnd: 471
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_mcc_remove_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 641
      functionLinenumberEnd: 656
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          88
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - k5_cc_mutex_lock
        - k5_cc_mutex_unlock
        - krb5_free_creds
        - krb5int_cc_creds_match_request
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_memory.c:645,5'
          Dst:             k5_cc_mutex_lock
        - Src:             'cc_memory.c:649,13'
          Dst:             krb5int_cc_creds_match_request
        - Src:             'cc_memory.c:650,13'
          Dst:             krb5_free_creds
        - Src:             'cc_memory.c:655,5'
          Dst:             k5_cc_mutex_unlock
    - functionName:    krb5_mcc_set_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 673
      functionLinenumberEnd: 674
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_mcc_get_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 679
      functionLinenumberEnd: 681
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    data_eq_string
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2229
      functionLinenumberEnd: 2231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2230,25'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2231,40'
          Dst:             memcmp
    - functionName:    k5_cc_store_primary_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 308
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          106
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - data_eq
        - data_eq_string
        - krb5_cc_set_config
        - krb5_cc_store_cred
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccfns.c:313,9'
          Dst:             data_eq_string
        - Src:             'ccfns.c:314,10'
          Dst:             data_eq
        - Src:             'ccfns.c:315,15'
          Dst:             krb5_cc_set_config
        - Src:             'ccfns.c:322,12'
          Dst:             krb5_cc_store_cred
    - functionName:    krb5_cc_set_config
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          104
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - k5_build_conf_principals
        - krb5_cc_store_cred
        - krb5_clear_error_message
        - krb5_free_cred_contents
        - krb5int_copy_data_contents
        - krb5int_trace
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ccfns.c:244,5'
          Dst:             krb5int_trace
        - Src:             'ccfns.c:246,11'
          Dst:             k5_build_conf_principals
        - Src:             'ccfns.c:255,9'
          Dst:             krb5_clear_error_message
        - Src:             'ccfns.c:256,15'
          Dst:             krb5int_copy_data_contents
        - Src:             'ccfns.c:259,15'
          Dst:             krb5_cc_store_cred
        - Src:             'ccfns.c:262,5'
          Dst:             krb5_free_cred_contents
    - functionName:    krb5_cc_store_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          50
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_trace
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'ccfns.c:83,5'
          Dst:             krb5int_trace
    - functionName:    k5_build_conf_principals
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          100
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - krb5_build_principal
        - krb5_cc_get_principal
        - krb5_copy_principal
        - krb5_free_principal
        - krb5_free_unparsed_name
        - krb5_unparse_name
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ccfns.c:194,11'
          Dst:             krb5_cc_get_principal
        - Src:             'ccfns.c:199,15'
          Dst:             krb5_unparse_name
        - Src:             'ccfns.c:204,11'
          Dst:             krb5_build_principal
        - Src:             'ccfns.c:209,11'
          Dst:             krb5_copy_principal
        - Src:             'ccfns.c:212,5'
          Dst:             krb5_free_unparsed_name
        - Src:             'ccfns.c:213,5'
          Dst:             krb5_free_principal
    - functionName:    krb5_cc_get_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_cc_switch
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 303
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_cc_get_config
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          96
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - k5_build_conf_principals
        - krb5_cc_retrieve_cred
        - krb5_free_cred_contents
        - krb5int_copy_data_contents
        - krb5int_trace
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ccfns.c:277,11'
          Dst:             k5_build_conf_principals
        - Src:             'ccfns.c:281,11'
          Dst:             krb5_cc_retrieve_cred
        - Src:             'ccfns.c:285,11'
          Dst:             krb5int_copy_data_contents
        - Src:             'ccfns.c:289,5'
          Dst:             krb5int_trace
        - Src:             'ccfns.c:292,5'
          Dst:             krb5_free_cred_contents
        - Src:             'ccfns.c:293,5'
          Dst:             krb5_free_cred_contents
    - functionName:    krb5_cc_retrieve_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          161
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - krb5_is_referral_realm
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ccfns.c:96,5'
          Dst:             krb5int_trace
        - Src:             'ccfns.c:100,10'
          Dst:             krb5_is_referral_realm
        - Src:             'ccfns.c:109,5'
          Dst:             krb5int_trace
    - functionName:    krb5_is_config_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          90
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - memcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ccfns.c:224,9'
          Dst:             memcmp
        - Src:             'ccfns.c:229,9'
          Dst:             memcmp
    - functionName:    k5_cc_unlock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_cc_lock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_cc_get_type
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_cc_get_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_cc_set_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_cc_remove_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_trace
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ccfns.c:146,5'
          Dst:             krb5int_trace
    - functionName:    krb5_cc_end_seq_get
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_cc_next_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_cc_start_seq_get
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_cc_close
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_cc_destroy
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ccfns.c:69,5'
          Dst:             krb5int_trace
    - functionName:    krb5_cc_initialize
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          50
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ccfns.c:62,5'
          Dst:             krb5int_trace
    - functionName:    krb5_cc_gen_new
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_trace
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ccfns.c:54,5'
          Dst:             krb5int_trace
    - functionName:    krb5_cc_get_full_name
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - asprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccfns.c:44,9'
          Dst:             asprintf
    - functionName:    krb5_cc_get_name
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    krb5_kt_dup
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_kt_resolve
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ktbase.c:218,24'
          Dst:             krb5_kt_resolve
    - functionName:    krb5_kt_resolve
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          211
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - __ctype_b_loc
        - k5_mutex_lock
        - k5_mutex_unlock
        - k5memdup0
        - strchr
        - strcmp
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ktbase.c:163,10'
          Dst:             strchr
        - Src:             'ktbase.c:169,25'
          Dst:             __ctype_b_loc
        - Src:             'ktbase.c:171,15'
          Dst:             strdup
        - Src:             'ktbase.c:177,15'
          Dst:             strdup
        - Src:             'ktbase.c:183,15'
          Dst:             k5memdup0
        - Src:             'ktbase.c:190,5'
          Dst:             k5_mutex_lock
        - Src:             'ktbase.c:195,5'
          Dst:             k5_mutex_unlock
        - Src:             'ktbase.c:197,13'
          Dst:             strcmp
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    k5_mutex_lock
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    2
      BranchProfiles:  []
      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/lib/krb5/keytab/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    4
      BranchProfiles:  []
      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:    krb5_kt_register
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          91
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ktbase.c:122,5'
          Dst:             k5_mutex_lock
        - Src:             'ktbase.c:123,32'
          Dst:             strcmp
        - Src:             'ktbase.c:126,9'
          Dst:             k5_mutex_unlock
        - Src:             'ktbase.c:130,9'
          Dst:             k5_mutex_unlock
        - Src:             'ktbase.c:136,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5int_kt_finalize
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          37
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - k5_os_mutex_destroy
        - krb5int_mkt_finalize
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ktbase.c:101,5'
          Dst:             k5_os_mutex_destroy
        - Src:             'ktbase.c:107,5'
          Dst:             krb5int_mkt_finalize
    - functionName:    k5_mutex_finish_init
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_kt_initialize
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktbase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          37
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_mutex_finish_init
        - krb5int_mkt_initialize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ktbase.c:85,11'
          Dst:             k5_mutex_finish_init
        - Src:             'ktbase.c:88,11'
          Dst:             krb5int_mkt_initialize
    - functionName:    k5_kt_get_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          94
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - krb5_copy_principal
        - krb5_kt_end_seq_get
        - krb5_kt_free_entry
        - krb5_kt_next_entry
        - krb5_kt_start_seq_get
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ktfns.c:203,11'
          Dst:             krb5_kt_start_seq_get
        - Src:             'ktfns.c:206,11'
          Dst:             krb5_kt_next_entry
        - Src:             'ktfns.c:207,11'
          Dst:             krb5_kt_end_seq_get
        - Src:             'ktfns.c:210,11'
          Dst:             krb5_copy_principal
        - Src:             'ktfns.c:211,5'
          Dst:             krb5_kt_free_entry
    - functionName:    krb5_kt_start_seq_get
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - abort
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ktfns.c:86,12'
          Dst:             abort
    - functionName:    krb5_kt_next_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - abort
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ktfns.c:93,12'
          Dst:             abort
    - functionName:    krb5_kt_end_seq_get
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - abort
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ktfns.c:100,12'
          Dst:             abort
    - functionName:    free_canonprinc
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/./../os/os-proto.h'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    match_entries
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          103
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - krb5_free_keytab_entry_contents
        - krb5_kt_end_seq_get
        - krb5_kt_next_entry
        - krb5_kt_start_seq_get
        - krb5_sname_match
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ktfns.c:144,11'
          Dst:             krb5_kt_start_seq_get
        - Src:             'ktfns.c:147,19'
          Dst:             krb5_kt_next_entry
        - Src:             'ktfns.c:148,17'
          Dst:             krb5_sname_match
        - Src:             'ktfns.c:149,15'
          Dst:             krb5_free_keytab_entry_contents
        - Src:             'ktfns.c:153,11'
          Dst:             krb5_kt_end_seq_get
    - functionName:    k5_kt_have_match
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          117
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - free_canonprinc
        - k5_canonprinc
        - k5_sname_wildcard_host
        - match_entries
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ktfns.c:168,9'
          Dst:             k5_sname_wildcard_host
        - Src:             'ktfns.c:169,16'
          Dst:             match_entries
        - Src:             'ktfns.c:171,19'
          Dst:             k5_canonprinc
        - Src:             'ktfns.c:173,15'
          Dst:             match_entries
        - Src:             'ktfns.c:177,5'
          Dst:             free_canonprinc
    - functionName:    krb5_kt_have_content
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          88
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - dgettext
        - krb5_kt_end_seq_get
        - krb5_kt_free_entry
        - krb5_kt_get_name
        - krb5_kt_next_entry
        - krb5_kt_start_seq_get
        - krb5_set_error_message
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ktfns.c:116,11'
          Dst:             krb5_kt_start_seq_get
        - Src:             'ktfns.c:119,11'
          Dst:             krb5_kt_next_entry
        - Src:             'ktfns.c:120,5'
          Dst:             krb5_kt_end_seq_get
        - Src:             'ktfns.c:123,5'
          Dst:             krb5_kt_free_entry
        - Src:             'ktfns.c:127,9'
          Dst:             krb5_kt_get_name
        - Src:             'ktfns.c:129,19'
          Dst:             dgettext
        - Src:             'ktfns.c:128,9'
          Dst:             krb5_set_error_message
    - functionName:    krb5_kt_get_name
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - abort
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ktfns.c:47,12'
          Dst:             abort
    - functionName:    krb5_kt_get_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          142
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - abort
        - krb5_free_default_realm
        - krb5_get_default_realm
        - krb5_is_referral_realm
        - krb5int_trace
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ktfns.c:64,9'
          Dst:             krb5_is_referral_realm
        - Src:             'ktfns.c:68,15'
          Dst:             krb5_get_default_realm
        - Src:             'ktfns.c:72,35'
          Dst:             strlen
        - Src:             'ktfns.c:74,11'
          Dst:             abort
        - Src:             'ktfns.c:76,5'
          Dst:             krb5int_trace
        - Src:             'ktfns.c:78,9'
          Dst:             krb5_free_default_realm
    - functionName:    krb5_kt_close
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - abort
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ktfns.c:53,12'
          Dst:             abort
    - functionName:    krb5_kt_get_type
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_ktfileint_delete_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 838
      functionLinenumberEnd: 887
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          214
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - fread
        - fseek
        - fwrite
        - htonl
        - k5_sync_disk_file
        - ntohl
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:844,9'
          Dst:             fseek
        - Src:             'kt_file.c:845,16'
          Dst:             __errno_location
        - Src:             'kt_file.c:847,10'
          Dst:             fread
        - Src:             'kt_file.c:851,16'
          Dst:             ntohl
        - Src:             'kt_file.c:856,26'
          Dst:             htonl
        - Src:             'kt_file.c:858,13'
          Dst:             fseek
        - Src:             'kt_file.c:859,20'
          Dst:             __errno_location
        - Src:             'kt_file.c:862,14'
          Dst:             fwrite
        - Src:             'kt_file.c:874,18'
          Dst:             fwrite
        - Src:             'kt_file.c:883,16'
          Dst:             k5_sync_disk_file
    - functionName:    ntohl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    htonl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      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:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_ktfileint_find_slot
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1311
      functionLinenumberEnd: 1378
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          266
      EdgeCount:       61
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - fread
        - fseek
        - ftell
        - fwrite
        - ntohl
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:1319,9'
          Dst:             fseek
        - Src:             'kt_file.c:1320,16'
          Dst:             __errno_location
        - Src:             'kt_file.c:1321,10'
          Dst:             fread
        - Src:             'kt_file.c:1322,16'
          Dst:             __errno_location
        - Src:             'kt_file.c:1325,24'
          Dst:             ftell
        - Src:             'kt_file.c:1327,20'
          Dst:             __errno_location
        - Src:             'kt_file.c:1328,14'
          Dst:             fread
        - Src:             'kt_file.c:1331,17'
          Dst:             fseek
        - Src:             'kt_file.c:1332,24'
          Dst:             __errno_location
        - Src:             'kt_file.c:1335,18'
          Dst:             fwrite
        - Src:             'kt_file.c:1336,24'
          Dst:             __errno_location
        - Src:             'kt_file.c:1341,20'
          Dst:             ntohl
        - Src:             'kt_file.c:1345,17'
          Dst:             fseek
        - Src:             'kt_file.c:1346,24'
          Dst:             __errno_location
        - Src:             'kt_file.c:1356,21'
          Dst:             fseek
        - Src:             'kt_file.c:1357,28'
          Dst:             __errno_location
        - Src:             'kt_file.c:1362,26'
          Dst:             ftell
        - Src:             'kt_file.c:1364,24'
          Dst:             __errno_location
        - Src:             'kt_file.c:1365,17'
          Dst:             fseek
        - Src:             'kt_file.c:1366,24'
          Dst:             __errno_location
        - Src:             'kt_file.c:1368,18'
          Dst:             fwrite
        - Src:             'kt_file.c:1369,24'
          Dst:             __errno_location
        - Src:             'kt_file.c:1370,17'
          Dst:             fseek
        - Src:             'kt_file.c:1371,24'
          Dst:             __errno_location
    - functionName:    krb5_ktfileint_size_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1273
      functionLinenumberEnd: 1294
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          112
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_ktfileint_write_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1124
      functionLinenumberEnd: 1265
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         79
      ICount:          645
      EdgeCount:       110
      CyclomaticComplexity: 33
      functionsReached:
        - __errno_location
        - fflush
        - fseek
        - fwrite
        - htonl
        - htons
        - k5_sync_disk_file
        - krb5_ktfileint_find_slot
        - krb5_ktfileint_size_entry
        - krb5_timeofday
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:1137,14'
          Dst:             krb5_ktfileint_size_entry
        - Src:             'kt_file.c:1140,14'
          Dst:             krb5_ktfileint_find_slot
        - Src:             'kt_file.c:1146,9'
          Dst:             fseek
        - Src:             'kt_file.c:1148,16'
          Dst:             __errno_location
        - Src:             'kt_file.c:1154,17'
          Dst:             htons
        - Src:             'kt_file.c:1157,10'
          Dst:             fwrite
        - Src:             'kt_file.c:1163,16'
          Dst:             htons
        - Src:             'kt_file.c:1164,10'
          Dst:             fwrite
        - Src:             'kt_file.c:1167,10'
          Dst:             fwrite
        - Src:             'kt_file.c:1177,20'
          Dst:             htons
        - Src:             'kt_file.c:1178,14'
          Dst:             fwrite
        - Src:             'kt_file.c:1181,14'
          Dst:             fwrite
        - Src:             'kt_file.c:1190,22'
          Dst:             htonl
        - Src:             'kt_file.c:1191,14'
          Dst:             fwrite
        - Src:             'kt_file.c:1199,9'
          Dst:             krb5_timeofday
        - Src:             'kt_file.c:1205,21'
          Dst:             htonl
        - Src:             'kt_file.c:1206,10'
          Dst:             fwrite
        - Src:             'kt_file.c:1212,10'
          Dst:             fwrite
        - Src:             'kt_file.c:1219,19'
          Dst:             htons
        - Src:             'kt_file.c:1220,10'
          Dst:             fwrite
        - Src:             'kt_file.c:1227,16'
          Dst:             htons
        - Src:             'kt_file.c:1228,10'
          Dst:             fwrite
        - Src:             'kt_file.c:1231,10'
          Dst:             fwrite
        - Src:             'kt_file.c:1239,17'
          Dst:             htonl
        - Src:             'kt_file.c:1240,10'
          Dst:             fwrite
        - Src:             'kt_file.c:1243,9'
          Dst:             fflush
        - Src:             'kt_file.c:1246,14'
          Dst:             k5_sync_disk_file
        - Src:             'kt_file.c:1252,9'
          Dst:             fseek
        - Src:             'kt_file.c:1253,16'
          Dst:             __errno_location
        - Src:             'kt_file.c:1256,23'
          Dst:             htonl
        - Src:             'kt_file.c:1257,10'
          Dst:             fwrite
        - Src:             'kt_file.c:1260,9'
          Dst:             fflush
        - Src:             'kt_file.c:1262,14'
          Dst:             k5_sync_disk_file
    - functionName:    htons
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_ktfileint_openw
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 818
      functionLinenumberEnd: 819
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_ktfileint_open
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:819,12'
          Dst:             krb5_ktfileint_open
    - functionName:    krb5_ktfileint_open
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 732
      functionLinenumberEnd: 808
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          359
      EdgeCount:       46
      CyclomaticComplexity: 12
      functionsReached:
        - __errno_location
        - dgettext
        - fclose
        - fcntl
        - feof
        - fileno
        - fopen
        - fread
        - ftell
        - fwrite
        - htons
        - k5_create_secure_file
        - krb5_lock_file
        - krb5_set_error_message
        - krb5_unlock_file
        - ntohs
        - setbuf
      functionUses:    2
      BranchProfiles:
        - Branch String:   'kt_file.c:752,13'
          Branch Sides:    []
      Callsites:
        - Src:             'kt_file.c:738,5'
          Dst:             __errno_location
        - Src:             'kt_file.c:739,19'
          Dst:             fopen
        - Src:             'kt_file.c:742,51'
          Dst:             __errno_location
        - Src:             'kt_file.c:744,13'
          Dst:             k5_create_secure_file
        - Src:             'kt_file.c:745,13'
          Dst:             __errno_location
        - Src:             'kt_file.c:746,27'
          Dst:             fopen
        - Src:             'kt_file.c:752,21'
          Dst:             __errno_location
        - Src:             'kt_file.c:758,27'
          Dst:             dgettext
        - Src:             'kt_file.c:757,17'
          Dst:             krb5_set_error_message
        - Src:             'kt_file.c:761,24'
          Dst:             __errno_location
        - Src:             'kt_file.c:765,5'
          Dst:             fileno
        - Src:             'kt_file.c:765,5'
          Dst:             fcntl
        - Src:             'kt_file.c:766,43'
          Dst:             fileno
        - Src:             'kt_file.c:766,19'
          Dst:             krb5_lock_file
        - Src:             'kt_file.c:767,16'
          Dst:             fclose
        - Src:             'kt_file.c:772,5'
          Dst:             setbuf
        - Src:             'kt_file.c:776,18'
          Dst:             htons
        - Src:             'kt_file.c:778,14'
          Dst:             fwrite
        - Src:             'kt_file.c:779,22'
          Dst:             __errno_location
        - Src:             'kt_file.c:780,46'
          Dst:             fileno
        - Src:             'kt_file.c:780,20'
          Dst:             krb5_unlock_file
        - Src:             'kt_file.c:781,20'
          Dst:             fclose
        - Src:             'kt_file.c:787,14'
          Dst:             fread
        - Src:             'kt_file.c:788,17'
          Dst:             feof
        - Src:             'kt_file.c:791,26'
          Dst:             __errno_location
        - Src:             'kt_file.c:792,46'
          Dst:             fileno
        - Src:             'kt_file.c:792,20'
          Dst:             krb5_unlock_file
        - Src:             'kt_file.c:793,20'
          Dst:             fclose
        - Src:             'kt_file.c:797,34'
          Dst:             ntohs
        - Src:             'kt_file.c:800,46'
          Dst:             fileno
        - Src:             'kt_file.c:800,20'
          Dst:             krb5_unlock_file
        - Src:             'kt_file.c:801,20'
          Dst:             fclose
        - Src:             'kt_file.c:806,22'
          Dst:             ftell
    - functionName:    setbuf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ntohs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ts_after
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2371
      functionLinenumberEnd: 2372
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    krb5_ktfileint_internal_read_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 891
      functionLinenumberEnd: 1112
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         115
      ICount:          869
      EdgeCount:       160
      CyclomaticComplexity: 47
      functionsReached:
        - __errno_location
        - calloc
        - fread
        - fseek
        - ftell
        - k5alloc
        - krb5_free_principal
        - ntohl
        - ntohs
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:911,9'
          Dst:             fseek
        - Src:             'kt_file.c:913,16'
          Dst:             __errno_location
        - Src:             'kt_file.c:917,25'
          Dst:             ftell
        - Src:             'kt_file.c:918,14'
          Dst:             fread
        - Src:             'kt_file.c:922,20'
          Dst:             ntohl
        - Src:             'kt_file.c:927,17'
          Dst:             fseek
        - Src:             'kt_file.c:928,24'
          Dst:             __errno_location
        - Src:             'kt_file.c:937,17'
          Dst:             ftell
        - Src:             'kt_file.c:942,10'
          Dst:             fread
        - Src:             'kt_file.c:947,17'
          Dst:             ntohs
        - Src:             'kt_file.c:951,28'
          Dst:             k5alloc
        - Src:             'kt_file.c:959,9'
          Dst:             calloc
        - Src:             'kt_file.c:967,10'
          Dst:             fread
        - Src:             'kt_file.c:972,22'
          Dst:             ntohs
        - Src:             'kt_file.c:985,9'
          Dst:             fread
        - Src:             'kt_file.c:997,14'
          Dst:             fread
        - Src:             'kt_file.c:1002,26'
          Dst:             ntohs
        - Src:             'kt_file.c:1015,14'
          Dst:             fread
        - Src:             'kt_file.c:1024,14'
          Dst:             fread
        - Src:             'kt_file.c:1029,38'
          Dst:             ntohl
        - Src:             'kt_file.c:1033,10'
          Dst:             fread
        - Src:             'kt_file.c:1038,32'
          Dst:             ntohl
        - Src:             'kt_file.c:1041,10'
          Dst:             fread
        - Src:             'kt_file.c:1048,10'
          Dst:             fread
        - Src:             'kt_file.c:1053,19'
          Dst:             ntohs
        - Src:             'kt_file.c:1059,10'
          Dst:             fread
        - Src:             'kt_file.c:1064,17'
          Dst:             ntohs
        - Src:             'kt_file.c:1078,10'
          Dst:             fread
        - Src:             'kt_file.c:1085,11'
          Dst:             ftell
        - Src:             'kt_file.c:1087,14'
          Dst:             fread
        - Src:             'kt_file.c:1092,21'
          Dst:             ntohl
        - Src:             'kt_file.c:1101,9'
          Dst:             fseek
        - Src:             'kt_file.c:1102,17'
          Dst:             __errno_location
        - Src:             'kt_file.c:1108,5'
          Dst:             krb5_free_principal
    - functionName:    krb5_ktfileint_close
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 824
      functionLinenumberEnd: 834
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          60
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - fclose
        - fileno
        - krb5_unlock_file
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:830,40'
          Dst:             fileno
        - Src:             'kt_file.c:830,14'
          Dst:             krb5_unlock_file
        - Src:             'kt_file.c:831,12'
          Dst:             fclose
    - functionName:    more_recent
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - ts_after
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:267,10'
          Dst:             ts_after
        - Src:             'kt_file.c:270,10'
          Dst:             ts_after
    - functionName:    krb5_ktfileint_read_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1116
      functionLinenumberEnd: 1119
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_ktfileint_internal_read_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:1119,12'
          Dst:             krb5_ktfileint_internal_read_entry
    - functionName:    krb5_ktfileint_openr
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 812
      functionLinenumberEnd: 813
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_ktfileint_open
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:813,12'
          Dst:             krb5_ktfileint_open
    - functionName:    k5_mutex_unlock
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    22
      BranchProfiles:  []
      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/lib/krb5/keytab/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    6
      BranchProfiles:  []
      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_init
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      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:    krb5_ktfile_remove
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 561
      functionLinenumberEnd: 618
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          190
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - dgettext
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5_kt_free_entry
        - krb5_ktfileint_close
        - krb5_ktfileint_delete_entry
        - krb5_ktfileint_internal_read_entry
        - krb5_ktfileint_openw
        - krb5_principal_compare
        - krb5_set_error_message
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:566,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_file.c:569,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:571,19'
          Dst:             dgettext
        - Src:             'kt_file.c:570,9'
          Dst:             krb5_set_error_message
        - Src:             'kt_file.c:575,19'
          Dst:             krb5_ktfileint_openw
        - Src:             'kt_file.c:576,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:585,23'
          Dst:             krb5_ktfileint_internal_read_entry
        - Src:             'kt_file.c:592,13'
          Dst:             krb5_principal_compare
        - Src:             'kt_file.c:594,13'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_file.c:597,9'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_file.c:604,16'
          Dst:             krb5_ktfileint_close
        - Src:             'kt_file.c:605,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:609,14'
          Dst:             krb5_ktfileint_delete_entry
        - Src:             'kt_file.c:612,16'
          Dst:             krb5_ktfileint_close
        - Src:             'kt_file.c:614,18'
          Dst:             krb5_ktfileint_close
        - Src:             'kt_file.c:616,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5_ktfile_add
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 530
      functionLinenumberEnd: 553
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          101
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - dgettext
        - fseek
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5_ktfileint_close
        - krb5_ktfileint_openw
        - krb5_ktfileint_write_entry
        - krb5_set_error_message
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:533,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_file.c:536,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:538,19'
          Dst:             dgettext
        - Src:             'kt_file.c:537,9'
          Dst:             krb5_set_error_message
        - Src:             'kt_file.c:541,19'
          Dst:             krb5_ktfileint_openw
        - Src:             'kt_file.c:542,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:545,9'
          Dst:             fseek
        - Src:             'kt_file.c:546,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:549,14'
          Dst:             krb5_ktfileint_write_entry
        - Src:             'kt_file.c:550,5'
          Dst:             krb5_ktfileint_close
        - Src:             'kt_file.c:551,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5_ktfile_end_get
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 521
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          72
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5_ktfileint_close
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:514,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_file.c:517,18'
          Dst:             krb5_ktfileint_close
        - Src:             'kt_file.c:520,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5_ktfile_get_next
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 502
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          108
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - fseek
        - ftell
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5_ktfileint_read_entry
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:485,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_file.c:487,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:490,9'
          Dst:             fseek
        - Src:             'kt_file.c:491,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:494,19'
          Dst:             krb5_ktfileint_read_entry
        - Src:             'kt_file.c:495,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:498,16'
          Dst:             ftell
        - Src:             'kt_file.c:500,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5_ktfile_start_seq_get
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 439
      functionLinenumberEnd: 472
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          146
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5_ktfileint_close
        - krb5_ktfileint_openr
        - krb5_set_error_message
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:443,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_file.c:446,23'
          Dst:             krb5_ktfileint_openr
        - Src:             'kt_file.c:447,13'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:454,13'
          Dst:             krb5_ktfileint_close
        - Src:             'kt_file.c:455,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:463,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:465,9'
          Dst:             krb5_set_error_message
        - Src:             'kt_file.c:469,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5_ktfile_get_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 409
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          377
      EdgeCount:       90
      CyclomaticComplexity: 25
      functionsReached:
        - __errno_location
        - dgettext
        - fseek
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5_kt_free_entry
        - krb5_ktfileint_close
        - krb5_ktfileint_openr
        - krb5_ktfileint_read_entry
        - krb5_principal_compare
        - krb5_set_error_message
        - krb5_unparse_name
        - more_recent
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:295,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_file.c:300,13'
          Dst:             fseek
        - Src:             'kt_file.c:301,13'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:302,20'
          Dst:             __errno_location
        - Src:             'kt_file.c:308,23'
          Dst:             krb5_ktfileint_openr
        - Src:             'kt_file.c:309,13'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:323,23'
          Dst:             krb5_ktfileint_read_entry
        - Src:             'kt_file.c:333,14'
          Dst:             krb5_principal_compare
        - Src:             'kt_file.c:334,13'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_file.c:341,13'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_file.c:349,17'
          Dst:             more_recent
        - Src:             'kt_file.c:350,17'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_file.c:353,17'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_file.c:366,17'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_file.c:375,17'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_file.c:387,17'
          Dst:             krb5_unparse_name
        - Src:             'kt_file.c:389,27'
          Dst:             dgettext
        - Src:             'kt_file.c:388,17'
          Dst:             krb5_set_error_message
        - Src:             'kt_file.c:396,20'
          Dst:             krb5_ktfileint_close
        - Src:             'kt_file.c:397,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:398,9'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_file.c:401,36'
          Dst:             krb5_ktfileint_close
        - Src:             'kt_file.c:402,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_file.c:403,9'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_file.c:406,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5_ktfile_close
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - explicit_bzero
        - k5_os_mutex_destroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:248,5'
          Dst:             explicit_bzero
        - Src:             'kt_file.c:249,5'
          Dst:             k5_os_mutex_destroy
    - functionName:    krb5_ktfile_get_name
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 423
      functionLinenumberEnd: 431
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - snprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:427,14'
          Dst:             snprintf
    - functionName:    krb5_ktfile_resolve
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          120
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - k5_mutex_init
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_file.c:198,10'
          Dst:             calloc
        - Src:             'kt_file.c:203,12'
          Dst:             calloc
        - Src:             'kt_file.c:207,18'
          Dst:             strdup
        - Src:             'kt_file.c:211,11'
          Dst:             k5_mutex_init
    - functionName:    k5_mutex_init
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      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:    krb5_mkt_remove
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 615
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          158
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5_kt_free_entry
        - krb5_principal_compare
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_memory.c:588,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_memory.c:598,14'
          Dst:             krb5_principal_compare
        - Src:             'kt_memory.c:607,5'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_memory.c:614,5'
          Dst:             k5_mutex_unlock
    - functionName:    k5_mutex_lock
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    9
      BranchProfiles:  []
      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/lib/krb5/keytab/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    10
      BranchProfiles:  []
      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:    krb5_mkt_add
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 529
      functionLinenumberEnd: 575
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          173
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5_copy_keyblock_contents
        - krb5_copy_principal
        - krb5_free_keyblock_contents
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_memory.c:533,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_memory.c:549,11'
          Dst:             krb5_copy_keyblock_contents
        - Src:             'kt_memory.c:557,11'
          Dst:             krb5_copy_principal
        - Src:             'kt_memory.c:559,9'
          Dst:             krb5_free_keyblock_contents
        - Src:             'kt_memory.c:574,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5_mkt_end_get
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 517
      functionLinenumberEnd: 519
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_mkt_get_next
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 509
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          132
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5_copy_keyblock_contents
        - krb5_copy_principal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_memory.c:489,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_memory.c:492,9'
          Dst:             k5_mutex_unlock
        - Src:             'kt_memory.c:500,11'
          Dst:             krb5_copy_keyblock_contents
        - Src:             'kt_memory.c:503,15'
          Dst:             krb5_copy_principal
        - Src:             'kt_memory.c:507,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5_mkt_start_seq_get
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 476
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_memory.c:472,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_memory.c:474,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5_mkt_get_name
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 455
      functionLinenumberEnd: 463
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - snprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_memory.c:459,14'
          Dst:             snprintf
    - functionName:    krb5_mkt_get_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          290
      EdgeCount:       62
      CyclomaticComplexity: 17
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5_c_enctype_compare
        - krb5_copy_keyblock_contents
        - krb5_copy_principal
        - krb5_principal_compare
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_memory.c:382,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_memory.c:389,14'
          Dst:             krb5_principal_compare
        - Src:             'kt_memory.c:395,24'
          Dst:             krb5_c_enctype_compare
        - Src:             'kt_memory.c:427,15'
          Dst:             krb5_copy_keyblock_contents
        - Src:             'kt_memory.c:436,19'
          Dst:             krb5_copy_principal
        - Src:             'kt_memory.c:445,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5_mkt_close
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 363
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          157
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - k5_os_mutex_destroy
        - krb5_kt_free_entry
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_memory.c:300,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_memory.c:317,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_memory.c:319,5'
          Dst:             k5_mutex_unlock
        - Src:             'kt_memory.c:342,13'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_memory.c:348,9'
          Dst:             k5_os_mutex_destroy
        - Src:             'kt_memory.c:362,5'
          Dst:             k5_mutex_unlock
    - functionName:    create_list_node
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          154
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - calloc
        - k5_mutex_init
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_memory.c:190,12'
          Dst:             calloc
        - Src:             'kt_memory.c:196,20'
          Dst:             calloc
        - Src:             'kt_memory.c:203,12'
          Dst:             calloc
        - Src:             'kt_memory.c:211,18'
          Dst:             strdup
        - Src:             'kt_memory.c:217,11'
          Dst:             k5_mutex_init
    - functionName:    krb5_mkt_resolve
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          117
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - create_list_node
        - k5_mutex_lock
        - k5_mutex_unlock
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_memory.c:252,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_memory.c:255,13'
          Dst:             strcmp
        - Src:             'kt_memory.c:264,15'
          Dst:             create_list_node
        - Src:             'kt_memory.c:272,5'
          Dst:             k5_mutex_lock
        - Src:             'kt_memory.c:274,5'
          Dst:             k5_mutex_unlock
        - Src:             'kt_memory.c:277,5'
          Dst:             k5_mutex_unlock
    - functionName:    krb5int_mkt_finalize
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          96
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - k5_os_mutex_destroy
        - krb5_kt_free_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kt_memory.c:148,5'
          Dst:             k5_os_mutex_destroy
        - Src:             'kt_memory.c:162,13'
          Dst:             krb5_kt_free_entry
        - Src:             'kt_memory.c:168,9'
          Dst:             k5_os_mutex_destroy
    - functionName:    k5_mutex_finish_init
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_mkt_initialize
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/kt_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 139
      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:  []
      Callsites:
        - Src:             'kt_memory.c:139,12'
          Dst:             k5_mutex_finish_init
    - functionName:    data_eq_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2229
      functionLinenumberEnd: 2231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2230,25'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2231,40'
          Dst:             memcmp
    - functionName:    extract_cammacs
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 541
      functionLinenumberEnd: 577
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          164
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - k5_unwrap_cammac_svc
        - krb5_free_authdata
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:549,15'
          Dst:             k5_unwrap_cammac_svc
        - Src:             'authdata.c:558,20'
          Dst:             realloc
        - Src:             'authdata.c:575,5'
          Dst:             krb5_free_authdata
        - Src:             'authdata.c:576,5'
          Dst:             krb5_free_authdata
    - functionName:    krb5_free_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1274
      functionLinenumberEnd: 1284
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          52
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    28
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_copy_authdatum
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1257
      functionLinenumberEnd: 1270
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          68
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_internalize_authdata_context
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1210
      functionLinenumberEnd: 1252
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          123
      EdgeCount:       22
      CyclomaticComplexity: 8
      functionsReached:
        - k5_ad_internalize
        - krb5_authdata_context_free
        - krb5_authdata_context_init
        - krb5_ser_unpack_int32
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:1220,12'
          Dst:             krb5_ser_unpack_int32
        - Src:             'authdata.c:1227,12'
          Dst:             krb5_authdata_context_init
        - Src:             'authdata.c:1231,12'
          Dst:             k5_ad_internalize
        - Src:             'authdata.c:1234,9'
          Dst:             krb5_authdata_context_free
        - Src:             'authdata.c:1238,12'
          Dst:             krb5_ser_unpack_int32
        - Src:             'authdata.c:1243,9'
          Dst:             krb5_authdata_context_free
    - functionName:    krb5_authdata_context_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 369
      functionLinenumberEnd: 443
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          271
      EdgeCount:       57
      CyclomaticComplexity: 16
      functionsReached:
        - calloc
        - k5_ad_init_modules
        - k5_ad_module_count
        - krb5_authdata_context_free
        - krb5int_close_plugin_dirs
        - krb5int_free_plugin_dir_data
        - krb5int_get_plugin_dir_data
        - krb5int_open_plugin_dirs
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:383,22'
          Dst:             k5_ad_module_count
        - Src:             'authdata.c:388,9'
          Dst:             krb5int_open_plugin_dirs
        - Src:             'authdata.c:391,9'
          Dst:             krb5int_get_plugin_dir_data
        - Src:             'authdata.c:399,26'
          Dst:             k5_ad_module_count
        - Src:             'authdata.c:403,15'
          Dst:             calloc
        - Src:             'authdata.c:409,24'
          Dst:             calloc
        - Src:             'authdata.c:418,16'
          Dst:             k5_ad_init_modules
        - Src:             'authdata.c:424,16'
          Dst:             k5_ad_init_modules
        - Src:             'authdata.c:433,9'
          Dst:             krb5int_free_plugin_dir_data
        - Src:             'authdata.c:436,9'
          Dst:             krb5int_close_plugin_dirs
        - Src:             'authdata.c:437,9'
          Dst:             krb5_authdata_context_free
    - functionName:    k5_ad_internalize
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          166
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - k5_ad_find_module
        - k5_ser_unpack_len
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:323,12'
          Dst:             k5_ser_unpack_len
        - Src:             'authdata.c:332,16'
          Dst:             k5_ser_unpack_len
        - Src:             'authdata.c:339,18'
          Dst:             k5_ad_find_module
    - functionName:    krb5_authdata_context_free
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 477
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          135
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - krb5int_close_plugin_dirs
        - zapfree
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:475,5'
          Dst:             krb5int_close_plugin_dirs
        - Src:             'authdata.c:476,5'
          Dst:             zapfree
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    k5_ad_find_module
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          91
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - data_eq_string
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:295,14'
          Dst:             data_eq_string
    - functionName:    k5_ad_module_count
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_ad_init_modules
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          352
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_externalize_authdata_context
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1173
      functionLinenumberEnd: 1201
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          79
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - k5_ad_externalize
        - krb5_ser_pack_int32
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:1182,12'
          Dst:             krb5_ser_pack_int32
        - Src:             'authdata.c:1187,12'
          Dst:             k5_ad_externalize
        - Src:             'authdata.c:1193,12'
          Dst:             krb5_ser_pack_int32
    - functionName:    k5_ad_externalize
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          194
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - krb5_ser_pack_bytes
        - krb5_ser_pack_int32
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:216,12'
          Dst:             krb5_ser_pack_int32
        - Src:             'authdata.c:238,19'
          Dst:             strlen
        - Src:             'authdata.c:240,16'
          Dst:             krb5_ser_pack_int32
        - Src:             'authdata.c:244,16'
          Dst:             krb5_ser_pack_bytes
        - Src:             'authdata.c:263,9'
          Dst:             krb5_ser_pack_int32
    - functionName:    k5_size_authdata_context
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1154
      functionLinenumberEnd: 1164
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_ad_size
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:1157,12'
          Dst:             k5_ad_size
    - functionName:    k5_ad_size
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          139
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:177,9'
          Dst:             __assert_fail
        - Src:             'authdata.c:179,51'
          Dst:             strlen
    - functionName:    k5_copy_ad_module_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1027
      functionLinenumberEnd: 1114
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          325
      EdgeCount:       53
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:1049,5'
          Dst:             strcmp
        - Src:             'authdata.c:1049,5'
          Dst:             __assert_fail
        - Src:             'authdata.c:1056,9'
          Dst:             __assert_fail
        - Src:             'authdata.c:1057,9'
          Dst:             __assert_fail
        - Src:             'authdata.c:1058,9'
          Dst:             __assert_fail
        - Src:             'authdata.c:1102,9'
          Dst:             __assert_fail
        - Src:             'authdata.c:1103,9'
          Dst:             __assert_fail
    - functionName:    krb5_authdata_context_copy
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1120
      functionLinenumberEnd: 1146
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          99
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - k5_copy_ad_module_data
        - krb5_authdata_context_free
        - krb5_authdata_context_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:1126,12'
          Dst:             krb5_authdata_context_init
        - Src:             'authdata.c:1133,16'
          Dst:             k5_copy_ad_module_data
        - Src:             'authdata.c:1139,9'
          Dst:             krb5_authdata_context_free
    - functionName:    krb5_authdata_free_internal
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1001
      functionLinenumberEnd: 1020
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          83
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_ad_find_module
        - make_data
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:1005,43'
          Dst:             strlen
        - Src:             'authdata.c:1005,12'
          Dst:             make_data
        - Src:             'authdata.c:1006,14'
          Dst:             k5_ad_find_module
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_authdata_export_internal
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 971
      functionLinenumberEnd: 994
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          91
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_ad_find_module
        - make_data
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:978,43'
          Dst:             strlen
        - Src:             'authdata.c:978,12'
          Dst:             make_data
        - Src:             'authdata.c:979,14'
          Dst:             k5_ad_find_module
    - functionName:    krb5_authdata_export_attributes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 926
      functionLinenumberEnd: 963
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          116
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - k5_ad_externalize
        - k5_ad_size
        - krb5_free_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:933,12'
          Dst:             k5_ad_size
        - Src:             'authdata.c:952,12'
          Dst:             k5_ad_externalize
        - Src:             'authdata.c:954,9'
          Dst:             krb5_free_data
    - functionName:    krb5_authdata_delete_attribute
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 891
      functionLinenumberEnd: 918
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          125
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_authdata_set_attribute
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 855
      functionLinenumberEnd: 884
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          131
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_authdata_get_attribute
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 805
      functionLinenumberEnd: 846
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          133
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_merge_data_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 727
      functionLinenumberEnd: 751
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          97
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:737,9'
          Dst:             realloc
    - functionName:    krb5_authdata_get_attribute_types
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 757
      functionLinenumberEnd: 793
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          134
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - k5_merge_data_list
        - krb5int_free_data_list
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:777,16'
          Dst:             k5_merge_data_list
        - Src:             'authdata.c:779,13'
          Dst:             krb5int_free_data_list
        - Src:             'authdata.c:787,9'
          Dst:             krb5int_free_data_list
    - functionName:    get_cammac_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 602
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          84
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - extract_cammacs
        - krb5_find_authdata
        - krb5_free_authdata
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:591,11'
          Dst:             krb5_find_authdata
        - Src:             'authdata.c:596,11'
          Dst:             extract_cammacs
        - Src:             'authdata.c:600,5'
          Dst:             krb5_free_authdata
    - functionName:    k5_get_kdc_issued_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 500
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          121
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - krb5_find_authdata
        - krb5_free_authdata
        - krb5_verify_authdata_kdc_issued
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:510,12'
          Dst:             krb5_find_authdata
        - Src:             'authdata.c:520,12'
          Dst:             krb5_verify_authdata_kdc_issued
        - Src:             'authdata.c:531,5'
          Dst:             krb5_free_authdata
    - functionName:    krb5int_authdata_verify
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 722
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          439
      EdgeCount:       92
      CyclomaticComplexity: 26
      functionsReached:
        - __assert_fail
        - get_cammac_authdata
        - k5_get_kdc_issued_authdata
        - krb5_find_authdata
        - krb5_free_authdata
        - krb5_free_principal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:623,12'
          Dst:             k5_get_kdc_issued_authdata
        - Src:             'authdata.c:628,12'
          Dst:             get_cammac_authdata
        - Src:             'authdata.c:645,20'
          Dst:             krb5_find_authdata
        - Src:             'authdata.c:654,20'
          Dst:             krb5_find_authdata
        - Src:             'authdata.c:677,20'
          Dst:             krb5_find_authdata
        - Src:             'authdata.c:691,13'
          Dst:             __assert_fail
        - Src:             'authdata.c:712,9'
          Dst:             krb5_free_authdata
        - Src:             'authdata.c:718,5'
          Dst:             krb5_free_principal
        - Src:             'authdata.c:719,5'
          Dst:             krb5_free_authdata
        - Src:             'authdata.c:720,5'
          Dst:             krb5_free_authdata
    - functionName:    krb5_authdata_import_attributes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 484
      functionLinenumberEnd: 491
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_ad_internalize
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata.c:491,12'
          Dst:             k5_ad_internalize
    - functionName:    krb5_make_authdata_kdc_issued
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata_enc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          148
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - encode_krb5_ad_kdcissued
        - encode_krb5_authdata
        - krb5_c_is_keyed_cksum
        - krb5_c_make_checksum
        - krb5_copy_authdata
        - krb5_free_checksum_contents
        - krb5_free_data
        - krb5int_c_mandatory_cksumtype
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata_enc.c:107,12'
          Dst:             krb5int_c_mandatory_cksumtype
        - Src:             'authdata_enc.c:112,10'
          Dst:             krb5_c_is_keyed_cksum
        - Src:             'authdata_enc.c:115,12'
          Dst:             encode_krb5_authdata
        - Src:             'authdata_enc.c:119,12'
          Dst:             krb5_c_make_checksum
        - Src:             'authdata_enc.c:123,9'
          Dst:             krb5_free_data
        - Src:             'authdata_enc.c:127,5'
          Dst:             krb5_free_data
        - Src:             'authdata_enc.c:129,12'
          Dst:             encode_krb5_ad_kdcissued
        - Src:             'authdata_enc.c:140,12'
          Dst:             krb5_copy_authdata
        - Src:             'authdata_enc.c:142,5'
          Dst:             krb5_free_data
        - Src:             'authdata_enc.c:143,5'
          Dst:             krb5_free_checksum_contents
    - functionName:    krb5_encode_authdata_container
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata_enc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          72
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - encode_krb5_authdata
        - krb5_copy_authdata
        - krb5_free_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata_enc.c:69,12'
          Dst:             encode_krb5_authdata
        - Src:             'authdata_enc.c:80,12'
          Dst:             krb5_copy_authdata
        - Src:             'authdata_enc.c:82,5'
          Dst:             krb5_free_data
    - functionName:    grow_find_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata_dec.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          120
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - krb5_set_error_message
        - krb5int_copy_authdatum
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata_dec.c:95,13'
          Dst:             krb5_set_error_message
        - Src:             'authdata_dec.c:99,21'
          Dst:             realloc
        - Src:             'authdata_dec.c:107,14'
          Dst:             krb5int_copy_authdatum
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_authind_decode
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata_dec.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          161
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - decode_utf8_strings
        - k5_free_data_ptr_list
        - make_data
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata_dec.c:272,14'
          Dst:             make_data
        - Src:             'authdata_dec.c:273,11'
          Dst:             decode_utf8_strings
        - Src:             'authdata_dec.c:280,15'
          Dst:             realloc
        - Src:             'authdata_dec.c:294,5'
          Dst:             k5_free_data_ptr_list
    - functionName:    krb5_verify_authdata_kdc_issued
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata_dec.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          204
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - decode_krb5_ad_kdcissued
        - encode_krb5_authdata
        - krb5_c_is_keyed_cksum
        - krb5_c_verify_checksum
        - krb5_free_ad_kdcissued
        - krb5_free_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata_dec.c:207,12'
          Dst:             decode_krb5_ad_kdcissued
        - Src:             'authdata_dec.c:211,10'
          Dst:             krb5_c_is_keyed_cksum
        - Src:             'authdata_dec.c:212,9'
          Dst:             krb5_free_ad_kdcissued
        - Src:             'authdata_dec.c:216,12'
          Dst:             encode_krb5_authdata
        - Src:             'authdata_dec.c:218,9'
          Dst:             krb5_free_ad_kdcissued
        - Src:             'authdata_dec.c:222,12'
          Dst:             krb5_c_verify_checksum
        - Src:             'authdata_dec.c:226,9'
          Dst:             krb5_free_ad_kdcissued
        - Src:             'authdata_dec.c:227,9'
          Dst:             krb5_free_data
        - Src:             'authdata_dec.c:231,5'
          Dst:             krb5_free_data
        - Src:             'authdata_dec.c:234,9'
          Dst:             krb5_free_ad_kdcissued
        - Src:             'authdata_dec.c:248,5'
          Dst:             krb5_free_ad_kdcissued
    - functionName:    find_authdata_1
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata_dec.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          175
      EdgeCount:       39
      CyclomaticComplexity: 8
      functionsReached:
        - find_authdata_1
        - grow_find_authdata
        - krb5_decode_authdata_container
        - krb5_free_authdata
      functionUses:    3
      BranchProfiles:
        - Branch String:   'authdata_dec.c:126,9'
          Branch Sides:    []
      Callsites:
        - Src:             'authdata_dec.c:129,26'
          Dst:             krb5_decode_authdata_container
        - Src:             'authdata_dec.c:134,26'
          Dst:             find_authdata_1
        - Src:             'authdata_dec.c:139,17'
          Dst:             krb5_free_authdata
        - Src:             'authdata_dec.c:151,26'
          Dst:             grow_find_authdata
    - functionName:    krb5_decode_authdata_container
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata_dec.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          66
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - decode_krb5_authdata
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata_dec.c:74,12'
          Dst:             decode_krb5_authdata
    - functionName:    krb5_find_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata_dec.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          120
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - find_authdata_1
        - krb5_free_authdata
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata_dec.c:169,16'
          Dst:             calloc
        - Src:             'authdata_dec.c:174,18'
          Dst:             find_authdata_1
        - Src:             'authdata_dec.c:176,18'
          Dst:             find_authdata_1
        - Src:             'authdata_dec.c:179,10'
          Dst:             krb5_free_authdata
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    krb5_anonymous_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/bld_princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_anonymous_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/bld_princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_build_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/bld_princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_build_principal_alloc_va
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'bld_princ.c:148,14'
          Dst:             krb5_build_principal_alloc_va
    - functionName:    krb5_build_principal_alloc_va
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/bld_princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - build_principal_va
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'bld_princ.c:128,14'
          Dst:             build_principal_va
    - functionName:    build_principal_va
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/bld_princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          264
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - k5_infer_principal_type
        - k5memdup0
        - make_data
        - realloc
        - strdup
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'bld_princ.c:60,13'
          Dst:             k5memdup0
        - Src:             'bld_princ.c:67,24'
          Dst:             realloc
        - Src:             'bld_princ.c:76,34'
          Dst:             strlen
        - Src:             'bld_princ.c:77,32'
          Dst:             strdup
        - Src:             'bld_princ.c:85,24'
          Dst:             make_data
        - Src:             'bld_princ.c:88,23'
          Dst:             k5_infer_principal_type
    - functionName:    k5_infer_principal_type
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/bld_princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          79
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - data_eq_string
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'bld_princ.c:34,31'
          Dst:             data_eq_string
        - Src:             'bld_princ.c:39,9'
          Dst:             data_eq_string
    - functionName:    data_eq_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2229
      functionLinenumberEnd: 2231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2230,25'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2231,40'
          Dst:             memcmp
    - functionName:    krb5_build_principal_va
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/bld_princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - build_principal_va
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'bld_princ.c:111,12'
          Dst:             build_principal_va
    - functionName:    krb5_copy_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/copy_auth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_merge_authdata
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'copy_auth.c:116,12'
          Dst:             krb5_merge_authdata
    - functionName:    krb5_merge_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/copy_auth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          229
      EdgeCount:       54
      CyclomaticComplexity: 15
      functionsReached:
        - calloc
        - krb5_free_authdata
        - krb5int_copy_authdatum
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'copy_auth.c:82,44'
          Dst:             calloc
        - Src:             'copy_auth.c:88,22'
          Dst:             krb5int_copy_authdatum
        - Src:             'copy_auth.c:91,17'
          Dst:             krb5_free_authdata
        - Src:             'copy_auth.c:99,22'
          Dst:             krb5int_copy_authdatum
        - Src:             'copy_auth.c:102,17'
          Dst:             krb5_free_authdata
    - functionName:    k5_copy_creds_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/copy_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          205
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - krb5_copy_addresses
        - krb5_copy_authdata
        - krb5_copy_data
        - krb5_copy_keyblock_contents
        - krb5_copy_principal
        - krb5_free_addresses
        - krb5_free_principal
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'copy_creds.c:65,14'
          Dst:             krb5_copy_principal
        - Src:             'copy_creds.c:68,14'
          Dst:             krb5_copy_principal
        - Src:             'copy_creds.c:71,14'
          Dst:             krb5_copy_keyblock_contents
        - Src:             'copy_creds.c:75,14'
          Dst:             krb5_copy_addresses
        - Src:             'copy_creds.c:78,14'
          Dst:             krb5_copy_data
        - Src:             'copy_creds.c:83,14'
          Dst:             krb5_copy_data
        - Src:             'copy_creds.c:90,14'
          Dst:             krb5_copy_authdata
        - Src:             'copy_creds.c:103,5'
          Dst:             krb5_free_addresses
        - Src:             'copy_creds.c:107,5'
          Dst:             krb5_free_principal
        - Src:             'copy_creds.c:109,5'
          Dst:             krb5_free_principal
    - functionName:    krb5_copy_creds
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/copy_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_copy_creds_contents
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'copy_creds.c:43,14'
          Dst:             k5_copy_creds_contents
    - functionName:    krb5int_copy_data_contents_add0
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/copy_data.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          88
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_copy_data_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/copy_data.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          81
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    46
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_copy_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/copy_data.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          65
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - krb5int_copy_data_contents
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'copy_data.c:51,14'
          Dst:             krb5int_copy_data_contents
    - functionName:    krb5_copy_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/copy_princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          173
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - krb5int_copy_data_contents
        - krb5int_copy_data_contents_add0
      functionUses:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'copy_princ.c:53,13'
          Dst:             krb5int_copy_data_contents
        - Src:             'copy_princ.c:63,9'
          Dst:             krb5int_copy_data_contents_add0
    - functionName:    krb5_copy_keyblock_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/cp_key_cnt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5int_c_copy_keyblock_contents
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'cp_key_cnt.c:35,12'
          Dst:             krb5int_c_copy_keyblock_contents
    - functionName:    yydestruct
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/deltat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1046
      functionLinenumberEnd: 1056
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mylex
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/x-deltat.y'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          242
      EdgeCount:       43
      CyclomaticComplexity: 6
      functionsReached:
        - __ctype_b_loc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'x-deltat.y:189,5'
          Branch Sides:    []
      Callsites:
        - Src:             'x-deltat.y:209,9'
          Dst:             __ctype_b_loc
        - Src:             'x-deltat.y:222,9'
          Dst:             __ctype_b_loc
    - functionName:    yyparse
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/deltat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1067
      functionLinenumberEnd: 1626
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         394
      ICount:          2379
      EdgeCount:       531
      CyclomaticComplexity: 139
      functionsReached:
        - mylex
        - yydestruct
      functionUses:    1
      BranchProfiles:
        - Branch String:   'deltat.c:1311,3'
          Branch Sides:    []
      Callsites:
        - Src:             'deltat.c:1235,16'
          Dst:             mylex
        - Src:             'deltat.c:1500,11'
          Dst:             yydestruct
        - Src:             'deltat.c:1556,7'
          Dst:             yydestruct
        - Src:             'deltat.c:1605,7'
          Dst:             yydestruct
        - Src:             'deltat.c:1614,7'
          Dst:             yydestruct
    - functionName:    krb5_string_to_deltat
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/x-deltat.y'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - yyparse
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'x-deltat.y:236,9'
          Dst:             yyparse
    - functionName:    k5_etypes_contains
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/etype_list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_copy_etypes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/etype_list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          59
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_count_etypes
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'etype_list.c:54,13'
          Dst:             k5_count_etypes
    - functionName:    k5_count_etypes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/etype_list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          28
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_libdefault_boolean
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/libdef_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _krb5_conf_boolean
        - krb5int_libdefault_string
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libdef_parse.c:143,14'
          Dst:             krb5int_libdefault_string
        - Src:             'libdef_parse.c:148,18'
          Dst:             _krb5_conf_boolean
    - functionName:    krb5int_libdefault_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/libdef_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          203
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - profile_free_list
        - profile_get_values
        - strdup
        - strncpy
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libdef_parse.c:79,5'
          Dst:             strncpy
        - Src:             'libdef_parse.c:101,14'
          Dst:             profile_get_values
        - Src:             'libdef_parse.c:115,14'
          Dst:             profile_get_values
        - Src:             'libdef_parse.c:126,22'
          Dst:             strdup
        - Src:             'libdef_parse.c:131,5'
          Dst:             profile_free_list
    - functionName:    _krb5_conf_boolean
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/libdef_parse.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          73
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - strcasecmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libdef_parse.c:53,14'
          Dst:             strcasecmp
        - Src:             'libdef_parse.c:58,14'
          Dst:             strcasecmp
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    k5_parse_host_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/parse_host_string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          260
      EdgeCount:       65
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - k5_is_string_numeric
        - k5memdup0
        - strchr
        - strcspn
        - strtoul
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'parse_host_string.c:89,9'
          Dst:             k5_is_string_numeric
        - Src:             'parse_host_string.c:91,40'
          Dst:             strchr
        - Src:             'parse_host_string.c:98,19'
          Dst:             strcspn
        - Src:             'parse_host_string.c:105,9'
          Dst:             __errno_location
        - Src:             'parse_host_string.c:106,13'
          Dst:             strtoul
        - Src:             'parse_host_string.c:107,13'
          Dst:             __errno_location
        - Src:             'parse_host_string.c:116,20'
          Dst:             k5memdup0
    - functionName:    k5_is_string_numeric
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/parse_host_string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          64
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __ctype_b_loc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'parse_host_string.c:44,14'
          Dst:             __ctype_b_loc
    - functionName:    clpreauth_process
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 353
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          59
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    previously_failed
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 640
      functionLinenumberEnd: 649
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clpreauth_is_real
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 330
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clpreauth_prep_questions
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 339
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          68
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pa_type_allowed
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 634
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          30
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    grow_pa_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          84
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:413,15'
          Dst:             realloc
    - functionName:    k5memdup
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2300
      functionLinenumberEnd: 2305
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2301,17'
          Dst:             k5alloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    disable_fallback
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 556
      functionLinenumberEnd: 560
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_cc_config
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 552
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_json_object_set
        - k5_json_release
        - k5_json_string_create
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:545,11'
          Dst:             k5_json_string_create
        - Src:             'preauth2.c:549,11'
          Dst:             k5_json_object_set
        - Src:             'preauth2.c:550,5'
          Dst:             k5_json_release
    - functionName:    get_cc_config
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 517
      functionLinenumberEnd: 532
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          64
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - k5_json_get_tid
        - k5_json_object_get
        - k5_json_string_utf8
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:524,13'
          Dst:             k5_json_object_get
        - Src:             'preauth2.c:528,9'
          Dst:             k5_json_get_tid
        - Src:             'preauth2.c:531,12'
          Dst:             k5_json_string_utf8
    - functionName:    need_as_key
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 507
      functionLinenumberEnd: 513
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          40
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    responder_get_answer
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 496
      functionLinenumberEnd: 503
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_response_items_get_answer
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:500,9'
          Dst:             strcmp
        - Src:             'preauth2.c:502,12'
          Dst:             k5_response_items_get_answer
    - functionName:    responder_ask_question
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 483
      functionLinenumberEnd: 491
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_response_items_ask_question
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:487,9'
          Dst:             strcmp
        - Src:             'preauth2.c:489,12'
          Dst:             k5_response_items_ask_question
    - functionName:    get_preauth_time
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 477
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_init_creds_current_time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:476,12'
          Dst:             k5_init_creds_current_time
    - functionName:    set_as_key
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 464
      functionLinenumberEnd: 468
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_copy_keyblock_contents
        - krb5_free_keyblock_contents
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:467,5'
          Dst:             krb5_free_keyblock_contents
        - Src:             'preauth2.c:468,12'
          Dst:             krb5_copy_keyblock_contents
    - functionName:    get_as_key
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 443
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          107
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fast_armor
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 436
      functionLinenumberEnd: 437
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_etype
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 432
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          37
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    clpreauth_gic_opts
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 383
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_preauth_supply_preauth_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1047
      functionLinenumberEnd: 1075
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          107
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - clpreauth_gic_opts
        - dgettext
        - k5_init_preauth_context
        - krb5_prepend_error_message
        - krb5_set_error_message
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:1053,9'
          Dst:             k5_init_preauth_context
        - Src:             'preauth2.c:1057,23'
          Dst:             dgettext
        - Src:             'preauth2.c:1056,13'
          Dst:             krb5_set_error_message
        - Src:             'preauth2.c:1068,15'
          Dst:             clpreauth_gic_opts
        - Src:             'preauth2.c:1070,41'
          Dst:             dgettext
        - Src:             'preauth2.c:1070,13'
          Dst:             krb5_prepend_error_message
    - functionName:    k5_init_preauth_context
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         44
      ICount:          276
      EdgeCount:       58
      CyclomaticComplexity: 16
      functionsReached:
        - calloc
        - clpreauth_encrypted_challenge_initvt
        - clpreauth_encrypted_timestamp_initvt
        - clpreauth_otp_initvt
        - clpreauth_sam2_initvt
        - free_handles
        - k5_plugin_free_modules
        - k5_plugin_load_all
        - k5_plugin_register
        - k5_plugin_register_dyn
        - krb5int_trace
        - search_module_list
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:134,5'
          Dst:             k5_plugin_register_dyn
        - Src:             'preauth2.c:137,5'
          Dst:             k5_plugin_register_dyn
        - Src:             'preauth2.c:139,5'
          Dst:             k5_plugin_register
        - Src:             'preauth2.c:139,5'
          Dst:             clpreauth_encrypted_challenge_initvt
        - Src:             'preauth2.c:142,5'
          Dst:             k5_plugin_register
        - Src:             'preauth2.c:142,5'
          Dst:             clpreauth_encrypted_timestamp_initvt
        - Src:             'preauth2.c:145,5'
          Dst:             k5_plugin_register
        - Src:             'preauth2.c:145,5'
          Dst:             clpreauth_sam2_initvt
        - Src:             'preauth2.c:147,5'
          Dst:             k5_plugin_register
        - Src:             'preauth2.c:147,5'
          Dst:             clpreauth_otp_initvt
        - Src:             'preauth2.c:151,9'
          Dst:             k5_plugin_load_all
        - Src:             'preauth2.c:156,12'
          Dst:             calloc
        - Src:             'preauth2.c:163,13'
          Dst:             calloc
        - Src:             'preauth2.c:175,17'
          Dst:             search_module_list
        - Src:             'preauth2.c:177,17'
          Dst:             krb5int_trace
        - Src:             'preauth2.c:204,5'
          Dst:             k5_plugin_free_modules
        - Src:             'preauth2.c:205,5'
          Dst:             free_handles
    - functionName:    search_module_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          80
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_handles
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    process_pa_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 657
      functionLinenumberEnd: 733
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         66
      ICount:          376
      EdgeCount:       88
      CyclomaticComplexity: 24
      functionsReached:
        - clpreauth_is_real
        - clpreauth_process
        - dgettext
        - find_module
        - grow_pa_list
        - k5_clear_error
        - k5_preauth_note_failed
        - k5_restore_ctx_error
        - k5_save_ctx_error
        - krb5_free_pa_data
        - krb5_wrap_error_message
        - krb5int_trace
        - pa_type_allowed
        - previously_failed
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:671,26'
          Dst:             pa_type_allowed
        - Src:             'preauth2.c:673,17'
          Dst:             find_module
        - Src:             'preauth2.c:677,17'
          Dst:             clpreauth_is_real
        - Src:             'preauth2.c:680,25'
          Dst:             previously_failed
        - Src:             'preauth2.c:684,19'
          Dst:             clpreauth_process
        - Src:             'preauth2.c:690,13'
          Dst:             krb5int_trace
        - Src:             'preauth2.c:694,23'
          Dst:             grow_pa_list
        - Src:             'preauth2.c:696,21'
          Dst:             krb5_free_pa_data
        - Src:             'preauth2.c:710,17'
          Dst:             k5_save_ctx_error
        - Src:             'preauth2.c:714,23'
          Dst:             k5_preauth_note_failed
        - Src:             'preauth2.c:724,19'
          Dst:             k5_restore_ctx_error
        - Src:             'preauth2.c:726,24'
          Dst:             dgettext
        - Src:             'preauth2.c:725,13'
          Dst:             krb5_wrap_error_message
        - Src:             'preauth2.c:732,5'
          Dst:             k5_clear_error
    - functionName:    find_module
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          86
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - search_module_list
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:110,9'
          Dst:             search_module_list
    - functionName:    k5_preauth_note_failed
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          96
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:217,14'
          Dst:             realloc
    - functionName:    fill_response_items
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 948
      functionLinenumberEnd: 972
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          118
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - clpreauth_prep_questions
        - find_module
        - k5_response_items_reset
        - pa_type_allowed
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:955,5'
          Dst:             k5_response_items_reset
        - Src:             'preauth2.c:958,14'
          Dst:             pa_type_allowed
        - Src:             'preauth2.c:960,13'
          Dst:             find_module
        - Src:             'preauth2.c:964,15'
          Dst:             clpreauth_prep_questions
    - functionName:    k5_preauth
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 978
      functionLinenumberEnd: 1037
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          219
      EdgeCount:       49
      CyclomaticComplexity: 14
      functionsReached:
        - copy_cookie
        - fill_response_items
        - k5_get_etype_info
        - k5_gic_opt_get_responder
        - k5_init_preauth_context
        - k5_response_items_empty
        - krb5_free_pa_data
        - krb5int_trace
        - process_pa_data
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:992,5'
          Dst:             krb5int_trace
        - Src:             'preauth2.c:995,11'
          Dst:             k5_get_etype_info
        - Src:             'preauth2.c:1000,11'
          Dst:             copy_cookie
        - Src:             'preauth2.c:1005,5'
          Dst:             k5_init_preauth_context
        - Src:             'preauth2.c:1013,11'
          Dst:             fill_response_items
        - Src:             'preauth2.c:1018,5'
          Dst:             k5_gic_opt_get_responder
        - Src:             'preauth2.c:1019,31'
          Dst:             k5_response_items_empty
        - Src:             'preauth2.c:1025,11'
          Dst:             process_pa_data
        - Src:             'preauth2.c:1030,5'
          Dst:             krb5int_trace
        - Src:             'preauth2.c:1035,5'
          Dst:             krb5_free_pa_data
    - functionName:    k5_get_etype_info
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 797
      functionLinenumberEnd: 859
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          323
      EdgeCount:       55
      CyclomaticComplexity: 14
      functionsReached:
        - decode_krb5_etype_info
        - decode_krb5_etype_info2
        - empty_data
        - get_salt
        - krb5_c_valid_enctype
        - krb5_free_data_contents
        - krb5_free_etype_info
        - krb5int_find_pa_data
        - krb5int_trace
        - make_data
        - padata2data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:807,10'
          Dst:             krb5int_find_pa_data
        - Src:             'preauth2.c:809,13'
          Dst:             padata2data
        - Src:             'preauth2.c:810,15'
          Dst:             decode_krb5_etype_info2
        - Src:             'preauth2.c:812,14'
          Dst:             krb5int_find_pa_data
        - Src:             'preauth2.c:814,17'
          Dst:             padata2data
        - Src:             'preauth2.c:815,19'
          Dst:             decode_krb5_etype_info
        - Src:             'preauth2.c:821,16'
          Dst:             get_salt
        - Src:             'preauth2.c:830,17'
          Dst:             krb5_c_valid_enctype
        - Src:             'preauth2.c:842,5'
          Dst:             krb5_free_data_contents
        - Src:             'preauth2.c:844,21'
          Dst:             make_data
        - Src:             'preauth2.c:848,21'
          Dst:             empty_data
        - Src:             'preauth2.c:851,5'
          Dst:             krb5_free_data_contents
        - Src:             'preauth2.c:853,24'
          Dst:             empty_data
        - Src:             'preauth2.c:854,5'
          Dst:             krb5int_trace
        - Src:             'preauth2.c:857,5'
          Dst:             krb5_free_etype_info
    - functionName:    copy_cookie
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 865
      functionLinenumberEnd: 889
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          120
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - grow_pa_list
        - k5alloc
        - k5memdup
        - krb5int_find_pa_data
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:869,14'
          Dst:             krb5int_find_pa_data
        - Src:             'preauth2.c:872,5'
          Dst:             krb5int_trace
        - Src:             'preauth2.c:873,10'
          Dst:             k5alloc
        - Src:             'preauth2.c:877,20'
          Dst:             k5memdup
        - Src:             'preauth2.c:880,11'
          Dst:             grow_pa_list
    - functionName:    padata2data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 738
      functionLinenumberEnd: 743
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_salt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 750
      functionLinenumberEnd: 791
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          223
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - alloc_data
        - krb5_free_data_contents
        - krb5int_copy_data_contents
        - krb5int_find_pa_data
        - krb5int_trace
        - memchr
        - padata2data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:757,10'
          Dst:             krb5int_find_pa_data
        - Src:             'preauth2.c:759,14'
          Dst:             krb5int_find_pa_data
        - Src:             'preauth2.c:764,5'
          Dst:             krb5_free_data_contents
        - Src:             'preauth2.c:765,9'
          Dst:             padata2data
        - Src:             'preauth2.c:766,11'
          Dst:             krb5int_copy_data_contents
        - Src:             'preauth2.c:773,13'
          Dst:             memchr
        - Src:             'preauth2.c:781,9'
          Dst:             krb5_free_data_contents
        - Src:             'preauth2.c:782,15'
          Dst:             alloc_data
        - Src:             'preauth2.c:789,5'
          Dst:             krb5int_trace
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    clpreauth_tryagain
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 373
      functionDepth:   0
      returnType:      int
      argCount:        15
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          83
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_preauth_tryagain
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 901
      functionLinenumberEnd: 941
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          212
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - clpreauth_tryagain
        - copy_cookie
        - find_module
        - k5_preauth_note_failed
        - krb5_free_pa_data
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:910,5'
          Dst:             krb5int_trace
        - Src:             'preauth2.c:912,9'
          Dst:             find_module
        - Src:             'preauth2.c:917,11'
          Dst:             clpreauth_tryagain
        - Src:             'preauth2.c:923,5'
          Dst:             krb5int_trace
        - Src:             'preauth2.c:927,9'
          Dst:             k5_preauth_note_failed
        - Src:             'preauth2.c:932,11'
          Dst:             copy_cookie
        - Src:             'preauth2.c:934,9'
          Dst:             krb5_free_pa_data
        - Src:             'preauth2.c:938,5'
          Dst:             krb5int_trace
    - functionName:    krb5_responder_set_answer
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 626
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_response_items_set_answer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:625,12'
          Dst:             k5_response_items_set_answer
    - functionName:    krb5_responder_get_challenge
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 616
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_response_items_get_challenge
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:615,12'
          Dst:             k5_response_items_get_challenge
    - functionName:    krb5_responder_list_questions
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 604
      functionLinenumberEnd: 605
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_response_items_list_questions
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:605,12'
          Dst:             k5_response_items_list_questions
    - functionName:    grow_ktypes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 388
      functionLinenumberEnd: 402
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          87
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:396,14'
          Dst:             realloc
    - functionName:    k5_preauth_prepare_request
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 600
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          114
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - grow_ktypes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:598,13'
          Dst:             grow_ktypes
    - functionName:    k5_preauth_check_context
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - dgettext
        - krb5_set_error_message
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:315,19'
          Dst:             dgettext
        - Src:             'preauth2.c:314,9'
          Dst:             krb5_set_error_message
    - functionName:    k5_preauth_request_context_fini
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          158
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - krb5int_trace
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:300,9'
          Dst:             krb5int_trace
    - functionName:    k5_preauth_request_context_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          155
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - calloc
        - k5_init_preauth_context
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:253,9'
          Dst:             k5_init_preauth_context
        - Src:             'preauth2.c:259,14'
          Dst:             calloc
        - Src:             'preauth2.c:267,23'
          Dst:             calloc
    - functionName:    k5_free_preauth_context
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - free_handles
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth2.c:236,5'
          Dst:             free_handles
    - functionName:    ec_process
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_ec.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         66
      ICount:          435
      EdgeCount:       87
      CyclomaticComplexity: 23
      functionsReached:
        - calloc
        - decode_krb5_enc_data
        - encode_krb5_enc_data
        - encode_krb5_pa_enc_ts
        - krb5_c_decrypt
        - krb5_c_fx_cf2_simple
        - krb5_encrypt_helper
        - krb5_free_data
        - krb5_free_data_contents
        - krb5_free_enc_data
        - krb5_free_keyblock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_ec.c:69,18'
          Dst:             krb5_c_fx_cf2_simple
        - Src:             'preauth_ec.c:73,22'
          Dst:             decode_krb5_enc_data
        - Src:             'preauth_ec.c:82,22'
          Dst:             krb5_c_decrypt
        - Src:             'preauth_ec.c:91,13'
          Dst:             krb5_free_data_contents
        - Src:             'preauth_ec.c:95,13'
          Dst:             krb5_free_enc_data
        - Src:             'preauth_ec.c:107,22'
          Dst:             encode_krb5_pa_enc_ts
        - Src:             'preauth_ec.c:109,22'
          Dst:             krb5_c_fx_cf2_simple
        - Src:             'preauth_ec.c:114,22'
          Dst:             krb5_encrypt_helper
        - Src:             'preauth_ec.c:118,13'
          Dst:             krb5_free_data
        - Src:             'preauth_ec.c:121,22'
          Dst:             encode_krb5_enc_data
        - Src:             'preauth_ec.c:122,13'
          Dst:             krb5_free_data_contents
        - Src:             'preauth_ec.c:125,18'
          Dst:             calloc
        - Src:             'preauth_ec.c:130,21'
          Dst:             calloc
        - Src:             'preauth_ec.c:144,9'
          Dst:             krb5_free_data
        - Src:             'preauth_ec.c:147,9'
          Dst:             krb5_free_keyblock
    - functionName:    ec_prep_questions
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_ec.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clpreauth_encrypted_challenge_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_ec.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          43
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    encts_process
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_encts.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          289
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - dgettext
        - empty_data
        - encode_krb5_enc_data
        - encode_krb5_pa_enc_ts
        - k5alloc
        - k5calloc
        - krb5_encrypt_helper
        - krb5_free_data
        - krb5_set_error_message
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_encts.c:66,27'
          Dst:             empty_data
        - Src:             'preauth_encts.c:69,9'
          Dst:             krb5int_trace
        - Src:             'preauth_encts.c:71,19'
          Dst:             dgettext
        - Src:             'preauth_encts.c:70,9'
          Dst:             krb5_set_error_message
        - Src:             'preauth_encts.c:78,5'
          Dst:             krb5int_trace
        - Src:             'preauth_encts.c:92,11'
          Dst:             encode_krb5_pa_enc_ts
        - Src:             'preauth_encts.c:96,11'
          Dst:             krb5_encrypt_helper
        - Src:             'preauth_encts.c:100,5'
          Dst:             krb5int_trace
        - Src:             'preauth_encts.c:103,11'
          Dst:             encode_krb5_enc_data
        - Src:             'preauth_encts.c:107,10'
          Dst:             k5calloc
        - Src:             'preauth_encts.c:111,13'
          Dst:             k5alloc
        - Src:             'preauth_encts.c:127,5'
          Dst:             krb5_free_data
        - Src:             'preauth_encts.c:128,5'
          Dst:             krb5_free_data
    - functionName:    encts_prep_questions
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_encts.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clpreauth_encrypted_timestamp_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_encts.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          43
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    codec_decode_tokeninfo
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         39
      ICount:          203
      EdgeCount:       53
      CyclomaticComplexity: 16
      functionsReached:
        - calloc
        - codec_value_to_int32
        - codec_value_to_string
        - free_tokeninfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:270,10'
          Dst:             calloc
        - Src:             'preauth_otp.c:274,14'
          Dst:             codec_value_to_int32
        - Src:             'preauth_otp.c:278,14'
          Dst:             codec_value_to_string
        - Src:             'preauth_otp.c:282,14'
          Dst:             codec_value_to_string
        - Src:             'preauth_otp.c:286,14'
          Dst:             codec_value_to_int32
        - Src:             'preauth_otp.c:292,14'
          Dst:             codec_value_to_int32
        - Src:             'preauth_otp.c:298,14'
          Dst:             codec_value_to_string
        - Src:             'preauth_otp.c:302,14'
          Dst:             codec_value_to_string
        - Src:             'preauth_otp.c:309,5'
          Dst:             free_tokeninfo
    - functionName:    codec_value_to_int32
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_json_get_tid
        - k5_json_number_value
        - k5_json_object_get
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:118,11'
          Dst:             k5_json_object_get
        - Src:             'preauth_otp.c:122,9'
          Dst:             k5_json_get_tid
        - Src:             'preauth_otp.c:125,14'
          Dst:             k5_json_number_value
    - functionName:    codec_value_to_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          63
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - k5_json_get_tid
        - k5_json_object_get
        - k5_json_string_utf8
        - strdup
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:63,11'
          Dst:             k5_json_object_get
        - Src:             'preauth_otp.c:67,9'
          Dst:             k5_json_get_tid
        - Src:             'preauth_otp.c:70,18'
          Dst:             k5_json_string_utf8
        - Src:             'preauth_otp.c:70,11'
          Dst:             strdup
    - functionName:    free_tokeninfo
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    otpvalue_matches_tokeninfo
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 470
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          120
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:459,28'
          Dst:             strlen
    - functionName:    isdigit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    isxdigit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    isalnum
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    collect_pin
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 606
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          98
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - dgettext
        - doprompt
        - empty_data
        - make_data
        - strdup
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:589,20'
          Dst:             empty_data
        - Src:             'preauth_otp.c:595,23'
          Dst:             dgettext
        - Src:             'preauth_otp.c:594,14'
          Dst:             doprompt
        - Src:             'preauth_otp.c:600,21'
          Dst:             strdup
        - Src:             'preauth_otp.c:600,37'
          Dst:             strlen
        - Src:             'preauth_otp.c:600,11'
          Dst:             make_data
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    doprompt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 503
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          105
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - k5_set_prompt_types
        - make_data
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:490,20'
          Dst:             make_data
        - Src:             'preauth_otp.c:496,5'
          Dst:             k5_set_prompt_types
        - Src:             'preauth_otp.c:498,5'
          Dst:             k5_set_prompt_types
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    filter_tokeninfos
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 688
      functionLinenumberEnd: 725
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          142
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - dgettext
        - krb5_set_error_message
        - otpvalue_matches_tokeninfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:695,16'
          Dst:             calloc
        - Src:             'preauth_otp.c:701,13'
          Dst:             otpvalue_matches_tokeninfo
        - Src:             'preauth_otp.c:709,19'
          Dst:             dgettext
        - Src:             'preauth_otp.c:708,9'
          Dst:             krb5_set_error_message
    - functionName:    make_challenge
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 556
      functionLinenumberEnd: 572
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          70
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - asprintf
        - dgettext
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:566,18'
          Dst:             dgettext
        - Src:             'preauth_otp.c:565,9'
          Dst:             asprintf
    - functionName:    prompt_for_tokeninfo
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 551
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          165
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - dgettext
        - doprompt
        - k5_buf_add
        - k5_buf_add_fmt
        - k5_buf_add_len
        - k5_buf_cstring
        - k5_buf_free
        - k5_buf_init_dynamic
        - strtoul
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:517,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'preauth_otp.c:518,22'
          Dst:             dgettext
        - Src:             'preauth_otp.c:518,5'
          Dst:             k5_buf_add
        - Src:             'preauth_otp.c:520,59'
          Dst:             dgettext
        - Src:             'preauth_otp.c:520,9'
          Dst:             k5_buf_add_fmt
        - Src:             'preauth_otp.c:521,9'
          Dst:             k5_buf_add_len
        - Src:             'preauth_otp.c:522,9'
          Dst:             k5_buf_add
        - Src:             'preauth_otp.c:524,14'
          Dst:             k5_buf_cstring
        - Src:             'preauth_otp.c:530,27'
          Dst:             dgettext
        - Src:             'preauth_otp.c:529,18'
          Dst:             doprompt
        - Src:             'preauth_otp.c:534,9'
          Dst:             __errno_location
        - Src:             'preauth_otp.c:535,13'
          Dst:             strtoul
        - Src:             'preauth_otp.c:536,13'
          Dst:             __errno_location
        - Src:             'preauth_otp.c:537,22'
          Dst:             __errno_location
        - Src:             'preauth_otp.c:549,5'
          Dst:             k5_buf_free
    - functionName:    string2data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2253
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2254,27'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2254,12'
          Dst:             make_data
    - functionName:    codec_value_to_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - codec_value_to_string
        - string2data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:85,14'
          Dst:             codec_value_to_string
        - Src:             'preauth_otp.c:89,13'
          Dst:             string2data
    - functionName:    set_pa_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 820
      functionLinenumberEnd: 851
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          108
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - encode_krb5_pa_otp_req
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:825,11'
          Dst:             calloc
        - Src:             'preauth_otp.c:828,14'
          Dst:             calloc
        - Src:             'preauth_otp.c:836,9'
          Dst:             encode_krb5_pa_otp_req
    - functionName:    encrypt_nonce
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 428
      functionLinenumberEnd: 447
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - encode_krb5_pa_otp_enc_req
        - krb5_encrypt_helper
        - krb5_free_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:434,14'
          Dst:             encode_krb5_pa_otp_enc_req
        - Src:             'preauth_otp.c:439,14'
          Dst:             krb5_encrypt_helper
        - Src:             'preauth_otp.c:441,5'
          Dst:             krb5_free_data
    - functionName:    save_config_tokeninfo
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1045
      functionLinenumberEnd: 1062
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          146
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - asprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:1048,9'
          Dst:             asprintf
        - Src:             'preauth_otp.c:1053,9'
          Dst:             asprintf
        - Src:             'preauth_otp.c:1058,9'
          Dst:             asprintf
    - functionName:    make_request
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 612
      functionLinenumberEnd: 676
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          269
      EdgeCount:       54
      CyclomaticComplexity: 17
      functionsReached:
        - asprintf
        - calloc
        - empty_data
        - k5_free_pa_otp_req
        - krb5_free_data_contents
        - krb5int_copy_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:622,11'
          Dst:             calloc
        - Src:             'preauth_otp.c:628,14'
          Dst:             krb5int_copy_data_contents
        - Src:             'preauth_otp.c:634,14'
          Dst:             krb5int_copy_data_contents
        - Src:             'preauth_otp.c:638,14'
          Dst:             krb5int_copy_data_contents
        - Src:             'preauth_otp.c:642,14'
          Dst:             krb5int_copy_data_contents
        - Src:             'preauth_otp.c:653,22'
          Dst:             krb5int_copy_data_contents
        - Src:             'preauth_otp.c:657,13'
          Dst:             krb5_free_data_contents
        - Src:             'preauth_otp.c:658,22'
          Dst:             asprintf
        - Src:             'preauth_otp.c:663,34'
          Dst:             empty_data
        - Src:             'preauth_otp.c:674,5'
          Dst:             k5_free_pa_otp_req
    - functionName:    prompt_for_token
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 815
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          305
      EdgeCount:       67
      CyclomaticComplexity: 19
      functionsReached:
        - __assert_fail
        - collect_pin
        - dgettext
        - doprompt
        - filter_tokeninfos
        - krb5_free_data_contents
        - make_challenge
        - make_data
        - prompt_for_tokeninfo
        - strdup
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:762,22'
          Dst:             prompt_for_tokeninfo
        - Src:             'preauth_otp.c:769,18'
          Dst:             make_challenge
        - Src:             'preauth_otp.c:776,23'
          Dst:             dgettext
        - Src:             'preauth_otp.c:775,14'
          Dst:             doprompt
        - Src:             'preauth_otp.c:783,18'
          Dst:             filter_tokeninfos
        - Src:             'preauth_otp.c:789,22'
          Dst:             prompt_for_tokeninfo
        - Src:             'preauth_otp.c:797,5'
          Dst:             __assert_fail
        - Src:             'preauth_otp.c:800,23'
          Dst:             strdup
        - Src:             'preauth_otp.c:800,41'
          Dst:             strlen
        - Src:             'preauth_otp.c:800,13'
          Dst:             make_data
        - Src:             'preauth_otp.c:805,14'
          Dst:             collect_pin
        - Src:             'preauth_otp.c:807,9'
          Dst:             krb5_free_data_contents
    - functionName:    codec_decode_answer
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          161
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - codec_value_to_data
        - codec_value_to_int32
        - k5_json_decode
        - k5_json_get_tid
        - k5_json_release
        - krb5_free_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:388,14'
          Dst:             k5_json_decode
        - Src:             'preauth_otp.c:392,9'
          Dst:             k5_json_get_tid
        - Src:             'preauth_otp.c:395,14'
          Dst:             codec_value_to_int32
        - Src:             'preauth_otp.c:401,22'
          Dst:             codec_value_to_data
        - Src:             'preauth_otp.c:405,22'
          Dst:             codec_value_to_data
        - Src:             'preauth_otp.c:407,17'
          Dst:             krb5_free_data_contents
        - Src:             'preauth_otp.c:420,5'
          Dst:             k5_json_release
    - functionName:    codec_data_to_value
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_json_object_set
        - k5_json_release
        - k5_json_string_create_len
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:103,14'
          Dst:             k5_json_string_create_len
        - Src:             'preauth_otp.c:107,14'
          Dst:             k5_json_object_set
        - Src:             'preauth_otp.c:108,5'
          Dst:             k5_json_release
    - functionName:    codec_int32_to_value
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          57
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_json_number_create
        - k5_json_object_set
        - k5_json_release
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:139,14'
          Dst:             k5_json_number_create
        - Src:             'preauth_otp.c:143,14'
          Dst:             k5_json_object_set
        - Src:             'preauth_otp.c:144,5'
          Dst:             k5_json_release
    - functionName:    codec_encode_tokeninfo
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          211
      EdgeCount:       48
      CyclomaticComplexity: 15
      functionsReached:
        - codec_data_to_value
        - codec_int32_to_value
        - k5_json_object_create
        - k5_json_release
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:156,14'
          Dst:             k5_json_object_create
        - Src:             'preauth_otp.c:169,14'
          Dst:             codec_int32_to_value
        - Src:             'preauth_otp.c:173,14'
          Dst:             codec_data_to_value
        - Src:             'preauth_otp.c:177,14'
          Dst:             codec_data_to_value
        - Src:             'preauth_otp.c:181,14'
          Dst:             codec_int32_to_value
        - Src:             'preauth_otp.c:187,18'
          Dst:             codec_int32_to_value
        - Src:             'preauth_otp.c:192,14'
          Dst:             codec_data_to_value
        - Src:             'preauth_otp.c:196,14'
          Dst:             codec_data_to_value
        - Src:             'preauth_otp.c:204,5'
          Dst:             k5_json_release
    - functionName:    data_eq_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2229
      functionLinenumberEnd: 2231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2230,25'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2231,40'
          Dst:             memcmp
    - functionName:    is_printable_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 856
      functionLinenumberEnd: 868
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          69
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - __ctype_b_loc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:863,14'
          Dst:             __ctype_b_loc
    - functionName:    is_tokeninfo_supported
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 874
      functionLinenumberEnd: 900
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          90
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - is_printable_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:888,10'
          Dst:             is_printable_string
        - Src:             'preauth_otp.c:892,10'
          Dst:             is_printable_string
    - functionName:    codec_encode_challenge
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          175
      EdgeCount:       37
      CyclomaticComplexity: 12
      functionsReached:
        - codec_encode_tokeninfo
        - k5_json_array_add
        - k5_json_array_create
        - k5_json_encode
        - k5_json_object_create
        - k5_json_object_set
        - k5_json_release
        - k5_json_string_create_len
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:219,14'
          Dst:             k5_json_object_create
        - Src:             'preauth_otp.c:224,18'
          Dst:             k5_json_string_create_len
        - Src:             'preauth_otp.c:228,18'
          Dst:             k5_json_object_set
        - Src:             'preauth_otp.c:229,9'
          Dst:             k5_json_release
        - Src:             'preauth_otp.c:234,14'
          Dst:             k5_json_array_create
        - Src:             'preauth_otp.c:239,18'
          Dst:             codec_encode_tokeninfo
        - Src:             'preauth_otp.c:243,18'
          Dst:             k5_json_array_add
        - Src:             'preauth_otp.c:244,9'
          Dst:             k5_json_release
        - Src:             'preauth_otp.c:249,14'
          Dst:             k5_json_object_set
        - Src:             'preauth_otp.c:253,14'
          Dst:             k5_json_encode
        - Src:             'preauth_otp.c:258,5'
          Dst:             k5_json_release
        - Src:             'preauth_otp.c:259,5'
          Dst:             k5_json_release
    - functionName:    filter_config_tokeninfos
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 935
      functionLinenumberEnd: 976
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          278
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - data_eq_string
        - k5_free_otp_tokeninfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:948,14'
          Dst:             data_eq_string
        - Src:             'preauth_otp.c:951,14'
          Dst:             data_eq_string
        - Src:             'preauth_otp.c:954,14'
          Dst:             data_eq_string
        - Src:             'preauth_otp.c:969,13'
          Dst:             k5_free_otp_tokeninfo
    - functionName:    filter_supported_tokeninfos
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 905
      functionLinenumberEnd: 924
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          90
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - dgettext
        - is_tokeninfo_supported
        - k5_free_otp_tokeninfo
        - krb5_set_error_message
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:910,14'
          Dst:             is_tokeninfo_supported
        - Src:             'preauth_otp.c:911,13'
          Dst:             k5_free_otp_tokeninfo
        - Src:             'preauth_otp.c:922,45'
          Dst:             dgettext
        - Src:             'preauth_otp.c:922,5'
          Dst:             krb5_set_error_message
    - functionName:    krb5_responder_otp_challenge_free
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1258
      functionLinenumberEnd: 1269
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          64
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - free_tokeninfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:1265,9'
          Dst:             free_tokeninfo
    - functionName:    krb5_responder_otp_set_answer
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1197
      functionLinenumberEnd: 1252
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          167
      EdgeCount:       37
      CyclomaticComplexity: 12
      functionsReached:
        - k5_json_encode
        - k5_json_number_create
        - k5_json_object_create
        - k5_json_object_set
        - k5_json_release
        - k5_json_string_create
        - krb5_responder_set_answer
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:1204,14'
          Dst:             k5_json_object_create
        - Src:             'preauth_otp.c:1208,14'
          Dst:             k5_json_number_create
        - Src:             'preauth_otp.c:1212,14'
          Dst:             k5_json_object_set
        - Src:             'preauth_otp.c:1213,5'
          Dst:             k5_json_release
        - Src:             'preauth_otp.c:1218,18'
          Dst:             k5_json_string_create
        - Src:             'preauth_otp.c:1222,18'
          Dst:             k5_json_object_set
        - Src:             'preauth_otp.c:1223,9'
          Dst:             k5_json_release
        - Src:             'preauth_otp.c:1229,18'
          Dst:             k5_json_string_create
        - Src:             'preauth_otp.c:1233,18'
          Dst:             k5_json_object_set
        - Src:             'preauth_otp.c:1234,9'
          Dst:             k5_json_release
        - Src:             'preauth_otp.c:1239,14'
          Dst:             k5_json_encode
        - Src:             'preauth_otp.c:1242,5'
          Dst:             k5_json_release
        - Src:             'preauth_otp.c:1244,14'
          Dst:             krb5_responder_set_answer
        - Src:             'preauth_otp.c:1250,5'
          Dst:             k5_json_release
    - functionName:    codec_decode_challenge
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 371
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         40
      ICount:          233
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - calloc
        - codec_decode_tokeninfo
        - codec_value_to_string
        - free_tokeninfo
        - k5_json_array_get
        - k5_json_array_length
        - k5_json_decode
        - k5_json_get_tid
        - k5_json_object_get
        - k5_json_release
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:322,14'
          Dst:             k5_json_decode
        - Src:             'preauth_otp.c:326,9'
          Dst:             k5_json_get_tid
        - Src:             'preauth_otp.c:329,11'
          Dst:             k5_json_object_get
        - Src:             'preauth_otp.c:333,9'
          Dst:             k5_json_get_tid
        - Src:             'preauth_otp.c:336,11'
          Dst:             calloc
        - Src:             'preauth_otp.c:340,29'
          Dst:             k5_json_array_length
        - Src:             'preauth_otp.c:340,22'
          Dst:             calloc
        - Src:             'preauth_otp.c:345,14'
          Dst:             codec_value_to_string
        - Src:             'preauth_otp.c:349,21'
          Dst:             k5_json_array_length
        - Src:             'preauth_otp.c:350,15'
          Dst:             k5_json_array_get
        - Src:             'preauth_otp.c:351,13'
          Dst:             k5_json_get_tid
        - Src:             'preauth_otp.c:354,29'
          Dst:             codec_decode_tokeninfo
        - Src:             'preauth_otp.c:359,5'
          Dst:             k5_json_release
        - Src:             'preauth_otp.c:365,13'
          Dst:             free_tokeninfo
        - Src:             'preauth_otp.c:369,5'
          Dst:             k5_json_release
    - functionName:    krb5_responder_otp_get_challenge
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1175
      functionLinenumberEnd: 1192
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - codec_decode_challenge
        - krb5_responder_get_challenge
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:1179,14'
          Dst:             krb5_responder_get_challenge
        - Src:             'preauth_otp.c:1186,17'
          Dst:             codec_decode_challenge
    - functionName:    otp_client_request_fini
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1142
      functionLinenumberEnd: 1148
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_free_pa_otp_challenge
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:1146,5'
          Dst:             k5_free_pa_otp_challenge
    - functionName:    otp_client_process
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1072
      functionLinenumberEnd: 1137
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          227
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - codec_decode_answer
        - empty_data
        - encrypt_nonce
        - k5_free_pa_otp_req
        - krb5_free_data_contents
        - make_request
        - prompt_for_token
        - save_config_tokeninfo
        - set_pa_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:1093,11'
          Dst:             empty_data
        - Src:             'preauth_otp.c:1094,13'
          Dst:             empty_data
        - Src:             'preauth_otp.c:1097,14'
          Dst:             codec_decode_answer
        - Src:             'preauth_otp.c:1102,18'
          Dst:             prompt_for_token
        - Src:             'preauth_otp.c:1109,14'
          Dst:             make_request
        - Src:             'preauth_otp.c:1114,5'
          Dst:             save_config_tokeninfo
        - Src:             'preauth_otp.c:1117,14'
          Dst:             encrypt_nonce
        - Src:             'preauth_otp.c:1127,14'
          Dst:             set_pa_data
        - Src:             'preauth_otp.c:1133,5'
          Dst:             krb5_free_data_contents
        - Src:             'preauth_otp.c:1134,5'
          Dst:             krb5_free_data_contents
        - Src:             'preauth_otp.c:1135,5'
          Dst:             k5_free_pa_otp_req
    - functionName:    otp_client_prep_questions
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 994
      functionLinenumberEnd: 1033
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          142
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - codec_encode_challenge
        - decode_krb5_pa_otp_challenge
        - filter_config_tokeninfos
        - filter_supported_tokeninfos
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:1004,11'
          Dst:             make_data
        - Src:             'preauth_otp.c:1005,14'
          Dst:             decode_krb5_pa_otp_challenge
        - Src:             'preauth_otp.c:1012,14'
          Dst:             filter_supported_tokeninfos
        - Src:             'preauth_otp.c:1018,14'
          Dst:             filter_config_tokeninfos
        - Src:             'preauth_otp.c:1023,14'
          Dst:             codec_encode_challenge
    - functionName:    otp_client_request_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 981
      functionLinenumberEnd: 983
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_otp.c:982,19'
          Dst:             calloc
    - functionName:    clpreauth_otp_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_otp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1153
      functionLinenumberEnd: 1169
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          52
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sam_challenge_banner
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_sam2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          77
      EdgeCount:       31
      CyclomaticComplexity: 17
      functionsReached:
        - dgettext
      functionUses:    4
      BranchProfiles:
        - Branch String:   'preauth_sam2.c:47,5'
          Branch Sides:    []
      Callsites:
        - Src:             'preauth_sam2.c:49,17'
          Dst:             dgettext
        - Src:             'preauth_sam2.c:53,17'
          Dst:             dgettext
        - Src:             'preauth_sam2.c:57,17'
          Dst:             dgettext
        - Src:             'preauth_sam2.c:60,17'
          Dst:             dgettext
        - Src:             'preauth_sam2.c:63,17'
          Dst:             dgettext
        - Src:             'preauth_sam2.c:66,17'
          Dst:             dgettext
        - Src:             'preauth_sam2.c:69,17'
          Dst:             dgettext
        - Src:             'preauth_sam2.c:72,17'
          Dst:             dgettext
    - functionName:    sam2_process
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_sam2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 379
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         128
      ICount:          1124
      EdgeCount:       176
      CyclomaticComplexity: 50
      functionsReached:
        - decode_krb5_sam_challenge_2
        - decode_krb5_sam_challenge_2_body
        - dgettext
        - encode_krb5_enc_sam_response_enc_2
        - encode_krb5_sam_response_2
        - k5_set_prompt_types
        - krb5_c_encrypt
        - krb5_c_encrypt_length
        - krb5_c_is_keyed_cksum
        - krb5_c_string_to_key
        - krb5_c_valid_enctype
        - krb5_c_verify_checksum
        - krb5_free_data
        - krb5_free_data_contents
        - krb5_free_keyblock_contents
        - krb5_free_sam_challenge_2
        - krb5_free_sam_challenge_2_body
        - krb5_principal2salt
        - sam_challenge_banner
        - snprintf
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'preauth_sam2.c:112,19'
          Dst:             decode_krb5_sam_challenge_2
        - Src:             'preauth_sam2.c:115,14'
          Dst:             decode_krb5_sam_challenge_2_body
        - Src:             'preauth_sam2.c:118,9'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:123,9'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:124,9'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:129,9'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:130,9'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:134,10'
          Dst:             krb5_c_valid_enctype
        - Src:             'preauth_sam2.c:135,9'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:136,9'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:157,13'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:158,13'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:164,14'
          Dst:             dgettext
        - Src:             'preauth_sam2.c:164,14'
          Dst:             strlen
        - Src:             'preauth_sam2.c:164,14'
          Dst:             dgettext
        - Src:             'preauth_sam2.c:164,14'
          Dst:             strlen
        - Src:             'preauth_sam2.c:164,14'
          Dst:             dgettext
        - Src:             'preauth_sam2.c:164,14'
          Dst:             dgettext
        - Src:             'preauth_sam2.c:163,5'
          Dst:             snprintf
        - Src:             'preauth_sam2.c:168,14'
          Dst:             sam_challenge_banner
        - Src:             'preauth_sam2.c:168,14'
          Dst:             strlen
        - Src:             'preauth_sam2.c:168,14'
          Dst:             sam_challenge_banner
        - Src:             'preauth_sam2.c:168,14'
          Dst:             strlen
        - Src:             'preauth_sam2.c:168,14'
          Dst:             sam_challenge_banner
        - Src:             'preauth_sam2.c:168,14'
          Dst:             sam_challenge_banner
        - Src:             'preauth_sam2.c:167,5'
          Dst:             snprintf
        - Src:             'preauth_sam2.c:172,5'
          Dst:             snprintf
        - Src:             'preauth_sam2.c:185,5'
          Dst:             k5_set_prompt_types
        - Src:             'preauth_sam2.c:189,9'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:190,9'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:191,9'
          Dst:             k5_set_prompt_types
        - Src:             'preauth_sam2.c:195,5'
          Dst:             k5_set_prompt_types
        - Src:             'preauth_sam2.c:200,14'
          Dst:             krb5_principal2salt
        - Src:             'preauth_sam2.c:201,13'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:202,13'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:224,13'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:225,13'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:232,13'
          Dst:             krb5_free_keyblock_contents
        - Src:             'preauth_sam2.c:237,18'
          Dst:             krb5_c_string_to_key
        - Src:             'preauth_sam2.c:244,13'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:245,13'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:255,14'
          Dst:             krb5_c_is_keyed_cksum
        - Src:             'preauth_sam2.c:258,18'
          Dst:             krb5_c_verify_checksum
        - Src:             'preauth_sam2.c:263,13'
          Dst:             krb5_free_data
        - Src:             'preauth_sam2.c:264,13'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:265,13'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:273,9'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:274,9'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:294,14'
          Dst:             encode_krb5_enc_sam_response_enc_2
        - Src:             'preauth_sam2.c:297,9'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:298,9'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:312,14'
          Dst:             krb5_c_encrypt_length
        - Src:             'preauth_sam2.c:315,9'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:316,9'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:317,9'
          Dst:             krb5_free_data
        - Src:             'preauth_sam2.c:326,9'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:327,9'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:328,9'
          Dst:             krb5_free_data
        - Src:             'preauth_sam2.c:332,14'
          Dst:             krb5_c_encrypt
        - Src:             'preauth_sam2.c:336,9'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:337,9'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:338,9'
          Dst:             krb5_free_data
        - Src:             'preauth_sam2.c:339,9'
          Dst:             krb5_free_data_contents
        - Src:             'preauth_sam2.c:342,5'
          Dst:             krb5_free_data
        - Src:             'preauth_sam2.c:346,14'
          Dst:             encode_krb5_sam_response_2
        - Src:             'preauth_sam2.c:347,5'
          Dst:             krb5_free_sam_challenge_2
        - Src:             'preauth_sam2.c:348,5'
          Dst:             krb5_free_sam_challenge_2_body
        - Src:             'preauth_sam2.c:349,5'
          Dst:             krb5_free_data_contents
        - Src:             'preauth_sam2.c:358,9'
          Dst:             krb5_free_data
        - Src:             'preauth_sam2.c:363,9'
          Dst:             krb5_free_data
    - functionName:    clpreauth_sam2_initvt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/preauth_sam2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          40
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_principal_compare_any_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/princ_comp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_principal_compare_flags
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'princ_comp.c:166,12'
          Dst:             krb5_principal_compare_flags
    - functionName:    krb5_principal_compare_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/princ_comp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          288
      EdgeCount:       62
      CyclomaticComplexity: 17
      functionsReached:
        - data_eq
        - krb5_free_principal
        - krb5int_utf8_normcmp
        - realm_compare_flags
        - strncasecmp
        - upn_to_principal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'princ_comp.c:94,17'
          Dst:             upn_to_principal
        - Src:             'princ_comp.c:98,17'
          Dst:             upn_to_principal
        - Src:             'princ_comp.c:107,10'
          Dst:             realm_compare_flags
        - Src:             'princ_comp.c:117,23'
          Dst:             krb5int_utf8_normcmp
        - Src:             'princ_comp.c:120,26'
          Dst:             strncasecmp
        - Src:             'princ_comp.c:122,18'
          Dst:             data_eq
        - Src:             'princ_comp.c:132,9'
          Dst:             krb5_free_principal
        - Src:             'princ_comp.c:134,9'
          Dst:             krb5_free_principal
    - functionName:    upn_to_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/princ_comp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_parse_name
        - krb5_unparse_name_flags
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'princ_comp.c:63,12'
          Dst:             krb5_unparse_name_flags
        - Src:             'princ_comp.c:71,12'
          Dst:             krb5_parse_name
    - functionName:    realm_compare_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/princ_comp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          98
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - memcmp
        - strncasecmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'princ_comp.c:45,10'
          Dst:             strncasecmp
        - Src:             'princ_comp.c:46,10'
          Dst:             memcmp
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    krb5_principal_compare
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/princ_comp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_principal_compare_flags
      functionUses:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'princ_comp.c:158,12'
          Dst:             krb5_principal_compare_flags
    - functionName:    krb5_is_referral_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/princ_comp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_realm_compare
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/princ_comp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - realm_compare_flags
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'princ_comp.c:52,12'
          Dst:             realm_compare_flags
    - functionName:    krb5int_random_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/random_str.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          134
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - krb5_c_random_make_octets
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'random_str.c:54,15'
          Dst:             krb5_c_random_make_octets
    - functionName:    k5_response_items_get_answer
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/response_items.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_question
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'response_items.c:219,9'
          Dst:             find_question
    - functionName:    find_question
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/response_items.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          65
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'response_items.c:100,13'
          Dst:             strcmp
    - functionName:    k5_response_items_set_answer
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/response_items.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          73
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - find_question
        - strdup
        - zapfreestr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'response_items.c:198,9'
          Dst:             find_question
        - Src:             'response_items.c:203,15'
          Dst:             strdup
        - Src:             'response_items.c:208,5'
          Dst:             zapfreestr
    - functionName:    zapfreestr
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 674
      functionLinenumberEnd: 679
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:676,9'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:676,9'
          Dst:             explicit_bzero
    - functionName:    k5_response_items_get_challenge
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/response_items.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_question
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'response_items.c:184,9'
          Dst:             find_question
    - functionName:    push_question
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/response_items.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          225
      EdgeCount:       26
      CyclomaticComplexity: 9
      functionsReached:
        - realloc
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'response_items.c:118,11'
          Dst:             realloc
        - Src:             'response_items.c:125,11'
          Dst:             realloc
        - Src:             'response_items.c:132,11'
          Dst:             realloc
        - Src:             'response_items.c:139,32'
          Dst:             strdup
        - Src:             'response_items.c:144,37'
          Dst:             strdup
    - functionName:    k5_response_items_ask_question
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/response_items.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          77
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - find_question
        - push_question
        - strdup
        - zapfreestr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'response_items.c:163,9'
          Dst:             find_question
        - Src:             'response_items.c:165,16'
          Dst:             push_question
        - Src:             'response_items.c:168,15'
          Dst:             strdup
        - Src:             'response_items.c:173,5'
          Dst:             zapfreestr
    - functionName:    k5_response_items_list_questions
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/response_items.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_response_items_empty
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/response_items.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_response_items_reset
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/response_items.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          121
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - zapfreestr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'response_items.c:65,9'
          Dst:             zapfreestr
        - Src:             'response_items.c:70,9'
          Dst:             zapfreestr
    - functionName:    k5_response_items_free
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/response_items.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_response_items_reset
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'response_items.c:47,5'
          Dst:             k5_response_items_reset
    - functionName:    k5_response_items_new
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/response_items.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'response_items.c:40,15'
          Dst:             calloc
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_set_principal_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/set_realm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - make_data
        - strdup
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'set_realm.c:39,14'
          Dst:             strlen
        - Src:             'set_realm.c:40,16'
          Dst:             strdup
        - Src:             'set_realm.c:45,24'
          Dst:             make_data
    - functionName:    k5_sname_wildcard_host
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/sname_match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    krb5_sname_match
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/sname_match.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          179
      EdgeCount:       37
      CyclomaticComplexity: 12
      functionsReached:
        - data_eq
        - krb5_principal_compare
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sname_match.c:38,16'
          Dst:             krb5_principal_compare
        - Src:             'sname_match.c:44,41'
          Dst:             data_eq
        - Src:             'sname_match.c:48,10'
          Dst:             data_eq
        - Src:             'sname_match.c:53,10'
          Dst:             data_eq
    - functionName:    k5_input_set_status
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_ucstrncmp
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          66
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_ucstrncasecmp
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          78
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - uctolower
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ucstr.c:50,21'
          Dst:             uctolower
        - Src:             'ucstr.c:51,21'
          Dst:             uctolower
    - functionName:    krb5int_utf8_normcmp
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         121
      ICount:          789
      EdgeCount:       164
      CyclomaticComplexity: 45
      functionsReached:
        - __ctype_b_loc
        - krb5int_ucstrncasecmp
        - krb5int_ucstrncmp
        - krb5int_utf8_to_ucs4
        - tolower
        - uccanoncomp
        - uccompatdecomp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ucstr.c:126,16'
          Dst:             __ctype_b_loc
        - Src:             'ucstr.c:126,16'
          Dst:             tolower
        - Src:             'ucstr.c:127,16'
          Dst:             __ctype_b_loc
        - Src:             'ucstr.c:127,16'
          Dst:             tolower
        - Src:             'ucstr.c:181,6'
          Dst:             krb5int_utf8_to_ucs4
        - Src:             'ucstr.c:197,2'
          Dst:             uccompatdecomp
        - Src:             'ucstr.c:198,7'
          Dst:             uccanoncomp
        - Src:             'ucstr.c:203,6'
          Dst:             krb5int_utf8_to_ucs4
        - Src:             'ucstr.c:215,2'
          Dst:             uccompatdecomp
        - Src:             'ucstr.c:216,7'
          Dst:             uccanoncomp
        - Src:             'ucstr.c:221,4'
          Dst:             krb5int_ucstrncasecmp
        - Src:             'ucstr.c:222,4'
          Dst:             krb5int_ucstrncmp
    - functionName:    k5_input_get_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_input_set_status
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:72,9'
          Dst:             k5_input_set_status
    - functionName:    k5_input_init
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_utf8_validate
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucstr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         37
      ICount:          217
      EdgeCount:       49
      CyclomaticComplexity: 14
      functionsReached:
        - k5_input_get_bytes
        - k5_input_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ucstr.c:71,5'
          Dst:             k5_input_init
        - Src:             'ucstr.c:76,10'
          Dst:             k5_input_get_bytes
    - functionName:    k5_print_addr_port
      functionSourceFile: '/src/krb5/src/lib/krb5/os/addr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - getnameinfo
        - k5_print_addr
        - krb5int_strlcpy
        - sa_is_inet
        - sa_socklen
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'addr.c:97,9'
          Dst:             sa_is_inet
        - Src:             'addr.c:98,29'
          Dst:             sa_socklen
        - Src:             'addr.c:98,13'
          Dst:             getnameinfo
        - Src:             'addr.c:100,13'
          Dst:             krb5int_strlcpy
        - Src:             'addr.c:102,19'
          Dst:             snprintf
        - Src:             'addr.c:104,19'
          Dst:             snprintf
        - Src:             'addr.c:107,9'
          Dst:             k5_print_addr
    - functionName:    sa_is_inet
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          29
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sa_socklen
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - abort
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/socket-utils.h:161,9'
          Dst:             abort
    - functionName:    getnameinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_print_addr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/addr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          70
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - getnameinfo
        - krb5int_strlcpy
        - sa2sun
        - sa_is_inet
        - sa_socklen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'addr.c:79,9'
          Dst:             sa_is_inet
        - Src:             'addr.c:80,29'
          Dst:             sa_socklen
        - Src:             'addr.c:80,13'
          Dst:             getnameinfo
        - Src:             'addr.c:82,13'
          Dst:             krb5int_strlcpy
        - Src:             'addr.c:85,22'
          Dst:             sa2sun
        - Src:             'addr.c:85,9'
          Dst:             krb5int_strlcpy
        - Src:             'addr.c:88,9'
          Dst:             krb5int_strlcpy
    - functionName:    sa2sun
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sa2sin6
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sa2sin
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_sockaddr_to_address
      functionSourceFile: '/src/krb5/src/lib/krb5/os/addr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          184
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - htonl
        - sa2sin
        - sa2sin6
        - sa2sun
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'addr.c:48,41'
          Dst:             sa2sin
        - Src:             'addr.c:53,43'
          Dst:             sa2sin6
        - Src:             'addr.c:54,13'
          Dst:             htonl
        - Src:             'addr.c:66,30'
          Dst:             sa2sun
        - Src:             'addr.c:66,23'
          Dst:             strlen
        - Src:             'addr.c:67,36'
          Dst:             sa2sun
    - functionName:    k5_mutex_unlock
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    1
      BranchProfiles:  []
      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:    ts_incr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2364
      functionLinenumberEnd: 2365
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_mutex_lock
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    1
      BranchProfiles:  []
      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:    krb5_crypto_us_timeofday
      functionSourceFile: '/src/krb5/src/lib/krb5/os/c_ustime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          116
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - get_time_now
        - k5_mutex_lock
        - k5_mutex_unlock
        - ts_incr
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'c_ustime.c:100,11'
          Dst:             get_time_now
        - Src:             'c_ustime.c:109,5'
          Dst:             k5_mutex_lock
        - Src:             'c_ustime.c:123,20'
          Dst:             ts_incr
        - Src:             'c_ustime.c:133,23'
          Dst:             ts_incr
        - Src:             'c_ustime.c:139,5'
          Dst:             k5_mutex_unlock
    - functionName:    get_time_now
      functionSourceFile: '/src/krb5/src/lib/krb5/os/c_ustime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - gettimeofday
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'c_ustime.c:66,9'
          Dst:             gettimeofday
        - Src:             'c_ustime.c:67,16'
          Dst:             __errno_location
    - functionName:    gettimeofday
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_us_timeofday
      functionSourceFile: '/src/krb5/src/lib/krb5/os/c_ustime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_time_now
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'c_ustime.c:82,11'
          Dst:             get_time_now
    - functionName:    get_from_os
      functionSourceFile: '/src/krb5/src/lib/krb5/os/ccdefname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_expand_path_tokens
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccdefname.c:230,11'
          Dst:             k5_expand_path_tokens
    - functionName:    krb5_cc_default_name
      functionSourceFile: '/src/krb5/src/lib/krb5/os/ccdefname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 320
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          112
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - get_from_os
        - k5_expand_path_tokens
        - profile_get_string
        - profile_release_string
        - secure_getenv
        - strdup
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'ccdefname.c:303,14'
          Dst:             secure_getenv
        - Src:             'ccdefname.c:305,34'
          Dst:             strdup
        - Src:             'ccdefname.c:309,9'
          Dst:             profile_get_string
        - Src:             'ccdefname.c:312,15'
          Dst:             k5_expand_path_tokens
        - Src:             'ccdefname.c:313,9'
          Dst:             profile_release_string
        - Src:             'ccdefname.c:318,5'
          Dst:             get_from_os
    - functionName:    set_for_os
      functionSourceFile: '/src/krb5/src/lib/krb5/os/ccdefname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_cc_set_default_name
      functionSourceFile: '/src/krb5/src/lib/krb5/os/ccdefname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 268
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          75
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccdefname.c:276,22'
          Dst:             strdup
    - functionName:    krb5int_cc_user_set_default_name
      functionSourceFile: '/src/krb5/src/lib/krb5/os/ccdefname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 264
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_cc_set_default_name
        - set_for_os
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ccdefname.c:259,11'
          Dst:             krb5_cc_set_default_name
        - Src:             'ccdefname.c:262,5'
          Dst:             set_for_os
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5_input_set_status
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_primary_domain
      functionSourceFile: '/src/krb5/src/lib/krb5/os/dnsglue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 449
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __res_nclose
        - __res_ninit
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsglue.c:444,10'
          Dst:             __res_ninit
        - Src:             'dnsglue.c:446,14'
          Dst:             strdup
        - Src:             'dnsglue.c:447,5'
          Dst:             __res_nclose
    - functionName:    __res_ninit
      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:    __res_nclose
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    k5_input_get_byte
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:83,32'
          Dst:             k5_input_get_bytes
    - functionName:    k5_input_get_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_input_set_status
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:72,9'
          Dst:             k5_input_set_status
    - functionName:    txt_lookup_name
      functionSourceFile: '/src/krb5/src/lib/krb5/os/dnsglue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - k5_buf_add
        - k5_buf_add_fmt
        - k5_buf_cstring
        - k5_buf_init_dynamic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsglue.c:315,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'dnsglue.c:318,9'
          Dst:             k5_buf_add
        - Src:             'dnsglue.c:320,9'
          Dst:             k5_buf_add_fmt
        - Src:             'dnsglue.c:334,13'
          Dst:             k5_buf_add
        - Src:             'dnsglue.c:337,12'
          Dst:             k5_buf_cstring
    - functionName:    k5_try_realm_txt_rr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/dnsglue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 394
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          188
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached:
        - k5_dns_fini
        - k5_dns_init
        - k5_dns_nextans
        - k5_input_get_byte
        - k5_input_get_bytes
        - k5memdup0
        - krb5int_trace
        - txt_lookup_name
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsglue.c:406,15'
          Dst:             txt_lookup_name
        - Src:             'dnsglue.c:409,11'
          Dst:             k5_dns_init
        - Src:             'dnsglue.c:411,9'
          Dst:             krb5int_trace
        - Src:             'dnsglue.c:415,11'
          Dst:             k5_dns_nextans
        - Src:             'dnsglue.c:419,11'
          Dst:             k5_input_get_byte
        - Src:             'dnsglue.c:420,9'
          Dst:             k5_input_get_bytes
        - Src:             'dnsglue.c:423,14'
          Dst:             k5memdup0
        - Src:             'dnsglue.c:430,5'
          Dst:             krb5int_trace
        - Src:             'dnsglue.c:433,5'
          Dst:             k5_dns_fini
    - functionName:    k5_dns_init
      functionSourceFile: '/src/krb5/src/lib/krb5/os/dnsglue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          195
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - __res_nclose
        - __res_ninit
        - __res_nsearch
        - k5_dns_fini
        - ns_initparse
        - realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsglue.c:127,10'
          Dst:             __res_ninit
        - Src:             'dnsglue.c:138,13'
          Dst:             realloc
        - Src:             'dnsglue.c:143,15'
          Dst:             __res_nsearch
        - Src:             'dnsglue.c:152,11'
          Dst:             ns_initparse
        - Src:             'dnsglue.c:164,5'
          Dst:             __res_nclose
        - Src:             'dnsglue.c:165,5'
          Dst:             k5_dns_fini
    - functionName:    k5_dns_nextans
      functionSourceFile: '/src/krb5/src/lib/krb5/os/dnsglue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          105
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - k5_input_init
        - ns_parserr
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsglue.c:176,5'
          Dst:             k5_input_init
        - Src:             'dnsglue.c:178,15'
          Dst:             ns_parserr
        - Src:             'dnsglue.c:184,13'
          Dst:             k5_input_init
    - functionName:    k5_dns_fini
      functionSourceFile: '/src/krb5/src/lib/krb5/os/dnsglue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_input_init
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ns_parserr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __res_nsearch
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ns_initparse
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_dns_expand
      functionSourceFile: '/src/krb5/src/lib/krb5/os/dnsglue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
        - ns_name_uncompress
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'dnsglue.c:202,12'
          Dst:             ns_name_uncompress
        - Src:             'dnsglue.c:208,11'
          Dst:             k5_input_get_bytes
    - functionName:    ns_name_uncompress
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_input_set_status
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    load_16_be
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 589
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_16
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:589,12'
          Dst:             __bswap_16
    - functionName:    k5_input_get_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_input_set_status
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:72,9'
          Dst:             k5_input_set_status
    - functionName:    krb5int_make_srv_query_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/os/dnssrv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          233
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - asprintf
        - k5_dns_expand
        - k5_dns_fini
        - k5_dns_init
        - k5_dns_nextans
        - k5_input_get_uint16_be
        - krb5int_make_srv_query_realm
        - krb5int_trace
        - make_lookup_name
        - place_srv_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dnssrv.c:281,12'
          Dst:             make_lookup_name
        - Src:             'dnssrv.c:285,5'
          Dst:             krb5int_trace
        - Src:             'dnssrv.c:287,12'
          Dst:             k5_dns_init
        - Src:             'dnssrv.c:291,16'
          Dst:             krb5int_make_srv_query_realm
        - Src:             'dnssrv.c:298,15'
          Dst:             k5_dns_nextans
        - Src:             'dnssrv.c:302,20'
          Dst:             k5_input_get_uint16_be
        - Src:             'dnssrv.c:303,18'
          Dst:             k5_input_get_uint16_be
        - Src:             'dnssrv.c:304,16'
          Dst:             k5_input_get_uint16_be
        - Src:             'dnssrv.c:310,15'
          Dst:             k5_dns_expand
        - Src:             'dnssrv.c:329,13'
          Dst:             asprintf
        - Src:             'dnssrv.c:334,9'
          Dst:             krb5int_trace
        - Src:             'dnssrv.c:336,9'
          Dst:             place_srv_entry
        - Src:             'dnssrv.c:340,5'
          Dst:             k5_dns_fini
    - functionName:    make_lookup_name
      functionSourceFile: '/src/krb5/src/lib/krb5/os/dnssrv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          106
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - k5_buf_add
        - k5_buf_add_fmt
        - k5_buf_add_len
        - k5_buf_cstring
        - k5_buf_init_dynamic
        - memchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dnssrv.c:56,9'
          Dst:             memchr
        - Src:             'dnssrv.c:59,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'dnssrv.c:60,5'
          Dst:             k5_buf_add_fmt
        - Src:             'dnssrv.c:62,9'
          Dst:             k5_buf_add_fmt
        - Src:             'dnssrv.c:64,9'
          Dst:             k5_buf_add_fmt
        - Src:             'dnssrv.c:65,5'
          Dst:             k5_buf_add_len
        - Src:             'dnssrv.c:75,9'
          Dst:             k5_buf_add
        - Src:             'dnssrv.c:77,12'
          Dst:             k5_buf_cstring
    - functionName:    k5_input_get_uint16_be
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
        - load_16_be
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:90,32'
          Dst:             k5_input_get_bytes
        - Src:             '../../../include/k5-input.h:91,32'
          Dst:             load_16_be
    - functionName:    place_srv_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/os/dnssrv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          95
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5_make_uri_query
      functionSourceFile: '/src/krb5/src/lib/krb5/os/dnssrv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          222
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - k5_dns_fini
        - k5_dns_init
        - k5_dns_nextans
        - k5_input_get_uint16_be
        - k5_make_uri_query
        - k5alloc
        - k5memdup0
        - krb5int_trace
        - make_lookup_name
        - place_srv_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'dnssrv.c:202,12'
          Dst:             make_lookup_name
        - Src:             'dnssrv.c:206,5'
          Dst:             krb5int_trace
        - Src:             'dnssrv.c:208,12'
          Dst:             k5_dns_init
        - Src:             'dnssrv.c:212,16'
          Dst:             k5_make_uri_query
        - Src:             'dnssrv.c:218,15'
          Dst:             k5_dns_nextans
        - Src:             'dnssrv.c:222,20'
          Dst:             k5_input_get_uint16_be
        - Src:             'dnssrv.c:223,18'
          Dst:             k5_input_get_uint16_be
        - Src:             'dnssrv.c:227,15'
          Dst:             k5alloc
        - Src:             'dnssrv.c:233,21'
          Dst:             k5memdup0
        - Src:             'dnssrv.c:239,9'
          Dst:             krb5int_trace
        - Src:             'dnssrv.c:240,9'
          Dst:             place_srv_entry
        - Src:             'dnssrv.c:244,5'
          Dst:             k5_dns_fini
    - functionName:    krb5int_free_srv_dns_data
      functionSourceFile: '/src/krb5/src/lib/krb5/os/dnssrv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_sync_disk_file
      functionSourceFile: '/src/krb5/src/lib/krb5/os/krbfileio.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - fflush
        - fileno
        - fsync
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'krbfileio.c:91,5'
          Dst:             fflush
        - Src:             'krbfileio.c:93,15'
          Dst:             fileno
        - Src:             'krbfileio.c:93,9'
          Dst:             fsync
        - Src:             'krbfileio.c:94,16'
          Dst:             __errno_location
    - functionName:    fsync
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_create_secure_file
      functionSourceFile: '/src/krb5/src/lib/krb5/os/krbfileio.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - close
        - open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'krbfileio.c:59,10'
          Dst:             open
        - Src:             'krbfileio.c:81,9'
          Dst:             close
        - Src:             'krbfileio.c:84,16'
          Dst:             __errno_location
    - functionName:    ofdlock
      functionSourceFile: '/src/krb5/src/lib/krb5/os/lock_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          83
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - __errno_location
        - fcntl
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lock_file.c:96,5'
          Dst:             __assert_fail
        - Src:             'lock_file.c:98,10'
          Dst:             fcntl
        - Src:             'lock_file.c:99,20'
          Dst:             __errno_location
        - Src:             'lock_file.c:102,12'
          Dst:             fcntl
    - functionName:    krb5_lock_file
      functionSourceFile: '/src/krb5/src/lib/krb5/os/lock_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          156
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - flock
        - ofdlock
      functionUses:    6
      BranchProfiles:
        - Branch String:   'lock_file.c:117,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lock_file.c:154,9'
          Dst:             ofdlock
        - Src:             'lock_file.c:155,13'
          Dst:             __errno_location
        - Src:             'lock_file.c:155,32'
          Dst:             __errno_location
        - Src:             'lock_file.c:158,13'
          Dst:             __errno_location
        - Src:             'lock_file.c:159,20'
          Dst:             __errno_location
        - Src:             'lock_file.c:160,18'
          Dst:             __errno_location
        - Src:             'lock_file.c:166,9'
          Dst:             flock
        - Src:             'lock_file.c:167,18'
          Dst:             __errno_location
    - functionName:    flock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_net_read
      functionSourceFile: '/src/krb5/src/lib/krb5/os/net_read.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          97
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - read
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'net_read.c:45,14'
          Dst:             read
        - Src:             'net_read.c:47,17'
          Dst:             __errno_location
        - Src:             'net_read.c:51,21'
          Dst:             __errno_location
        - Src:             'net_read.c:51,13'
          Dst:             __errno_location
    - functionName:    socket_sendmsg
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/port-sockets.h'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sendmsg
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/port-sockets.h:263,12'
          Dst:             sendmsg
    - functionName:    sendmsg
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_net_writev
      functionSourceFile: '/src/krb5/src/lib/krb5/os/net_write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          185
      EdgeCount:       36
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - __errno_location
        - abort
        - socket_sendmsg
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'net_write.c:59,14'
          Dst:             socket_sendmsg
        - Src:             'net_write.c:61,17'
          Dst:             __errno_location
        - Src:             'net_write.c:65,21'
          Dst:             __errno_location
        - Src:             'net_write.c:65,13'
          Dst:             __errno_location
        - Src:             'net_write.c:71,17'
          Dst:             abort
        - Src:             'net_write.c:76,17'
          Dst:             __assert_fail
    - functionName:    krb5_net_write
      functionSourceFile: '/src/krb5/src/lib/krb5/os/net_write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5int_net_writev
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'net_write.c:44,12'
          Dst:             krb5int_net_writev
    - functionName:    intrfunc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/prompter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    restore_signals
      functionSourceFile: '/src/krb5/src/lib/krb5/os/prompter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sigaction
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prompter.c:152,5'
          Dst:             sigaction
    - functionName:    sigaction
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    catch_signals
      functionSourceFile: '/src/krb5/src/lib/krb5/os/prompter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sigaction
        - sigemptyset
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prompter.c:139,5'
          Dst:             sigemptyset
        - Src:             'prompter.c:142,5'
          Dst:             sigaction
    - functionName:    sigemptyset
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_prompt_types
      functionSourceFile: '/src/krb5/src/lib/krb5/os/prompter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 330
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_set_prompt_types
      functionSourceFile: '/src/krb5/src/lib/krb5/os/prompter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 322
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    restore_tty
      functionSourceFile: '/src/krb5/src/lib/krb5/os/prompter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - fileno
        - isatty
        - restore_signals
        - tcsetattr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prompter.c:197,10'
          Dst:             fileno
        - Src:             'prompter.c:198,9'
          Dst:             isatty
        - Src:             'prompter.c:199,15'
          Dst:             tcsetattr
        - Src:             'prompter.c:205,5'
          Dst:             restore_signals
    - functionName:    isatty
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tcsetattr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setup_tty
      functionSourceFile: '/src/krb5/src/lib/krb5/os/prompter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          98
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - catch_signals
        - fileno
        - isatty
        - restore_signals
        - tcgetattr
        - tcsetattr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prompter.c:166,5'
          Dst:             catch_signals
        - Src:             'prompter.c:167,10'
          Dst:             fileno
        - Src:             'prompter.c:169,14'
          Dst:             isatty
        - Src:             'prompter.c:173,13'
          Dst:             tcgetattr
        - Src:             'prompter.c:181,13'
          Dst:             tcsetattr
        - Src:             'prompter.c:187,9'
          Dst:             restore_signals
    - functionName:    tcgetattr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_prompter_posix
      functionSourceFile: '/src/krb5/src/lib/krb5/os/prompter.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          345
      EdgeCount:       69
      CyclomaticComplexity: 19
      functionsReached:
        - close
        - dup
        - fclose
        - fcntl
        - fdopen
        - fflush
        - fgets
        - fputs
        - getc
        - putchar
        - restore_tty
        - setup_tty
        - setvbuf
        - strchr
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prompter.c:50,9'
          Dst:             fputs
        - Src:             'prompter.c:51,9'
          Dst:             fputs
        - Src:             'prompter.c:54,9'
          Dst:             fputs
        - Src:             'prompter.c:55,9'
          Dst:             fputs
        - Src:             'prompter.c:62,10'
          Dst:             dup
        - Src:             'prompter.c:65,5'
          Dst:             fcntl
        - Src:             'prompter.c:66,10'
          Dst:             fdopen
        - Src:             'prompter.c:69,9'
          Dst:             setvbuf
        - Src:             'prompter.c:78,19'
          Dst:             setup_tty
        - Src:             'prompter.c:83,15'
          Dst:             fputs
        - Src:             'prompter.c:84,15'
          Dst:             fputs
        - Src:             'prompter.c:85,15'
          Dst:             fflush
        - Src:             'prompter.c:89,16'
          Dst:             fgets
        - Src:             'prompter.c:92,13'
          Dst:             putchar
        - Src:             'prompter.c:98,13'
          Dst:             restore_tty
        - Src:             'prompter.c:103,16'
          Dst:             strchr
        - Src:             'prompter.c:109,31'
          Dst:             getc
        - Src:             'prompter.c:113,19'
          Dst:             restore_tty
        - Src:             'prompter.c:116,36'
          Dst:             strlen
        - Src:             'prompter.c:120,9'
          Dst:             fclose
        - Src:             'prompter.c:122,9'
          Dst:             close
    - 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:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setvbuf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    putchar
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    split_trailer
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sn2princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          132
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - make_data
        - memchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sn2princ.c:170,15'
          Dst:             memchr
        - Src:             'sn2princ.c:175,35'
          Dst:             memchr
        - Src:             'sn2princ.c:177,20'
          Dst:             make_data
        - Src:             'sn2princ.c:179,17'
          Dst:             make_data
        - Src:             'sn2princ.c:180,20'
          Dst:             make_data
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    qualify_shortname
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sn2princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          108
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - asprintf
        - k5_primary_domain
        - profile_get_string
        - profile_release_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sn2princ.c:66,11'
          Dst:             profile_get_string
        - Src:             'sn2princ.c:74,21'
          Dst:             k5_primary_domain
        - Src:             'sn2princ.c:79,13'
          Dst:             asprintf
        - Src:             'sn2princ.c:83,5'
          Dst:             profile_release_string
    - functionName:    use_reverse_dns
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sn2princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - profile_get_boolean
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sn2princ.c:48,11'
          Dst:             profile_get_boolean
    - functionName:    krb5_sname_to_principal
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sn2princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          173
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - canonicalize_princ
        - free_canonprinc
        - gethostname
        - krb5_build_principal
        - krb5_copy_principal
        - krb5_free_principal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sn2princ.c:349,13'
          Dst:             gethostname
        - Src:             'sn2princ.c:350,20'
          Dst:             __errno_location
        - Src:             'sn2princ.c:359,11'
          Dst:             krb5_build_principal
        - Src:             'sn2princ.c:374,11'
          Dst:             canonicalize_princ
        - Src:             'sn2princ.c:376,15'
          Dst:             krb5_copy_principal
        - Src:             'sn2princ.c:377,5'
          Dst:             free_canonprinc
        - Src:             'sn2princ.c:378,5'
          Dst:             krb5_free_principal
    - functionName:    canonicalize_princ
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sn2princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 267
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          347
      EdgeCount:       61
      CyclomaticComplexity: 18
      functionsReached:
        - __assert_fail
        - asprintf
        - expand_hostname
        - k5memdup0
        - krb5_free_host_realm
        - krb5_get_default_realm
        - krb5_get_host_realm
        - split_trailer
        - strcmp
        - strdup
        - string2data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sn2princ.c:195,5'
          Dst:             __assert_fail
        - Src:             'sn2princ.c:196,5'
          Dst:             split_trailer
        - Src:             'sn2princ.c:198,16'
          Dst:             k5memdup0
        - Src:             'sn2princ.c:204,15'
          Dst:             expand_hostname
        - Src:             'sn2princ.c:208,21'
          Dst:             strdup
        - Src:             'sn2princ.c:216,9'
          Dst:             asprintf
        - Src:             'sn2princ.c:224,36'
          Dst:             strcmp
        - Src:             'sn2princ.c:233,15'
          Dst:             krb5_get_host_realm
        - Src:             'sn2princ.c:242,19'
          Dst:             krb5_get_default_realm
        - Src:             'sn2princ.c:246,27'
          Dst:             strdup
        - Src:             'sn2princ.c:256,28'
          Dst:             string2data
        - Src:             'sn2princ.c:258,27'
          Dst:             string2data
        - Src:             'sn2princ.c:266,5'
          Dst:             krb5_free_host_realm
    - functionName:    free_canonprinc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/./os-proto.h'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expand_hostname
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sn2princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          277
      EdgeCount:       67
      CyclomaticComplexity: 19
      functionsReached:
        - __ctype_b_loc
        - krb5int_freeaddrinfo
        - krb5int_getaddrinfo
        - krb5int_getnameinfo
        - qualify_shortname
        - strchr
        - strdup
        - strlen
        - tolower
        - use_reverse_dns
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sn2princ.c:104,15'
          Dst:             krb5int_getaddrinfo
        - Src:             'sn2princ.c:110,21'
          Dst:             use_reverse_dns
        - Src:             'sn2princ.c:112,19'
          Dst:             krb5int_getnameinfo
        - Src:             'sn2princ.c:123,30'
          Dst:             strchr
        - Src:             'sn2princ.c:124,21'
          Dst:             qualify_shortname
        - Src:             'sn2princ.c:129,12'
          Dst:             strdup
        - Src:             'sn2princ.c:135,13'
          Dst:             __ctype_b_loc
        - Src:             'sn2princ.c:136,18'
          Dst:             tolower
        - Src:             'sn2princ.c:141,20'
          Dst:             strlen
        - Src:             'sn2princ.c:151,9'
          Dst:             krb5int_freeaddrinfo
    - functionName:    string2data
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2253
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2254,27'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2254,12'
          Dst:             make_data
    - functionName:    k5_sname_compare
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sn2princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 327
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - free_canonprinc
        - k5_canonprinc
        - krb5_principal_compare
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sn2princ.c:319,19'
          Dst:             k5_canonprinc
        - Src:             'sn2princ.c:321,13'
          Dst:             krb5_principal_compare
        - Src:             'sn2princ.c:326,5'
          Dst:             free_canonprinc
    - functionName:    k5_canonprinc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sn2princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          199
      EdgeCount:       37
      CyclomaticComplexity: 12
      functionsReached:
        - canonicalize_princ
        - krb5_get_default_realm
        - string2data
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'sn2princ.c:294,19'
          Dst:             krb5_get_default_realm
        - Src:             'sn2princ.c:298,32'
          Dst:             string2data
        - Src:             'sn2princ.c:307,12'
          Dst:             canonicalize_princ
    - functionName:    krb5_expand_hostname
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sn2princ.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - expand_hostname
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sn2princ.c:162,12'
          Dst:             expand_hostname
    - functionName:    ts_incr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2364
      functionLinenumberEnd: 2365
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ts_after
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2371
      functionLinenumberEnd: 2372
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ts_within
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2378
      functionLinenumberEnd: 2379
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ts_after
        - ts_incr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2379,25'
          Dst:             ts_incr
        - Src:             '../../../include/k5-int.h:2379,13'
          Dst:             ts_after
        - Src:             '../../../include/k5-int.h:2379,56'
          Dst:             ts_incr
        - Src:             '../../../include/k5-int.h:2379,44'
          Dst:             ts_after
    - functionName:    krb5_check_clockskew
      functionSourceFile: '/src/krb5/src/lib/krb5/os/timeofday.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_timeofday
        - ts_within
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'timeofday.c:60,14'
          Dst:             krb5_timeofday
        - Src:             'timeofday.c:63,10'
          Dst:             ts_within
    - functionName:    krb5_timeofday
      functionSourceFile: '/src/krb5/src/lib/krb5/os/timeofday.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          88
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - time
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'timeofday.c:45,12'
          Dst:             time
        - Src:             'timeofday.c:47,34'
          Dst:             __errno_location
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_unlock_file
      functionSourceFile: '/src/krb5/src/lib/krb5/os/unlck_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 33
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_lock_file
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'unlck_file.c:33,12'
          Dst:             krb5_lock_file
    - 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:
        - ''
        - ''
      BBCount:         34
      ICount:          214
      EdgeCount:       45
      CyclomaticComplexity: 13
      functionsReached:
        - strcmp
        - strdup
      functionUses:    0
      BranchProfiles:  []
      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:    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:
        - ''
        - ''
      BBCount:         10
      ICount:          63
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - strdup
      functionUses:    0
      BranchProfiles:  []
      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:
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      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:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    6
      BranchProfiles:  []
      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/profile/../../include/k5-thread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    4
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
        - ''
      BBCount:         140
      ICount:          838
      EdgeCount:       188
      CyclomaticComplexity: 50
      functionsReached:
        - __assert_fail
        - k5_mutex_lock
        - k5_mutex_unlock
        - profile_node_iterator_free
        - profile_update_file_data_locked
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      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:
        - ''
      BBCount:         11
      ICount:          50
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          120
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      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:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      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:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          80
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - profile_find_node
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         64
      ICount:          307
      EdgeCount:       87
      CyclomaticComplexity: 25
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          102
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - profile_find_node
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
      BBCount:         1
      ICount:          9
      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:
        - ''
      BBCount:         1
      ICount:          9
      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:
        - ''
      BBCount:         1
      ICount:          14
      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:
        - ''
      BBCount:         4
      ICount:          30
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          274
      EdgeCount:       67
      CyclomaticComplexity: 19
      functionsReached:
        - profile_create_node
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          85
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - profile_free_node
        - strdup
      functionUses:    4
      BranchProfiles:  []
      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:
        - ''
      BBCount:         16
      ICount:          89
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - profile_free_node
      functionUses:    9
      BranchProfiles:  []
      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:
        - ''
      BBCount:         28
      ICount:          149
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - profile_verify_node
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
      BBCount:         20
      ICount:          175
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - profile_copy_node
        - profile_free_node
        - strdup
      functionUses:    2
      BranchProfiles:  []
      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:    make_hard_link
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 402
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - link
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:402,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:
        - ''
      BBCount:         1
      ICount:          6
      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:  []
      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:  []
      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: 598
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - profile_dereference_data
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:599,5'
          Dst:             profile_dereference_data
    - functionName:    profile_dereference_data
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 538
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - profile_dereference_data_locked
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:539,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:540,5'
          Dst:             profile_dereference_data_locked
        - Src:             'prof_file.c:541,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:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    10
      BranchProfiles:  []
      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: 544
      functionLinenumberEnd: 548
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - profile_free_file_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:547,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:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    12
      BranchProfiles:  []
      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: 605
      functionLinenumberEnd: 629
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          103
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - k5_os_mutex_destroy
        - profile_free_node
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:625,9'
          Dst:             profile_free_node
        - Src:             'prof_file.c:627,5'
          Dst:             k5_os_mutex_destroy
    - functionName:    profile_copy_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 560
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          151
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:563,12'
          Dst:             calloc
        - Src:             'prof_file.c:570,9'
          Dst:             profile_lock_global
        - Src:             'prof_file.c:572,9'
          Dst:             profile_unlock_global
        - Src:             'prof_file.c:578,18'
          Dst:             profile_make_prf_data
        - Src:             'prof_file.c:583,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:587,24'
          Dst:             profile_copy_node
        - Src:             'prof_file.c:588,5'
          Dst:             k5_mutex_unlock
        - Src:             'prof_file.c:590,9'
          Dst:             profile_free_file
    - functionName:    profile_lock_global
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 551
      functionLinenumberEnd: 553
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:552,5'
          Dst:             k5_mutex_lock
    - functionName:    profile_unlock_global
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 555
      functionLinenumberEnd: 557
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:556,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:
        - ''
      BBCount:         14
      ICount:          112
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - k5_mutex_init
        - krb5int_strlcpy
        - strlen
      functionUses:    3
      BranchProfiles:  []
      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:    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:
        - ''
      BBCount:         3
      ICount:          15
      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: 523
      functionLinenumberEnd: 533
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - write_data_to_file
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:529,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:530,14'
          Dst:             write_data_to_file
        - Src:             'prof_file.c:531,5'
          Dst:             k5_mutex_unlock
    - functionName:    write_data_to_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 485
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          219
      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:  []
      Callsites:
        - Src:             'prof_file.c:417,9'
          Dst:             asprintf
        - Src:             'prof_file.c:421,9'
          Dst:             asprintf
        - Src:             'prof_file.c:426,5'
          Dst:             __errno_location
        - Src:             'prof_file.c:428,9'
          Dst:             fopen
        - Src:             'prof_file.c:430,18'
          Dst:             __errno_location
        - Src:             'prof_file.c:436,5'
          Dst:             fileno
        - Src:             'prof_file.c:436,5'
          Dst:             fcntl
        - Src:             'prof_file.c:437,5'
          Dst:             profile_write_tree_file
        - Src:             'prof_file.c:438,9'
          Dst:             fclose
        - Src:             'prof_file.c:439,18'
          Dst:             __errno_location
        - Src:             'prof_file.c:443,5'
          Dst:             unlink
        - Src:             'prof_file.c:444,9'
          Dst:             make_hard_link
        - Src:             'prof_file.c:448,13'
          Dst:             rename
        - Src:             'prof_file.c:452,22'
          Dst:             __errno_location
        - Src:             'prof_file.c:455,16'
          Dst:             __errno_location
        - Src:             'prof_file.c:456,13'
          Dst:             rename
        - Src:             'prof_file.c:457,22'
          Dst:             __errno_location
        - Src:             'prof_file.c:465,9'
          Dst:             sync
        - Src:             'prof_file.c:467,13'
          Dst:             rename
        - Src:             'prof_file.c:468,22'
          Dst:             __errno_location
        - Src:             'prof_file.c:471,13'
          Dst:             rename
        - Src:             'prof_file.c:472,22'
          Dst:             __errno_location
        - Src:             'prof_file.c:473,13'
          Dst:             rename
    - 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: 499
      functionLinenumberEnd: 520
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          87
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - write_data_to_file
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:509,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:512,9'
          Dst:             k5_mutex_unlock
        - Src:             'prof_file.c:516,14'
          Dst:             write_data_to_file
        - Src:             'prof_file.c:518,5'
          Dst:             k5_mutex_unlock
    - functionName:    profile_flush_file_data_to_buffer
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 489
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - profile_write_tree_to_buffer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:492,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:493,14'
          Dst:             profile_write_tree_to_buffer
        - Src:             'prof_file.c:494,5'
          Dst:             k5_mutex_unlock
    - functionName:    profile_open_memory
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         14
      ICount:          84
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - profile_create_node
        - profile_free_node
        - profile_make_prf_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:270,12'
          Dst:             calloc
        - Src:             'prof_file.c:275,9'
          Dst:             profile_create_node
        - Src:             'prof_file.c:278,12'
          Dst:             profile_make_prf_data
        - Src:             'prof_file.c:291,9'
          Dst:             profile_free_node
    - functionName:    profile_close_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - profile_flush_file_data
        - profile_free_file
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:635,14'
          Dst:             profile_flush_file_data
        - Src:             'prof_file.c:638,5'
          Dst:             profile_free_file
    - functionName:    profile_update_file_data
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - profile_update_file_data_locked
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:390,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:391,14'
          Dst:             profile_update_file_data_locked
        - Src:             'prof_file.c:392,5'
          Dst:             k5_mutex_unlock
    - functionName:    profile_update_file_data_locked
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 384
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         47
      ICount:          307
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:315,11'
          Dst:             time
        - Src:             'prof_file.c:319,9'
          Dst:             stat
        - Src:             'prof_file.c:320,16'
          Dst:             __errno_location
        - Src:             'prof_file.c:338,9'
          Dst:             profile_free_node
        - Src:             'prof_file.c:360,9'
          Dst:             __errno_location
        - Src:             'prof_file.c:361,13'
          Dst:             fopen
        - Src:             'prof_file.c:363,21'
          Dst:             __errno_location
        - Src:             'prof_file.c:363,35'
          Dst:             __errno_location
        - Src:             'prof_file.c:364,9'
          Dst:             fileno
        - Src:             'prof_file.c:364,9'
          Dst:             fcntl
        - Src:             'prof_file.c:370,18'
          Dst:             profile_process_directory
        - Src:             'prof_file.c:372,18'
          Dst:             profile_parse_file
        - Src:             'prof_file.c:373,15'
          Dst:             fclose
        - Src:             'prof_file.c:378,5'
          Dst:             __assert_fail
    - 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:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - access
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_file.c:108,9'
          Dst:             access
    - functionName:    profile_open_file
      functionSourceFile: '/src/krb5/src/util/profile/prof_file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 262
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         64
      ICount:          391
      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
        - profile_update_file_data_locked
        - r_access
        - secure_getenv
        - strcmp
        - strdup
      functionUses:    1
      BranchProfiles:  []
      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:223,9'
          Dst:             k5_mutex_unlock
        - Src:             'prof_file.c:224,9'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:226,18'
          Dst:             profile_update_file_data_locked
        - Src:             'prof_file.c:227,9'
          Dst:             k5_mutex_unlock
        - Src:             'prof_file.c:230,13'
          Dst:             profile_dereference_data
        - Src:             'prof_file.c:238,5'
          Dst:             k5_mutex_unlock
        - Src:             'prof_file.c:239,12'
          Dst:             profile_make_prf_data
        - Src:             'prof_file.c:248,14'
          Dst:             profile_update_file_data
        - Src:             'prof_file.c:250,9'
          Dst:             profile_close_file
        - Src:             'prof_file.c:254,5'
          Dst:             k5_mutex_lock
        - Src:             'prof_file.c:258,5'
          Dst:             k5_mutex_unlock
    - 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:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - access
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
      BBCount:         9
      ICount:          44
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - rw_access
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          111
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_parse.c:492,9'
          Branch Sides:    []
      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:
        - ''
      BBCount:         20
      ICount:          106
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - __ctype_b_loc
        - strchr
        - strlen
      functionUses:    1
      BranchProfiles:  []
      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:    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:
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - fclose
        - fopen
        - parse_file
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          75
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - feof
        - fgets
        - parse_line
      functionUses:    2
      BranchProfiles:  []
      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:    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:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          140
      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:    []
      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:    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:
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __ctype_b_loc
      functionUses:    6
      BranchProfiles:  []
      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:
        - ''
      BBCount:         12
      ICount:          64
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strlen
      functionUses:    2
      BranchProfiles:  []
      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:
        - ''
        - ''
      BBCount:         104
      ICount:          647
      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:  []
      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:
        - ''
      BBCount:         18
      ICount:          107
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'prof_parse.c:54,13'
          Branch Sides:    []
      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:
        - ''
      BBCount:         22
      ICount:          120
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - __ctype_b_loc
        - strcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          101
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_parse.c:611,18'
          Dst:             realloc
    - 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:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      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:
        - ''
        - ''
      BBCount:         12
      ICount:          77
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - add_data_to_buffer
        - dump_profile
        - dump_profile_to_buffer_cb
        - realloc
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          283
      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:  []
      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:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fputs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_parse.c:587,5'
          Dst:             fputs
    - 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:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      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:
        - ''
        - ''
      BBCount:         20
      ICount:          112
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - asprintf
        - k5_dir_filenames
        - k5_free_filenames
        - parse_include_file
        - valid_name
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
        - ''
      BBCount:         8
      ICount:          57
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - parse_include_dir
        - profile_create_node
        - profile_free_node
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          70
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - parse_file
        - profile_create_node
        - profile_free_node
      functionUses:    1
      BranchProfiles:  []
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prof_err.c:73,12'
          Dst:             add_error_table
    - functionName:    null_terminate
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1322
      functionLinenumberEnd: 1334
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          90
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:1326,5'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1327,11'
          Dst:             realloc
        - Src:             'asn1_encode.c:1331,5'
          Dst:             __assert_fail
    - functionName:    decode_sequence_of
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1476
      functionLinenumberEnd: 1514
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          136
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - check_atype_tag
        - decode_atype
        - free_sequence_of
        - get_tag
        - realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:1486,15'
          Dst:             get_tag
        - Src:             'asn1_encode.c:1489,14'
          Dst:             check_atype_tag
        - Src:             'asn1_encode.c:1493,18'
          Dst:             realloc
        - Src:             'asn1_encode.c:1501,15'
          Dst:             decode_atype
        - Src:             'asn1_encode.c:1511,5'
          Dst:             free_sequence_of
    - functionName:    get_tag
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          318
      EdgeCount:       49
      CyclomaticComplexity: 15
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_atype_tag
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1057
      functionLinenumberEnd: 1132
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         61
      ICount:          395
      EdgeCount:       70
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - abort
        - check_atype_tag
      functionUses:    8
      BranchProfiles:
        - Branch String:   'asn1_encode.c:1058,5'
          Branch Sides:    []
        - Branch String:   'asn1_encode.c:1083,9'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:1061,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1071,16'
          Dst:             check_atype_tag
        - Src:             'asn1_encode.c:1075,16'
          Dst:             check_atype_tag
        - Src:             'asn1_encode.c:1079,16'
          Dst:             check_atype_tag
        - Src:             'asn1_encode.c:1111,13'
          Dst:             abort
        - Src:             'asn1_encode.c:1130,9'
          Dst:             abort
    - functionName:    decode_atype
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1153
      functionLinenumberEnd: 1258
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         75
      ICount:          528
      EdgeCount:       86
      CyclomaticComplexity: 13
      functionsReached:
        - __assert_fail
        - abort
        - check_atype_tag
        - decode_atype
        - decode_atype_to_ptr
        - decode_cntype
        - decode_sequence
        - get_tag
        - k5_asn1_decode_bool
        - k5_asn1_decode_int
        - k5_asn1_decode_uint
        - store_count
        - store_int
        - store_uint
      functionUses:    9
      BranchProfiles:
        - Branch String:   'asn1_encode.c:1156,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:1159,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1163,16'
          Dst:             decode_sequence
        - Src:             'asn1_encode.c:1166,21'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1167,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1170,20'
          Dst:             decode_atype
        - Src:             'asn1_encode.c:1172,19'
          Dst:             decode_atype_to_ptr
        - Src:             'asn1_encode.c:1175,13'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1181,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1182,16'
          Dst:             decode_atype
        - Src:             'asn1_encode.c:1187,16'
          Dst:             decode_atype
        - Src:             'asn1_encode.c:1193,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1194,15'
          Dst:             decode_cntype
        - Src:             'asn1_encode.c:1197,16'
          Dst:             store_count
        - Src:             'asn1_encode.c:1206,19'
          Dst:             get_tag
        - Src:             'asn1_encode.c:1212,18'
          Dst:             check_atype_tag
        - Src:             'asn1_encode.c:1215,16'
          Dst:             decode_atype
        - Src:             'asn1_encode.c:1219,15'
          Dst:             k5_asn1_decode_bool
        - Src:             'asn1_encode.c:1222,16'
          Dst:             store_int
        - Src:             'asn1_encode.c:1226,15'
          Dst:             k5_asn1_decode_int
        - Src:             'asn1_encode.c:1229,16'
          Dst:             store_int
        - Src:             'asn1_encode.c:1233,15'
          Dst:             k5_asn1_decode_uint
        - Src:             'asn1_encode.c:1236,16'
          Dst:             store_uint
        - Src:             'asn1_encode.c:1241,15'
          Dst:             k5_asn1_decode_int
        - Src:             'asn1_encode.c:1251,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1252,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1253,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1254,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1255,9'
          Dst:             abort
    - functionName:    free_sequence_of
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1041
      functionLinenumberEnd: 1050
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - free_atype
        - free_atype_ptr
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:1044,5'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1047,9'
          Dst:             free_atype
        - Src:             'asn1_encode.c:1048,9'
          Dst:             free_atype_ptr
    - functionName:    free_atype
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 895
      functionLinenumberEnd: 953
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          241
      EdgeCount:       36
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - abort
        - free_atype
        - free_atype_ptr
        - free_cntype
        - free_sequence
        - free_sequence_of
        - get_nullterm_sequence_len
        - load_count
      functionUses:    8
      BranchProfiles:
        - Branch String:   'asn1_encode.c:896,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:904,9'
          Dst:             free_sequence
        - Src:             'asn1_encode.c:908,21'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:910,13'
          Dst:             free_atype
        - Src:             'asn1_encode.c:911,13'
          Dst:             free_atype_ptr
        - Src:             'asn1_encode.c:917,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:918,9'
          Dst:             free_atype
        - Src:             'asn1_encode.c:923,9'
          Dst:             free_atype
        - Src:             'asn1_encode.c:930,13'
          Dst:             load_count
        - Src:             'asn1_encode.c:931,13'
          Dst:             free_cntype
        - Src:             'asn1_encode.c:936,24'
          Dst:             get_nullterm_sequence_len
        - Src:             'asn1_encode.c:937,9'
          Dst:             free_sequence_of
        - Src:             'asn1_encode.c:942,9'
          Dst:             free_atype
        - Src:             'asn1_encode.c:951,9'
          Dst:             abort
    - functionName:    free_atype_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 957
      functionLinenumberEnd: 995
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          171
      EdgeCount:       54
      CyclomaticComplexity: 28
      functionsReached:
        - __assert_fail
        - abort
        - free_atype_ptr
      functionUses:    8
      BranchProfiles:
        - Branch String:   'asn1_encode.c:958,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:971,21'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:973,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:978,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:979,9'
          Dst:             free_atype_ptr
        - Src:             'asn1_encode.c:984,9'
          Dst:             free_atype_ptr
        - Src:             'asn1_encode.c:989,9'
          Dst:             free_atype_ptr
        - Src:             'asn1_encode.c:993,9'
          Dst:             abort
    - functionName:    free_sequence
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1030
      functionLinenumberEnd: 1037
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - free_atype
        - free_atype_ptr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:1034,9'
          Dst:             free_atype
        - Src:             'asn1_encode.c:1036,9'
          Dst:             free_atype_ptr
    - functionName:    load_count
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 517
      functionLinenumberEnd: 533
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          106
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - load_int
        - load_uint
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:522,25'
          Dst:             load_int
        - Src:             'asn1_encode.c:527,26'
          Dst:             load_uint
    - functionName:    free_cntype
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 999
      functionLinenumberEnd: 1026
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          139
      EdgeCount:       37
      CyclomaticComplexity: 20
      functionsReached:
        - __assert_fail
        - abort
        - free_atype
        - free_atype_ptr
        - free_sequence_of
      functionUses:    1
      BranchProfiles:
        - Branch String:   'asn1_encode.c:1000,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:1009,24'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1010,9'
          Dst:             free_sequence_of
        - Src:             'asn1_encode.c:1012,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1018,13'
          Dst:             free_atype
        - Src:             'asn1_encode.c:1019,13'
          Dst:             free_atype_ptr
        - Src:             'asn1_encode.c:1024,9'
          Dst:             abort
    - functionName:    get_nullterm_sequence_len
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 454
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          94
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:462,5'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:463,5'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:468,15'
          Dst:             __assert_fail
    - functionName:    load_int
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 492
      functionLinenumberEnd: 500
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached:
        - abort
      functionUses:    3
      BranchProfiles:
        - Branch String:   'asn1_encode.c:493,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:498,14'
          Dst:             abort
    - functionName:    load_uint
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 504
      functionLinenumberEnd: 512
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached:
        - abort
      functionUses:    2
      BranchProfiles:
        - Branch String:   'asn1_encode.c:505,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:510,14'
          Dst:             abort
    - functionName:    decode_sequence
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1418
      functionLinenumberEnd: 1470
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          251
      EdgeCount:       56
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - check_atype_tag
        - decode_atype
        - free_atype
        - free_atype_ptr
        - get_tag
        - omit_atype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:1424,5'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1428,15'
          Dst:             get_tag
        - Src:             'asn1_encode.c:1439,17'
          Dst:             check_atype_tag
        - Src:             'asn1_encode.c:1441,19'
          Dst:             omit_atype
        - Src:             'asn1_encode.c:1449,15'
          Dst:             decode_atype
        - Src:             'asn1_encode.c:1456,15'
          Dst:             omit_atype
        - Src:             'asn1_encode.c:1466,9'
          Dst:             free_atype
        - Src:             'asn1_encode.c:1468,9'
          Dst:             free_atype_ptr
    - functionName:    decode_atype_to_ptr
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1339
      functionLinenumberEnd: 1372
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          127
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - decode_atype
        - decode_sequence_of
        - free_sequence_of
        - null_terminate
      functionUses:    2
      BranchProfiles:
        - Branch String:   'asn1_encode.c:1345,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:1348,15'
          Dst:             decode_sequence_of
        - Src:             'asn1_encode.c:1351,15'
          Dst:             null_terminate
        - Src:             'asn1_encode.c:1353,13'
          Dst:             free_sequence_of
        - Src:             'asn1_encode.c:1360,15'
          Dst:             calloc
        - Src:             'asn1_encode.c:1363,15'
          Dst:             decode_atype
    - functionName:    decode_cntype
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1269
      functionLinenumberEnd: 1315
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          239
      EdgeCount:       37
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - abort
        - check_atype_tag
        - decode_atype
        - decode_sequence_of
        - store_der
      functionUses:    1
      BranchProfiles:
        - Branch String:   'asn1_encode.c:1272,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:1275,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1279,16'
          Dst:             store_der
        - Src:             'asn1_encode.c:1284,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1285,15'
          Dst:             decode_sequence_of
        - Src:             'asn1_encode.c:1289,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1296,17'
          Dst:             check_atype_tag
        - Src:             'asn1_encode.c:1297,23'
          Dst:             decode_atype
        - Src:             'asn1_encode.c:1310,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1311,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1312,9'
          Dst:             abort
    - functionName:    store_count
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 597
      functionLinenumberEnd: 609
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          86
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - store_int
        - store_uint
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:602,20'
          Dst:             store_int
        - Src:             'asn1_encode.c:606,20'
          Dst:             store_int
        - Src:             'asn1_encode.c:608,16'
          Dst:             store_uint
    - functionName:    k5_asn1_decode_bool
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          35
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_int
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          108
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - abort
      functionUses:    4
      BranchProfiles:
        - Branch String:   'asn1_encode.c:538,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:560,9'
          Dst:             abort
    - functionName:    k5_asn1_decode_int
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_asn1_decode_uint
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          87
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_uint
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 566
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          108
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - abort
      functionUses:    2
      BranchProfiles:
        - Branch String:   'asn1_encode.c:567,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:589,9'
          Dst:             abort
    - functionName:    store_der
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 637
      functionLinenumberEnd: 650
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          64
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    omit_atype
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1378
      functionLinenumberEnd: 1412
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          144
      EdgeCount:       43
      CyclomaticComplexity: 23
      functionsReached:
        - abort
        - omit_atype
      functionUses:    5
      BranchProfiles:
        - Branch String:   'asn1_encode.c:1379,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:1393,16'
          Dst:             omit_atype
        - Src:             'asn1_encode.c:1397,16'
          Dst:             omit_atype
        - Src:             'asn1_encode.c:1401,16'
          Dst:             omit_atype
        - Src:             'asn1_encode.c:1410,9'
          Dst:             abort
    - functionName:    encode_sequence_of
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 865
      functionLinenumberEnd: 878
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          80
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - encode_atype_and_tag
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:870,5'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:873,15'
          Dst:             encode_atype_and_tag
    - functionName:    encode_atype_and_tag
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 790
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - encode_atype
        - make_tag
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:783,11'
          Dst:             encode_atype
        - Src:             'asn1_encode.c:786,11'
          Dst:             make_tag
    - functionName:    encode_atype
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 663
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          533
      EdgeCount:       73
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - abort
        - encode_atype
        - encode_cntype
        - encode_nullterm_sequence_of
        - encode_sequence
        - k5_asn1_encode_bool
        - k5_asn1_encode_int
        - k5_asn1_encode_uint
        - load_count
        - load_int
        - load_uint
        - make_tag
      functionUses:    7
      BranchProfiles:
        - Branch String:   'asn1_encode.c:669,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:672,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:676,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:677,15'
          Dst:             encode_sequence
        - Src:             'asn1_encode.c:686,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:687,34'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:687,16'
          Dst:             encode_atype
        - Src:             'asn1_encode.c:691,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:692,16'
          Dst:             encode_atype
        - Src:             'asn1_encode.c:697,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:699,20'
          Dst:             encode_atype
        - Src:             'asn1_encode.c:707,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:708,15'
          Dst:             load_count
        - Src:             'asn1_encode.c:711,16'
          Dst:             encode_cntype
        - Src:             'asn1_encode.c:715,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:716,15'
          Dst:             encode_nullterm_sequence_of
        - Src:             'asn1_encode.c:728,15'
          Dst:             encode_atype
        - Src:             'asn1_encode.c:732,19'
          Dst:             make_tag
        - Src:             'asn1_encode.c:742,34'
          Dst:             load_int
        - Src:             'asn1_encode.c:742,9'
          Dst:             k5_asn1_encode_bool
        - Src:             'asn1_encode.c:748,33'
          Dst:             load_int
        - Src:             'asn1_encode.c:748,9'
          Dst:             k5_asn1_encode_int
        - Src:             'asn1_encode.c:754,34'
          Dst:             load_uint
        - Src:             'asn1_encode.c:754,9'
          Dst:             k5_asn1_encode_uint
        - Src:             'asn1_encode.c:761,9'
          Dst:             k5_asn1_encode_int
        - Src:             'asn1_encode.c:768,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:769,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:770,9'
          Dst:             abort
    - functionName:    make_tag
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 332
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          156
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - insert_byte
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:341,9'
          Dst:             insert_byte
        - Src:             'asn1_encode.c:345,13'
          Dst:             insert_byte
        - Src:             'asn1_encode.c:346,9'
          Dst:             insert_byte
        - Src:             'asn1_encode.c:351,9'
          Dst:             insert_byte
        - Src:             'asn1_encode.c:354,9'
          Dst:             insert_byte
        - Src:             'asn1_encode.c:358,13'
          Dst:             insert_byte
        - Src:             'asn1_encode.c:360,9'
          Dst:             insert_byte
    - functionName:    insert_byte
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          36
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    encode_sequence
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 848
      functionLinenumberEnd: 860
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          74
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - encode_atype_and_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:853,15'
          Dst:             encode_atype_and_tag
    - functionName:    encode_cntype
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 800
      functionLinenumberEnd: 844
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          229
      EdgeCount:       32
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - abort
        - encode_atype
        - encode_sequence_of
        - split_der
      functionUses:    1
      BranchProfiles:
        - Branch String:   'asn1_encode.c:803,5'
          Branch Sides:    []
      Callsites:
        - Src:             'asn1_encode.c:806,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:816,16'
          Dst:             split_der
        - Src:             'asn1_encode.c:820,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:821,15'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:822,15'
          Dst:             encode_sequence_of
        - Src:             'asn1_encode.c:834,16'
          Dst:             encode_atype
        - Src:             'asn1_encode.c:838,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:839,9'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:840,9'
          Dst:             abort
    - functionName:    encode_nullterm_sequence_of
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 482
      functionLinenumberEnd: 488
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - encode_sequence_of
        - get_nullterm_sequence_len
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:483,18'
          Dst:             get_nullterm_sequence_len
        - Src:             'asn1_encode.c:487,12'
          Dst:             encode_sequence_of
    - functionName:    k5_asn1_encode_bool
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - insert_byte
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:62,5'
          Dst:             insert_byte
    - functionName:    k5_asn1_encode_int
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          100
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - insert_byte
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:74,9'
          Dst:             insert_byte
        - Src:             'asn1_encode.c:80,9'
          Dst:             insert_byte
        - Src:             'asn1_encode.c:82,9'
          Dst:             insert_byte
    - functionName:    k5_asn1_encode_uint
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          54
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - insert_byte
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:94,9'
          Dst:             insert_byte
        - Src:             'asn1_encode.c:100,9'
          Dst:             insert_byte
    - functionName:    split_der
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 615
      functionLinenumberEnd: 627
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          60
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - get_tag
        - insert_bytes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:620,11'
          Dst:             get_tag
        - Src:             'asn1_encode.c:625,5'
          Dst:             insert_bytes
    - functionName:    insert_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5memcpy
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:53,9'
          Dst:             k5memcpy
    - functionName:    k5memcpy
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2322
      functionLinenumberEnd: 2325
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_asn1_full_decode
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1584
      functionLinenumberEnd: 1600
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          66
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - check_atype_tag
        - decode_atype_to_ptr
        - get_tag
      functionUses:    66
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:1591,11'
          Dst:             get_tag
        - Src:             'asn1_encode.c:1597,10'
          Dst:             check_atype_tag
        - Src:             'asn1_encode.c:1599,12'
          Dst:             decode_atype_to_ptr
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_asn1_full_encode
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1536
      functionLinenumberEnd: 1579
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          138
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - encode_atype_and_tag
        - make_data
      functionUses:    65
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:1550,11'
          Dst:             encode_atype_and_tag
        - Src:             'asn1_encode.c:1564,11'
          Dst:             encode_atype_and_tag
        - Src:             'asn1_encode.c:1569,5'
          Dst:             __assert_fail
        - Src:             'asn1_encode.c:1577,18'
          Dst:             make_data
    - functionName:    k5_asn1_decode_atype
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1529
      functionLinenumberEnd: 1530
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - decode_atype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:1530,12'
          Dst:             decode_atype
    - functionName:    k5_asn1_encode_atype
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1522
      functionLinenumberEnd: 1523
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - encode_atype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:1523,12'
          Dst:             encode_atype
    - functionName:    k5_asn1_decode_bitstring
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          101
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_asn1_decode_generaltime
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          211
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - krb5int_gmt_mktime
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:255,9'
          Dst:             memcmp
        - Src:             'asn1_encode.c:287,9'
          Dst:             krb5int_gmt_mktime
    - functionName:    k5_asn1_decode_bytestring
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_asn1_encode_bitstring
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - insert_byte
        - insert_bytes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:167,5'
          Dst:             insert_bytes
        - Src:             'asn1_encode.c:168,5'
          Dst:             insert_byte
    - functionName:    k5_asn1_encode_generaltime
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          149
      EdgeCount:       33
      CyclomaticComplexity: 11
      functionsReached:
        - gmtime_r
        - insert_bytes
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:135,13'
          Dst:             gmtime_r
        - Src:             'asn1_encode.c:150,15'
          Dst:             snprintf
        - Src:             'asn1_encode.c:160,5'
          Dst:             insert_bytes
    - functionName:    gmtime_r
      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:    k5_asn1_encode_bytestring
      functionSourceFile: '/src/krb5/src/lib/krb5/asn.1/asn1_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - insert_bytes
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'asn1_encode.c:108,5'
          Dst:             insert_bytes
    - functionName:    save_first_error
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cccursor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          52
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - k5_save_ctx_error
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cccursor.c:228,9'
          Dst:             k5_save_ctx_error
    - functionName:    krb5_cccol_have_content
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cccursor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          152
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - dgettext
        - k5_clear_error
        - k5_restore_ctx_error
        - krb5_cc_close
        - krb5_cc_default_name
        - krb5_cc_get_principal
        - krb5_cccol_cursor_free
        - krb5_cccol_cursor_new
        - krb5_cccol_cursor_next
        - krb5_free_principal
        - krb5_set_error_message
        - krb5_wrap_error_message
        - save_first_error
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cccursor.c:242,11'
          Dst:             krb5_cccol_cursor_new
        - Src:             'cccursor.c:243,5'
          Dst:             save_first_error
        - Src:             'cccursor.c:248,15'
          Dst:             krb5_cccol_cursor_next
        - Src:             'cccursor.c:249,9'
          Dst:             save_first_error
        - Src:             'cccursor.c:253,15'
          Dst:             krb5_cc_get_principal
        - Src:             'cccursor.c:254,9'
          Dst:             save_first_error
        - Src:             'cccursor.c:257,9'
          Dst:             krb5_free_principal
        - Src:             'cccursor.c:258,9'
          Dst:             krb5_cc_close
        - Src:             'cccursor.c:260,5'
          Dst:             krb5_cccol_cursor_free
        - Src:             'cccursor.c:262,9'
          Dst:             k5_clear_error
        - Src:             'cccursor.c:269,15'
          Dst:             k5_restore_ctx_error
        - Src:             'cccursor.c:271,20'
          Dst:             dgettext
        - Src:             'cccursor.c:270,9'
          Dst:             krb5_wrap_error_message
        - Src:             'cccursor.c:274,19'
          Dst:             krb5_cc_default_name
        - Src:             'cccursor.c:277,23'
          Dst:             dgettext
        - Src:             'cccursor.c:276,13'
          Dst:             krb5_set_error_message
    - functionName:    krb5_cccol_cursor_new
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cccursor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          138
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - krb5_cccol_cursor_free
        - krb5int_cc_typecursor_new
        - krb5int_cc_typecursor_next
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cccursor.c:60,11'
          Dst:             krb5int_cc_typecursor_new
        - Src:             'cccursor.c:66,15'
          Dst:             krb5int_cc_typecursor_next
        - Src:             'cccursor.c:77,9'
          Dst:             krb5_cccol_cursor_free
    - functionName:    krb5_cccol_cursor_next
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cccursor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          157
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - krb5int_cc_typecursor_next
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'cccursor.c:112,19'
          Dst:             krb5int_cc_typecursor_next
    - functionName:    krb5_cccol_cursor_free
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cccursor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - krb5int_cc_typecursor_free
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'cccursor.c:138,9'
          Dst:             krb5int_cc_typecursor_free
    - functionName:    free_canonprinc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/./../os/os-proto.h'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    match_caches
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cccursor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          128
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - krb5_cc_close
        - krb5_cc_get_principal
        - krb5_cccol_cursor_free
        - krb5_cccol_cursor_new
        - krb5_cccol_cursor_next
        - krb5_free_principal
        - krb5_principal_compare
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cccursor.c:157,11'
          Dst:             krb5_cccol_cursor_new
        - Src:             'cccursor.c:161,19'
          Dst:             krb5_cccol_cursor_next
        - Src:             'cccursor.c:163,15'
          Dst:             krb5_cc_get_principal
        - Src:             'cccursor.c:165,18'
          Dst:             krb5_principal_compare
        - Src:             'cccursor.c:166,13'
          Dst:             krb5_free_principal
        - Src:             'cccursor.c:170,9'
          Dst:             krb5_cc_close
        - Src:             'cccursor.c:172,5'
          Dst:             krb5_cccol_cursor_free
    - functionName:    krb5_cc_cache_match
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cccursor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          156
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - dgettext
        - free_canonprinc
        - k5_canonprinc
        - krb5_free_unparsed_name
        - krb5_set_error_message
        - krb5_unparse_name
        - krb5int_trace
        - match_caches
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cccursor.c:195,19'
          Dst:             k5_canonprinc
        - Src:             'cccursor.c:197,15'
          Dst:             match_caches
        - Src:             'cccursor.c:201,5'
          Dst:             free_canonprinc
        - Src:             'cccursor.c:205,13'
          Dst:             krb5_unparse_name
        - Src:             'cccursor.c:207,23'
          Dst:             dgettext
        - Src:             'cccursor.c:206,13'
          Dst:             krb5_set_error_message
        - Src:             'cccursor.c:209,13'
          Dst:             krb5_free_unparsed_name
        - Src:             'cccursor.c:213,5'
          Dst:             krb5int_trace
    - functionName:    store_16_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 547
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_16
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:542,5'
          Dst:             __bswap_16
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_16_n
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 712
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    put16
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_buf_add_len
        - store_16_be
        - store_16_n
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:340,9'
          Dst:             store_16_n
        - Src:             'ccmarshal.c:342,9'
          Dst:             store_16_be
        - Src:             'ccmarshal.c:343,5'
          Dst:             k5_buf_add_len
    - functionName:    put_len_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_buf_add_len
        - put32
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:364,5'
          Dst:             put32
        - Src:             'ccmarshal.c:365,5'
          Dst:             k5_buf_add_len
    - functionName:    put32
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_buf_add_len
        - store_32_be
        - store_32_n
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:354,9'
          Dst:             store_32_n
        - Src:             'ccmarshal.c:356,9'
          Dst:             store_32_be
        - Src:             'ccmarshal.c:357,5'
          Dst:             k5_buf_add_len
    - functionName:    store_32_n
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 715
      functionLinenumberEnd: 718
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unmarshal_authdatum
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - get16
        - get_len_bytes
        - k5_input_set_status
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:251,10'
          Dst:             calloc
        - Src:             'ccmarshal.c:253,9'
          Dst:             k5_input_set_status
        - Src:             'ccmarshal.c:258,28'
          Dst:             get16
        - Src:             'ccmarshal.c:259,20'
          Dst:             get_len_bytes
    - functionName:    k5_input_set_status
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get16
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_uint16_be
        - k5_input_get_uint16_n
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:111,28'
          Dst:             k5_input_get_uint16_n
        - Src:             'ccmarshal.c:112,9'
          Dst:             k5_input_get_uint16_be
    - functionName:    get_len_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - get32
        - k5_input_get_bytes
        - k5_input_set_status
        - k5memdup0
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:130,24'
          Dst:             get32
        - Src:             'ccmarshal.c:131,25'
          Dst:             k5_input_get_bytes
        - Src:             'ccmarshal.c:137,12'
          Dst:             k5memdup0
        - Src:             'ccmarshal.c:139,9'
          Dst:             k5_input_set_status
    - functionName:    get32
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_uint32_be
        - k5_input_get_uint32_n
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:120,28'
          Dst:             k5_input_get_uint32_n
        - Src:             'ccmarshal.c:121,9'
          Dst:             k5_input_get_uint32_be
    - functionName:    k5_input_get_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_input_set_status
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:72,9'
          Dst:             k5_input_set_status
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5_input_get_uint32_n
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
        - load_32_n
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:125,32'
          Dst:             k5_input_get_bytes
        - Src:             '../../../include/k5-input.h:126,32'
          Dst:             load_32_n
    - functionName:    k5_input_get_uint32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
        - load_32_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:111,32'
          Dst:             k5_input_get_bytes
        - Src:             '../../../include/k5-input.h:112,32'
          Dst:             load_32_be
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    load_32_n
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 737
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_input_get_uint16_n
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
        - load_16_n
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:104,32'
          Dst:             k5_input_get_bytes
        - Src:             '../../../include/k5-input.h:105,32'
          Dst:             load_16_n
    - functionName:    k5_input_get_uint16_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
        - load_16_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:90,32'
          Dst:             k5_input_get_bytes
        - Src:             '../../../include/k5-input.h:91,32'
          Dst:             load_16_be
    - functionName:    load_16_be
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 589
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_16
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:589,12'
          Dst:             __bswap_16
    - functionName:    load_16_n
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 727
      functionLinenumberEnd: 730
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unmarshal_addr
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - get16
        - get_len_bytes
        - k5_input_set_status
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:214,12'
          Dst:             calloc
        - Src:             'ccmarshal.c:216,9'
          Dst:             k5_input_set_status
        - Src:             'ccmarshal.c:220,22'
          Dst:             get16
        - Src:             'ccmarshal.c:221,22'
          Dst:             get_len_bytes
    - functionName:    krb5_unmarshal_credentials
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 551
      functionLinenumberEnd: 570
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_unmarshal_cred
        - k5alloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:557,13'
          Dst:             k5alloc
        - Src:             'ccmarshal.c:561,11'
          Dst:             k5_unmarshal_cred
    - functionName:    k5_unmarshal_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 289
      functionLinenumberEnd: 310
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          124
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - get32
        - get_data
        - k5_input_get_byte
        - k5_input_init
        - krb5_free_cred_contents
        - unmarshal_addrs
        - unmarshal_authdata
        - unmarshal_keyblock
        - unmarshal_princ
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:292,5'
          Dst:             k5_input_init
        - Src:             'ccmarshal.c:293,21'
          Dst:             unmarshal_princ
        - Src:             'ccmarshal.c:294,21'
          Dst:             unmarshal_princ
        - Src:             'ccmarshal.c:295,5'
          Dst:             unmarshal_keyblock
        - Src:             'ccmarshal.c:296,29'
          Dst:             get32
        - Src:             'ccmarshal.c:297,30'
          Dst:             get32
        - Src:             'ccmarshal.c:298,28'
          Dst:             get32
        - Src:             'ccmarshal.c:299,31'
          Dst:             get32
        - Src:             'ccmarshal.c:300,22'
          Dst:             k5_input_get_byte
        - Src:             'ccmarshal.c:301,27'
          Dst:             get32
        - Src:             'ccmarshal.c:302,24'
          Dst:             unmarshal_addrs
        - Src:             'ccmarshal.c:303,23'
          Dst:             unmarshal_authdata
        - Src:             'ccmarshal.c:304,5'
          Dst:             get_data
        - Src:             'ccmarshal.c:305,5'
          Dst:             get_data
        - Src:             'ccmarshal.c:307,9'
          Dst:             krb5_free_cred_contents
    - functionName:    k5_input_init
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unmarshal_princ
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          161
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - get32
        - get_data
        - k5_input_set_status
        - k5alloc
        - k5calloc
        - krb5_free_principal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:163,13'
          Dst:             k5alloc
        - Src:             'ccmarshal.c:165,9'
          Dst:             k5_input_set_status
        - Src:             'ccmarshal.c:171,54'
          Dst:             get32
        - Src:             'ccmarshal.c:172,14'
          Dst:             get32
        - Src:             'ccmarshal.c:180,23'
          Dst:             k5calloc
        - Src:             'ccmarshal.c:185,5'
          Dst:             get_data
        - Src:             'ccmarshal.c:187,9'
          Dst:             get_data
        - Src:             'ccmarshal.c:191,5'
          Dst:             k5_input_set_status
        - Src:             'ccmarshal.c:192,5'
          Dst:             krb5_free_principal
    - functionName:    unmarshal_keyblock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get16
        - get_len_bytes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:202,28'
          Dst:             get16
        - Src:             'ccmarshal.c:205,15'
          Dst:             get16
        - Src:             'ccmarshal.c:206,20'
          Dst:             get_len_bytes
    - functionName:    k5_input_get_byte
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-input.h:83,32'
          Dst:             k5_input_get_bytes
    - functionName:    unmarshal_addrs
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          81
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - get32
        - k5_input_set_status
        - unmarshal_addr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:231,13'
          Dst:             get32
        - Src:             'ccmarshal.c:233,9'
          Dst:             k5_input_set_status
        - Src:             'ccmarshal.c:236,13'
          Dst:             calloc
        - Src:             'ccmarshal.c:238,9'
          Dst:             k5_input_set_status
        - Src:             'ccmarshal.c:242,20'
          Dst:             unmarshal_addr
    - functionName:    unmarshal_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          81
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - get32
        - k5_input_set_status
        - unmarshal_authdatum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:269,13'
          Dst:             get32
        - Src:             'ccmarshal.c:271,9'
          Dst:             k5_input_set_status
        - Src:             'ccmarshal.c:274,16'
          Dst:             calloc
        - Src:             'ccmarshal.c:276,9'
          Dst:             k5_input_set_status
        - Src:             'ccmarshal.c:280,23'
          Dst:             unmarshal_authdatum
    - functionName:    get_data
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - empty_data
        - get_len_bytes
        - make_data
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:151,19'
          Dst:             get_len_bytes
        - Src:             'ccmarshal.c:153,31'
          Dst:             empty_data
        - Src:             'ccmarshal.c:153,46'
          Dst:             make_data
    - functionName:    krb5_marshal_credentials
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 522
      functionLinenumberEnd: 546
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          76
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_buf_init_dynamic
        - k5_buf_status
        - k5_marshal_cred
        - k5alloc
        - make_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:529,12'
          Dst:             k5alloc
        - Src:             'ccmarshal.c:533,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'ccmarshal.c:534,5'
          Dst:             k5_marshal_cred
        - Src:             'ccmarshal.c:536,11'
          Dst:             k5_buf_status
        - Src:             'ccmarshal.c:543,13'
          Dst:             make_data
    - functionName:    k5_marshal_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 431
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          98
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_buf_add_len
        - k5_marshal_princ
        - marshal_addrs
        - marshal_authdata
        - marshal_keyblock
        - put32
        - put_data
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:434,5'
          Dst:             k5_marshal_princ
        - Src:             'ccmarshal.c:435,5'
          Dst:             k5_marshal_princ
        - Src:             'ccmarshal.c:436,5'
          Dst:             marshal_keyblock
        - Src:             'ccmarshal.c:437,5'
          Dst:             put32
        - Src:             'ccmarshal.c:438,5'
          Dst:             put32
        - Src:             'ccmarshal.c:439,5'
          Dst:             put32
        - Src:             'ccmarshal.c:440,5'
          Dst:             put32
        - Src:             'ccmarshal.c:442,5'
          Dst:             k5_buf_add_len
        - Src:             'ccmarshal.c:443,5'
          Dst:             put32
        - Src:             'ccmarshal.c:444,5'
          Dst:             marshal_addrs
        - Src:             'ccmarshal.c:445,5'
          Dst:             marshal_authdata
        - Src:             'ccmarshal.c:446,5'
          Dst:             put_data
        - Src:             'ccmarshal.c:447,5'
          Dst:             put_data
    - functionName:    k5_marshal_princ
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          85
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - put32
        - put_data
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:382,9'
          Dst:             put32
        - Src:             'ccmarshal.c:384,5'
          Dst:             put32
        - Src:             'ccmarshal.c:385,5'
          Dst:             put_data
        - Src:             'ccmarshal.c:387,9'
          Dst:             put_data
    - functionName:    marshal_keyblock
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 392
      functionLinenumberEnd: 398
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - put16
        - put_len_bytes
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:393,5'
          Dst:             put16
        - Src:             'ccmarshal.c:396,9'
          Dst:             put16
        - Src:             'ccmarshal.c:397,5'
          Dst:             put_len_bytes
    - functionName:    marshal_addrs
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 411
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          95
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - put16
        - put32
        - put_len_bytes
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:406,5'
          Dst:             put32
        - Src:             'ccmarshal.c:408,9'
          Dst:             put16
        - Src:             'ccmarshal.c:409,9'
          Dst:             put_len_bytes
    - functionName:    marshal_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 415
      functionLinenumberEnd: 425
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          95
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - put16
        - put32
        - put_len_bytes
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:419,5'
          Dst:             put32
        - Src:             'ccmarshal.c:421,9'
          Dst:             put16
        - Src:             'ccmarshal.c:422,9'
          Dst:             put_len_bytes
    - functionName:    put_data
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 370
      functionLinenumberEnd: 372
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - put_len_bytes
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:371,5'
          Dst:             put_len_bytes
    - functionName:    mcred_header
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          147
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_marshal_mcred
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 489
      functionLinenumberEnd: 517
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          210
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - k5_buf_add_len
        - k5_marshal_princ
        - marshal_addrs
        - marshal_authdata
        - marshal_keyblock
        - mcred_header
        - put32
        - put_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:494,14'
          Dst:             mcred_header
        - Src:             'ccmarshal.c:495,5'
          Dst:             put32
        - Src:             'ccmarshal.c:497,9'
          Dst:             k5_marshal_princ
        - Src:             'ccmarshal.c:499,9'
          Dst:             k5_marshal_princ
        - Src:             'ccmarshal.c:501,9'
          Dst:             marshal_keyblock
        - Src:             'ccmarshal.c:502,5'
          Dst:             put32
        - Src:             'ccmarshal.c:503,5'
          Dst:             put32
        - Src:             'ccmarshal.c:504,5'
          Dst:             put32
        - Src:             'ccmarshal.c:505,5'
          Dst:             put32
        - Src:             'ccmarshal.c:507,5'
          Dst:             k5_buf_add_len
        - Src:             'ccmarshal.c:508,5'
          Dst:             put32
        - Src:             'ccmarshal.c:510,9'
          Dst:             marshal_addrs
        - Src:             'ccmarshal.c:512,9'
          Dst:             marshal_authdata
        - Src:             'ccmarshal.c:514,9'
          Dst:             put_data
        - Src:             'ccmarshal.c:516,9'
          Dst:             put_data
    - functionName:    k5_unmarshal_princ
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/ccmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_input_init
        - krb5_free_principal
        - unmarshal_princ
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ccmarshal.c:323,5'
          Dst:             k5_input_init
        - Src:             'ccmarshal.c:324,13'
          Dst:             unmarshal_princ
        - Src:             'ccmarshal.c:326,9'
          Dst:             krb5_free_principal
    - functionName:    pref
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_retr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    ts_after
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2371
      functionLinenumberEnd: 2372
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_cc_retrieve_cred_seq
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_retr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          173
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - krb5_cc_end_seq_get
        - krb5_cc_next_cred
        - krb5_cc_start_seq_get
        - krb5_free_cred_contents
        - krb5int_cc_creds_match_request
        - pref
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_retr.c:213,12'
          Dst:             krb5_cc_start_seq_get
        - Src:             'cc_retr.c:217,12'
          Dst:             krb5_cc_next_cred
        - Src:             'cc_retr.c:218,13'
          Dst:             krb5int_cc_creds_match_request
        - Src:             'cc_retr.c:221,32'
          Dst:             pref
        - Src:             'cc_retr.c:227,25'
          Dst:             krb5_free_cred_contents
        - Src:             'cc_retr.c:234,17'
          Dst:             krb5_cc_end_seq_get
        - Src:             'cc_retr.c:241,9'
          Dst:             krb5_free_cred_contents
        - Src:             'cc_retr.c:245,5'
          Dst:             krb5_cc_end_seq_get
    - functionName:    krb5int_cc_creds_match_request
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_retr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          260
      EdgeCount:       63
      CyclomaticComplexity: 19
      functionsReached:
        - authdata_match
        - data_match
        - princs_match
        - times_match
        - times_match_exact
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_retr.c:157,10'
          Dst:             princs_match
        - Src:             'cc_retr.c:174,10'
          Dst:             times_match_exact
        - Src:             'cc_retr.c:177,10'
          Dst:             times_match
        - Src:             'cc_retr.c:181,10'
          Dst:             authdata_match
        - Src:             'cc_retr.c:185,10'
          Dst:             data_match
    - functionName:    princs_match
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_retr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          91
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - krb5_principal_compare
        - krb5_principal_compare_any_realm
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_retr.c:62,10'
          Dst:             krb5_principal_compare
        - Src:             'cc_retr.c:67,16'
          Dst:             krb5_principal_compare_any_realm
        - Src:             'cc_retr.c:70,16'
          Dst:             krb5_principal_compare
    - functionName:    times_match_exact
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_retr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    times_match
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_retr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          77
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - ts_after
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_retr.c:46,13'
          Dst:             ts_after
        - Src:             'cc_retr.c:50,13'
          Dst:             ts_after
    - functionName:    authdata_match
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_retr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          146
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_retr.c:91,14'
          Dst:             memcmp
    - functionName:    data_match
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_retr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          61
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - data_eq
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_retr.c:111,12'
          Dst:             data_eq
    - functionName:    k5_cc_retrieve_cred_default
      functionSourceFile: '/src/krb5/src/lib/krb5/ccache/cc_retr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          79
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_count_etypes
        - krb5_cc_retrieve_cred_seq
        - krb5_get_tgs_ktypes
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cc_retr.c:263,15'
          Dst:             krb5_get_tgs_ktypes
        - Src:             'cc_retr.c:266,19'
          Dst:             k5_count_etypes
        - Src:             'cc_retr.c:268,15'
          Dst:             krb5_cc_retrieve_cred_seq
        - Src:             'cc_retr.c:273,16'
          Dst:             krb5_cc_retrieve_cred_seq
    - functionName:    krb5_kt_free_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfr_entry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_free_keytab_entry_contents
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'ktfr_entry.c:48,12'
          Dst:             krb5_free_keytab_entry_contents
    - functionName:    krb5_free_keytab_entry_contents
      functionSourceFile: '/src/krb5/src/lib/krb5/keytab/ktfr_entry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - explicit_bzero
        - krb5_free_principal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ktfr_entry.c:37,5'
          Dst:             krb5_free_principal
        - Src:             'ktfr_entry.c:39,9'
          Dst:             explicit_bzero
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    authind_internalize
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/ai_authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          177
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - alloc_data
        - k5_free_data_ptr_list
        - k5_ser_unpack_len
        - k5alloc
        - k5calloc
        - krb5_ser_unpack_bytes
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ai_authdata.c:267,11'
          Dst:             k5_ser_unpack_len
        - Src:             'ai_authdata.c:272,16'
          Dst:             k5calloc
        - Src:             'ai_authdata.c:274,20'
          Dst:             __errno_location
        - Src:             'ai_authdata.c:279,15'
          Dst:             k5_ser_unpack_len
        - Src:             'ai_authdata.c:284,19'
          Dst:             k5alloc
        - Src:             'ai_authdata.c:287,15'
          Dst:             alloc_data
        - Src:             'ai_authdata.c:290,15'
          Dst:             krb5_ser_unpack_bytes
        - Src:             'ai_authdata.c:296,5'
          Dst:             k5_free_data_ptr_list
        - Src:             'ai_authdata.c:304,5'
          Dst:             k5_free_data_ptr_list
    - functionName:    authind_externalize
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/ai_authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          164
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - krb5_ser_pack_bytes
        - krb5_ser_pack_int32
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ai_authdata.c:230,16'
          Dst:             krb5_ser_pack_int32
        - Src:             'ai_authdata.c:234,11'
          Dst:             krb5_ser_pack_int32
        - Src:             'ai_authdata.c:240,15'
          Dst:             krb5_ser_pack_int32
        - Src:             'ai_authdata.c:243,15'
          Dst:             krb5_ser_pack_bytes
    - functionName:    authind_size
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/ai_authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          71
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    authind_import_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/ai_authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          103
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - k5_authind_decode
        - k5_free_data_ptr_list
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ai_authdata.c:85,15'
          Dst:             k5_authind_decode
        - Src:             'ai_authdata.c:96,5'
          Dst:             k5_free_data_ptr_list
    - functionName:    authind_set_attribute
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/ai_authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - data_eq
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ai_authdata.c:195,10'
          Dst:             data_eq
    - functionName:    authind_get_attribute
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/ai_authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          146
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - data_eq
        - krb5int_copy_data_contents
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ai_authdata.c:164,10'
          Dst:             data_eq
        - Src:             'ai_authdata.c:173,11'
          Dst:             krb5int_copy_data_contents
    - functionName:    authind_get_attribute_types
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/ai_authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          96
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - k5calloc
        - krb5int_copy_data_contents
        - krb5int_free_data_list
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ai_authdata.c:134,13'
          Dst:             k5calloc
        - Src:             'ai_authdata.c:138,11'
          Dst:             krb5int_copy_data_contents
        - Src:             'ai_authdata.c:149,5'
          Dst:             krb5int_free_data_list
    - functionName:    authind_request_fini
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/ai_authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_free_data_ptr_list
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ai_authdata.c:107,9'
          Dst:             k5_free_data_ptr_list
    - functionName:    authind_request_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/ai_authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5alloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ai_authdata.c:65,13'
          Dst:             k5alloc
    - functionName:    authind_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/ai_authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    authind_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/ai_authdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_svcver
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/cammac_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          86
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - encode_krb5_authdata
        - krb5_c_verify_checksum
        - krb5_free_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cammac_util.c:48,11'
          Dst:             encode_krb5_authdata
        - Src:             'cammac_util.c:52,11'
          Dst:             krb5_c_verify_checksum
        - Src:             'cammac_util.c:57,5'
          Dst:             krb5_free_data
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_unwrap_cammac_svc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/cammac_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          85
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - check_svcver
        - decode_krb5_cammac
        - k5_free_cammac
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cammac_util.c:73,15'
          Dst:             make_data
        - Src:             'cammac_util.c:74,11'
          Dst:             decode_krb5_cammac
        - Src:             'cammac_util.c:78,11'
          Dst:             check_svcver
        - Src:             'cammac_util.c:84,5'
          Dst:             k5_free_cammac
    - functionName:    krb5_copy_addresses
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/copy_addrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          105
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - krb5_copy_addr
        - krb5_free_addresses
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'copy_addrs.c:64,40'
          Dst:             calloc
        - Src:             'copy_addrs.c:68,18'
          Dst:             krb5_copy_addr
        - Src:             'copy_addrs.c:70,13'
          Dst:             krb5_free_addresses
    - functionName:    krb5_copy_addr
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/copy_addrs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          68
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_encrypt_helper
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/enc_helper.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          94
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_c_encrypt
        - krb5_c_encrypt_length
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_helper.c:39,16'
          Dst:             krb5_c_encrypt_length
        - Src:             'enc_helper.c:46,11'
          Dst:             krb5_c_encrypt
    - functionName:    maybe_add_pac_request
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1237
      functionLinenumberEnd: 1255
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          66
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - encode_krb5_pa_pac_req
        - k5_add_pa_data_from_data
        - k5_gic_opt_pac_request
        - krb5_free_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1243,11'
          Dst:             k5_gic_opt_pac_request
        - Src:             'get_in_tkt.c:1248,12'
          Dst:             encode_krb5_pa_pac_req
        - Src:             'get_in_tkt.c:1251,12'
          Dst:             k5_add_pa_data_from_data
        - Src:             'get_in_tkt.c:1253,5'
          Dst:             krb5_free_data
    - functionName:    clear_cc_config_out_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1169
      functionLinenumberEnd: 1172
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_json_object_create
        - k5_json_release
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1170,5'
          Dst:             k5_json_release
        - Src:             'get_in_tkt.c:1172,12'
          Dst:             k5_json_object_create
    - functionName:    read_cc_config_in_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1177
      functionLinenumberEnd: 1211
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          115
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - k5_gic_opt_get_in_ccache
        - k5_json_decode
        - k5_json_get_tid
        - k5_json_release
        - k5memdup0
        - krb5_cc_get_config
        - krb5_free_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1182,29'
          Dst:             k5_gic_opt_get_in_ccache
        - Src:             'get_in_tkt.c:1184,5'
          Dst:             k5_json_release
        - Src:             'get_in_tkt.c:1191,12'
          Dst:             krb5_cc_get_config
        - Src:             'get_in_tkt.c:1196,15'
          Dst:             k5memdup0
        - Src:             'get_in_tkt.c:1197,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_in_tkt.c:1201,12'
          Dst:             k5_json_decode
        - Src:             'get_in_tkt.c:1205,9'
          Dst:             k5_json_get_tid
        - Src:             'get_in_tkt.c:1206,9'
          Dst:             k5_json_release
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    set_request_times
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 702
      functionLinenumberEnd: 729
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          138
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - k5_init_creds_current_time
        - ts_after
        - ts_incr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:707,12'
          Dst:             k5_init_creds_current_time
        - Src:             'get_in_tkt.c:712,12'
          Dst:             ts_incr
        - Src:             'get_in_tkt.c:716,26'
          Dst:             ts_incr
        - Src:             'get_in_tkt.c:720,31'
          Dst:             ts_incr
        - Src:             'get_in_tkt.c:721,13'
          Dst:             ts_after
    - functionName:    k5_init_creds_current_time
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 686
      functionLinenumberEnd: 697
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          86
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - k5_time_with_offset
        - krb5_us_timeofday
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:691,16'
          Dst:             k5_time_with_offset
        - Src:             'get_in_tkt.c:695,16'
          Dst:             krb5_us_timeofday
    - functionName:    ts_incr
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2364
      functionLinenumberEnd: 2365
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ts_after
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2371
      functionLinenumberEnd: 2372
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ts_interval
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2354
      functionLinenumberEnd: 2358
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          28
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_expiry_times
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1474
      functionLinenumberEnd: 1501
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          128
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    save_cc_config_out_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1216
      functionLinenumberEnd: 1232
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          85
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - k5_json_encode
        - k5_json_object_count
        - krb5_cc_set_config
        - string2data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1222,9'
          Dst:             k5_json_object_count
        - Src:             'get_in_tkt.c:1224,12'
          Dst:             k5_json_encode
        - Src:             'get_in_tkt.c:1227,14'
          Dst:             string2data
        - Src:             'get_in_tkt.c:1228,12'
          Dst:             krb5_cc_set_config
    - functionName:    string2data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2253
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2254,27'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2254,12'
          Dst:             make_data
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    save_selected_preauth_type
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1151
      functionLinenumberEnd: 1165
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          72
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - asprintf
        - krb5_cc_set_config
        - string2data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1158,9'
          Dst:             asprintf
        - Src:             'get_in_tkt.c:1160,19'
          Dst:             string2data
        - Src:             'get_in_tkt.c:1161,12'
          Dst:             krb5_cc_set_config
    - functionName:    ts_within
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2378
      functionLinenumberEnd: 2379
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ts_after
        - ts_incr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2379,25'
          Dst:             ts_incr
        - Src:             '../../../include/k5-int.h:2379,13'
          Dst:             ts_after
        - Src:             '../../../include/k5-int.h:2379,56'
          Dst:             ts_incr
        - Src:             '../../../include/k5-int.h:2379,44'
          Dst:             ts_after
    - functionName:    data_eq_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2229
      functionLinenumberEnd: 2231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2230,25'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2231,40'
          Dst:             memcmp
    - functionName:    warn_deprecated
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1583
      functionLinenumberEnd: 1605
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - dgettext
        - krb5_enctype_to_name
        - krb5int_c_deprecated_enctype
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1590,9'
          Dst:             krb5int_c_deprecated_enctype
        - Src:             'get_in_tkt.c:1592,14'
          Dst:             krb5int_c_deprecated_enctype
        - Src:             'get_in_tkt.c:1597,9'
          Dst:             krb5_enctype_to_name
        - Src:             'get_in_tkt.c:1600,14'
          Dst:             dgettext
        - Src:             'get_in_tkt.c:1599,5'
          Dst:             snprintf
    - functionName:    warn_pw_expiry
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1512
      functionLinenumberEnd: 1576
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          213
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - dgettext
        - get_expiry_times
        - k5_gic_opt_get_expire_cb
        - krb5_timeofday
        - krb5_timestamp_to_string
        - snprintf
        - strcmp
        - ts_interval
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1524,5'
          Dst:             get_expiry_times
        - Src:             'get_in_tkt.c:1526,5'
          Dst:             k5_gic_opt_get_expire_cb
        - Src:             'get_in_tkt.c:1538,27'
          Dst:             strcmp
        - Src:             'get_in_tkt.c:1546,11'
          Dst:             krb5_timeofday
        - Src:             'get_in_tkt.c:1549,16'
          Dst:             ts_interval
        - Src:             'get_in_tkt.c:1556,11'
          Dst:             krb5_timestamp_to_string
        - Src:             'get_in_tkt.c:1562,18'
          Dst:             dgettext
        - Src:             'get_in_tkt.c:1561,9'
          Dst:             snprintf
        - Src:             'get_in_tkt.c:1566,18'
          Dst:             dgettext
        - Src:             'get_in_tkt.c:1565,9'
          Dst:             snprintf
        - Src:             'get_in_tkt.c:1570,18'
          Dst:             dgettext
        - Src:             'get_in_tkt.c:1569,9'
          Dst:             snprintf
    - functionName:    write_out_ccache
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1615
      functionLinenumberEnd: 1660
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          174
      EdgeCount:       37
      CyclomaticComplexity: 12
      functionsReached:
        - k5_cc_store_primary_cred
        - k5_gic_opt_get_out_ccache
        - krb5_cc_destroy
        - krb5_cc_initialize
        - krb5_cc_move
        - krb5_cc_new_unique
        - krb5_cc_set_config
        - save_cc_config_out_data
        - save_selected_preauth_type
        - string2data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1617,30'
          Dst:             k5_gic_opt_get_out_ccache
        - Src:             'get_in_tkt.c:1619,21'
          Dst:             string2data
        - Src:             'get_in_tkt.c:1624,11'
          Dst:             krb5_cc_new_unique
        - Src:             'get_in_tkt.c:1628,11'
          Dst:             krb5_cc_initialize
        - Src:             'get_in_tkt.c:1633,15'
          Dst:             krb5_cc_set_config
        - Src:             'get_in_tkt.c:1639,11'
          Dst:             save_selected_preauth_type
        - Src:             'get_in_tkt.c:1643,11'
          Dst:             save_cc_config_out_data
        - Src:             'get_in_tkt.c:1647,11'
          Dst:             k5_cc_store_primary_cred
        - Src:             'get_in_tkt.c:1651,11'
          Dst:             krb5_cc_move
        - Src:             'get_in_tkt.c:1658,9'
          Dst:             krb5_cc_destroy
    - functionName:    stash_as_reply
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 352
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          334
      EdgeCount:       66
      CyclomaticComplexity: 19
      functionsReached:
        - encode_krb5_ticket
        - krb5_cc_store_cred
        - krb5_copy_addresses
        - krb5_copy_keyblock_contents
        - krb5_copy_principal
        - krb5_free_addresses
        - krb5_free_principal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:289,23'
          Dst:             krb5_copy_principal
        - Src:             'get_in_tkt.c:293,23'
          Dst:             krb5_copy_principal
        - Src:             'get_in_tkt.c:298,19'
          Dst:             krb5_copy_keyblock_contents
        - Src:             'get_in_tkt.c:307,19'
          Dst:             krb5_copy_addresses
        - Src:             'get_in_tkt.c:314,19'
          Dst:             encode_krb5_ticket
        - Src:             'get_in_tkt.c:322,23'
          Dst:             krb5_cc_store_cred
        - Src:             'get_in_tkt.c:333,13'
          Dst:             krb5_free_principal
        - Src:             'get_in_tkt.c:335,13'
          Dst:             krb5_free_principal
        - Src:             'get_in_tkt.c:348,13'
          Dst:             krb5_free_addresses
    - functionName:    verify_anonymous
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          255
      EdgeCount:       49
      CyclomaticComplexity: 15
      functionsReached:
        - decode_krb5_enc_data
        - decode_krb5_encryption_key
        - dgettext
        - explicit_bzero
        - k5alloc
        - krb5_anonymous_principal
        - krb5_c_decrypt
        - krb5_c_fx_cf2_simple
        - krb5_free_enc_data
        - krb5_free_keyblock
        - krb5_principal_compare_any_realm
        - krb5_set_error_message
        - krb5int_find_pa_data
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:158,43'
          Dst:             krb5_anonymous_principal
        - Src:             'get_in_tkt.c:157,10'
          Dst:             krb5_principal_compare_any_realm
        - Src:             'get_in_tkt.c:160,10'
          Dst:             krb5int_find_pa_data
        - Src:             'get_in_tkt.c:165,11'
          Dst:             decode_krb5_enc_data
        - Src:             'get_in_tkt.c:168,20'
          Dst:             k5alloc
        - Src:             'get_in_tkt.c:172,11'
          Dst:             krb5_c_decrypt
        - Src:             'get_in_tkt.c:178,11'
          Dst:             decode_krb5_encryption_key
        - Src:             'get_in_tkt.c:179,5'
          Dst:             explicit_bzero
        - Src:             'get_in_tkt.c:183,11'
          Dst:             krb5_c_fx_cf2_simple
        - Src:             'get_in_tkt.c:189,10'
          Dst:             memcmp
        - Src:             'get_in_tkt.c:193,9'
          Dst:             krb5_free_keyblock
        - Src:             'get_in_tkt.c:195,9'
          Dst:             krb5_free_keyblock
        - Src:             'get_in_tkt.c:197,9'
          Dst:             krb5_free_enc_data
        - Src:             'get_in_tkt.c:202,15'
          Dst:             dgettext
        - Src:             'get_in_tkt.c:201,5'
          Dst:             krb5_set_error_message
    - functionName:    verify_as_reply
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 272
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         78
      ICount:          510
      EdgeCount:       108
      CyclomaticComplexity: 32
      functionsReached:
        - data_eq_string
        - krb5_principal_compare
        - krb5_set_time_offsets
        - ts_after
        - ts_delta
        - ts_within
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:231,20'
          Dst:             data_eq_string
        - Src:             'get_in_tkt.c:232,13'
          Dst:             data_eq_string
        - Src:             'get_in_tkt.c:237,11'
          Dst:             krb5_principal_compare
        - Src:             'get_in_tkt.c:238,28'
          Dst:             krb5_principal_compare
        - Src:             'get_in_tkt.c:239,13'
          Dst:             krb5_principal_compare
        - Src:             'get_in_tkt.c:247,13'
          Dst:             ts_after
        - Src:             'get_in_tkt.c:250,13'
          Dst:             ts_after
        - Src:             'get_in_tkt.c:255,13'
          Dst:             ts_after
        - Src:             'get_in_tkt.c:261,23'
          Dst:             ts_delta
        - Src:             'get_in_tkt.c:262,18'
          Dst:             krb5_set_time_offsets
        - Src:             'get_in_tkt.c:267,14'
          Dst:             ts_within
    - functionName:    ts_delta
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2347
      functionLinenumberEnd: 2348
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    decrypt_as_reply
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          321
      EdgeCount:       61
      CyclomaticComplexity: 16
      functionsReached:
        - k5_gic_opt_get_responder
        - k5_response_items_empty
        - krb5_free_keyblock_contents
        - krb5_kdc_rep_decrypt_proc
        - krb5int_fast_reply_key
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:62,9'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:63,15'
          Dst:             krb5int_fast_reply_key
        - Src:             'get_in_tkt.c:67,15'
          Dst:             krb5_kdc_rep_decrypt_proc
        - Src:             'get_in_tkt.c:72,9'
          Dst:             krb5_free_keyblock_contents
        - Src:             'get_in_tkt.c:73,9'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:96,9'
          Dst:             k5_gic_opt_get_responder
        - Src:             'get_in_tkt.c:107,18'
          Dst:             k5_response_items_empty
        - Src:             'get_in_tkt.c:117,5'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:124,5'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:126,11'
          Dst:             krb5int_fast_reply_key
        - Src:             'get_in_tkt.c:129,11'
          Dst:             krb5_kdc_rep_decrypt_proc
        - Src:             'get_in_tkt.c:131,9'
          Dst:             krb5_free_keyblock_contents
    - functionName:    sort_krb5_padata_sequence
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 405
      functionLinenumberEnd: 471
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          227
      EdgeCount:       54
      CyclomaticComplexity: 14
      functionsReached:
        - krb5int_libdefault_string
        - strspn
        - strtol
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:418,11'
          Dst:             krb5int_libdefault_string
        - Src:             'get_in_tkt.c:437,14'
          Dst:             strspn
        - Src:             'get_in_tkt.c:440,17'
          Dst:             strtol
    - functionName:    check_reply_enctype
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1411
      functionLinenumberEnd: 1419
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_referral
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1448
      functionLinenumberEnd: 1455
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_realm_compare
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1454,13'
          Dst:             krb5_realm_compare
    - functionName:    accept_method_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1461
      functionLinenumberEnd: 1466
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          40
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_free_pa_data
        - sort_krb5_padata_sequence
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1462,5'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:1465,12'
          Dst:             sort_krb5_padata_sequence
    - functionName:    note_req_timestamp
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1426
      functionLinenumberEnd: 1436
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_time_with_offset
        - ts_delta
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1430,9'
          Dst:             k5_time_with_offset
        - Src:             'get_in_tkt.c:1432,22'
          Dst:             ts_delta
    - functionName:    init_creds_validate_reply
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1079
      functionLinenumberEnd: 1146
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          261
      EdgeCount:       57
      CyclomaticComplexity: 16
      functionsReached:
        - __assert_fail
        - decode_krb5_as_rep
        - decode_krb5_error
        - krb5_free_error
        - krb5_free_kdc_rep
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1084,5'
          Dst:             krb5_free_error
        - Src:             'get_in_tkt.c:1087,5'
          Dst:             krb5_free_kdc_rep
        - Src:             'get_in_tkt.c:1091,16'
          Dst:             decode_krb5_error
        - Src:             'get_in_tkt.c:1095,9'
          Dst:             __assert_fail
        - Src:             'get_in_tkt.c:1097,9'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:1100,13'
          Dst:             krb5_free_error
        - Src:             'get_in_tkt.c:1134,12'
          Dst:             decode_krb5_as_rep
        - Src:             'get_in_tkt.c:1139,9'
          Dst:             krb5_free_kdc_rep
    - functionName:    read_allowed_preauth_type
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 733
      functionLinenumberEnd: 754
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          101
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - k5_gic_opt_get_in_ccache
        - k5memdup0
        - krb5_cc_get_config
        - krb5_free_data_contents
        - strtol
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:737,29'
          Dst:             k5_gic_opt_get_in_ccache
        - Src:             'get_in_tkt.c:743,9'
          Dst:             krb5_cc_get_config
        - Src:             'get_in_tkt.c:746,11'
          Dst:             k5memdup0
        - Src:             'get_in_tkt.c:747,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_in_tkt.c:750,33'
          Dst:             strtol
    - functionName:    build_in_tkt_name
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 478
      functionLinenumberEnd: 512
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          109
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - krb5_build_principal_ext
        - krb5_free_data_contents
        - krb5_free_principal
        - krb5_parse_name_flags
        - krb5int_copy_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:485,15'
          Dst:             krb5_parse_name_flags
        - Src:             'get_in_tkt.c:490,9'
          Dst:             krb5_free_data_contents
        - Src:             'get_in_tkt.c:491,15'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_in_tkt.c:494,13'
          Dst:             krb5_free_principal
        - Src:             'get_in_tkt.c:498,15'
          Dst:             krb5_build_principal_ext
    - functionName:    encts_disabled
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 759
      functionLinenumberEnd: 772
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5memdup0
        - profile_get_boolean
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:764,16'
          Dst:             k5memdup0
        - Src:             'get_in_tkt.c:767,11'
          Dst:             profile_get_boolean
    - functionName:    make_preauth_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 396
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          164
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_populate_gic_opt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2093
      functionLinenumberEnd: 2137
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          236
      EdgeCount:       55
      CyclomaticComplexity: 15
      functionsReached:
        - k5_count_etypes
        - krb5_get_init_creds_opt_alloc
        - krb5_get_init_creds_opt_free
        - krb5_get_init_creds_opt_set_address_list
        - krb5_get_init_creds_opt_set_etype_list
        - krb5_get_init_creds_opt_set_forwardable
        - krb5_get_init_creds_opt_set_preauth_list
        - krb5_get_init_creds_opt_set_proxiable
        - krb5_get_init_creds_opt_set_tkt_life
        - krb5_timeofday
        - ts_delta
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:2101,14'
          Dst:             krb5_get_init_creds_opt_alloc
        - Src:             'get_in_tkt.c:2106,9'
          Dst:             krb5_get_init_creds_opt_set_address_list
        - Src:             'get_in_tkt.c:2108,13'
          Dst:             k5_count_etypes
        - Src:             'get_in_tkt.c:2110,13'
          Dst:             krb5_get_init_creds_opt_set_etype_list
        - Src:             'get_in_tkt.c:2115,13'
          Dst:             krb5_get_init_creds_opt_set_preauth_list
        - Src:             'get_in_tkt.c:2118,9'
          Dst:             krb5_get_init_creds_opt_set_forwardable
        - Src:             'get_in_tkt.c:2119,10'
          Dst:             krb5_get_init_creds_opt_set_forwardable
        - Src:             'get_in_tkt.c:2121,9'
          Dst:             krb5_get_init_creds_opt_set_proxiable
        - Src:             'get_in_tkt.c:2122,10'
          Dst:             krb5_get_init_creds_opt_set_proxiable
        - Src:             'get_in_tkt.c:2124,18'
          Dst:             krb5_timeofday
        - Src:             'get_in_tkt.c:2128,20'
          Dst:             ts_delta
        - Src:             'get_in_tkt.c:2129,9'
          Dst:             krb5_get_init_creds_opt_set_tkt_life
        - Src:             'get_in_tkt.c:2135,5'
          Dst:             krb5_get_init_creds_opt_free
    - functionName:    k5_identify_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2052
      functionLinenumberEnd: 2085
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          122
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - k5_init_creds_get
        - krb5_copy_principal
        - krb5_get_init_creds_opt_alloc
        - krb5_get_init_creds_opt_free
        - krb5_get_init_creds_opt_set_canonicalize
        - krb5_get_init_creds_opt_set_forwardable
        - krb5_get_init_creds_opt_set_proxiable
        - krb5_get_init_creds_opt_set_renew_life
        - krb5_get_init_creds_opt_set_tkt_life
        - krb5_init_creds_free
        - krb5_init_creds_init
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:2059,11'
          Dst:             krb5_get_init_creds_opt_alloc
        - Src:             'get_in_tkt.c:2062,5'
          Dst:             krb5_get_init_creds_opt_set_tkt_life
        - Src:             'get_in_tkt.c:2063,5'
          Dst:             krb5_get_init_creds_opt_set_renew_life
        - Src:             'get_in_tkt.c:2064,5'
          Dst:             krb5_get_init_creds_opt_set_forwardable
        - Src:             'get_in_tkt.c:2065,5'
          Dst:             krb5_get_init_creds_opt_set_proxiable
        - Src:             'get_in_tkt.c:2066,5'
          Dst:             krb5_get_init_creds_opt_set_canonicalize
        - Src:             'get_in_tkt.c:2068,11'
          Dst:             krb5_init_creds_init
        - Src:             'get_in_tkt.c:2075,11'
          Dst:             k5_init_creds_get
        - Src:             'get_in_tkt.c:2079,5'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:2080,11'
          Dst:             krb5_copy_principal
        - Src:             'get_in_tkt.c:2083,5'
          Dst:             krb5_get_init_creds_opt_free
        - Src:             'get_in_tkt.c:2084,5'
          Dst:             krb5_init_creds_free
    - functionName:    krb5_init_creds_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 858
      functionLinenumberEnd: 1053
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         111
      ICount:          860
      EdgeCount:       150
      CyclomaticComplexity: 41
      functionsReached:
        - empty_data
        - k5_count_etypes
        - k5_response_items_new
        - k5alloc
        - k5memdup
        - krb5_anonymous_principal
        - krb5_build_principal_ext
        - krb5_copy_addresses
        - krb5_copy_principal
        - krb5_free_principal
        - krb5_get_default_in_tkt_ktypes
        - krb5_get_init_creds_opt_init
        - krb5_init_creds_free
        - krb5_os_localaddr
        - krb5_principal_compare_any_realm
        - krb5_string_to_deltat
        - krb5int_copy_data_contents
        - krb5int_libdefault_boolean
        - krb5int_libdefault_string
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:864,5'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:866,11'
          Dst:             k5alloc
        - Src:             'get_in_tkt.c:870,20'
          Dst:             k5alloc
        - Src:             'get_in_tkt.c:874,12'
          Dst:             krb5_copy_principal
        - Src:             'get_in_tkt.c:887,9'
          Dst:             krb5_get_init_creds_opt_init
        - Src:             'get_in_tkt.c:892,12'
          Dst:             k5_response_items_new
        - Src:             'get_in_tkt.c:902,14'
          Dst:             krb5int_libdefault_boolean
        - Src:             'get_in_tkt.c:913,14'
          Dst:             krb5int_libdefault_boolean
        - Src:             'get_in_tkt.c:924,14'
          Dst:             krb5int_libdefault_boolean
        - Src:             'get_in_tkt.c:939,14'
          Dst:             krb5int_libdefault_string
        - Src:             'get_in_tkt.c:941,16'
          Dst:             krb5_string_to_deltat
        - Src:             'get_in_tkt.c:952,14'
          Dst:             krb5int_libdefault_string
        - Src:             'get_in_tkt.c:954,16'
          Dst:             krb5_string_to_deltat
        - Src:             'get_in_tkt.c:968,13'
          Dst:             k5memdup
        - Src:             'get_in_tkt.c:974,16'
          Dst:             krb5_get_default_in_tkt_ktypes
        - Src:             'get_in_tkt.c:976,33'
          Dst:             k5_count_etypes
        - Src:             'get_in_tkt.c:993,16'
          Dst:             krb5_copy_addresses
        - Src:             'get_in_tkt.c:997,16'
          Dst:             krb5int_libdefault_boolean
        - Src:             'get_in_tkt.c:1002,16'
          Dst:             krb5_os_localaddr
        - Src:             'get_in_tkt.c:1008,16'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_in_tkt.c:1013,21'
          Dst:             empty_data
        - Src:             'get_in_tkt.c:1023,20'
          Dst:             krb5_build_principal_ext
        - Src:             'get_in_tkt.c:1033,13'
          Dst:             krb5_free_principal
        - Src:             'get_in_tkt.c:1041,42'
          Dst:             krb5_anonymous_principal
        - Src:             'get_in_tkt.c:1040,9'
          Dst:             krb5_principal_compare_any_realm
        - Src:             'get_in_tkt.c:1050,5'
          Dst:             krb5_init_creds_free
    - functionName:    k5_init_creds_get
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 548
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          135
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - k5_sendto_kdc
        - krb5_free_data_contents
        - krb5_init_creds_step
        - krb5int_trace
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:564,16'
          Dst:             krb5_init_creds_step
        - Src:             'get_in_tkt.c:571,13'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:576,9'
          Dst:             krb5_free_data_contents
        - Src:             'get_in_tkt.c:578,16'
          Dst:             k5_sendto_kdc
        - Src:             'get_in_tkt.c:583,9'
          Dst:             krb5_free_data_contents
        - Src:             'get_in_tkt.c:584,9'
          Dst:             krb5_free_data_contents
        - Src:             'get_in_tkt.c:587,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_in_tkt.c:588,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_in_tkt.c:589,5'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_init_creds_free
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 517
      functionLinenumberEnd: 543
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          131
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_json_release
        - k5_preauth_request_context_fini
        - k5_response_items_free
        - krb5_free_cred_contents
        - krb5_free_data
        - krb5_free_data_contents
        - krb5_free_error
        - krb5_free_kdc_rep
        - krb5_free_kdc_req
        - krb5_free_keyblock_contents
        - krb5_free_pa_data
        - krb5int_fast_free_state
        - zapfree
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:521,5'
          Dst:             k5_response_items_free
        - Src:             'get_in_tkt.c:523,5'
          Dst:             zapfree
        - Src:             'get_in_tkt.c:524,5'
          Dst:             k5_preauth_request_context_fini
        - Src:             'get_in_tkt.c:525,5'
          Dst:             krb5_free_error
        - Src:             'get_in_tkt.c:526,5'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:527,5'
          Dst:             krb5_free_cred_contents
        - Src:             'get_in_tkt.c:528,5'
          Dst:             krb5_free_kdc_req
        - Src:             'get_in_tkt.c:529,5'
          Dst:             krb5_free_kdc_rep
        - Src:             'get_in_tkt.c:530,5'
          Dst:             krb5_free_data
        - Src:             'get_in_tkt.c:531,5'
          Dst:             krb5_free_data
        - Src:             'get_in_tkt.c:532,5'
          Dst:             krb5_free_data
        - Src:             'get_in_tkt.c:533,5'
          Dst:             krb5int_fast_free_state
        - Src:             'get_in_tkt.c:534,5'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:535,5'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:536,5'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:537,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_in_tkt.c:538,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_in_tkt.c:539,5'
          Dst:             krb5_free_keyblock_contents
        - Src:             'get_in_tkt.c:540,5'
          Dst:             k5_json_release
        - Src:             'get_in_tkt.c:541,5'
          Dst:             k5_json_release
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    krb5_init_creds_step
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1876
      functionLinenumberEnd: 1948
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          252
      EdgeCount:       49
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - dgettext
        - init_creds_step_reply
        - init_creds_step_request
        - k5_preauth_check_context
        - krb5_free_unparsed_name
        - krb5_set_error_message
        - krb5_unparse_name
        - krb5int_copy_data_contents
        - restart_init_creds_loop
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1890,12'
          Dst:             k5_preauth_check_context
        - Src:             'get_in_tkt.c:1895,16'
          Dst:             init_creds_step_reply
        - Src:             'get_in_tkt.c:1897,21'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_in_tkt.c:1909,16'
          Dst:             restart_init_creds_loop
        - Src:             'get_in_tkt.c:1914,12'
          Dst:             init_creds_step_request
        - Src:             'get_in_tkt.c:1922,5'
          Dst:             __assert_fail
        - Src:             'get_in_tkt.c:1924,13'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_in_tkt.c:1937,17'
          Dst:             krb5_unparse_name
        - Src:             'get_in_tkt.c:1940,23'
          Dst:             dgettext
        - Src:             'get_in_tkt.c:1939,13'
          Dst:             krb5_set_error_message
        - Src:             'get_in_tkt.c:1942,13'
          Dst:             krb5_free_unparsed_name
    - functionName:    init_creds_step_reply
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1666
      functionLinenumberEnd: 1860
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         127
      ICount:          854
      EdgeCount:       170
      CyclomaticComplexity: 45
      functionsReached:
        - __assert_fail
        - accept_method_data
        - check_reply_enctype
        - decrypt_as_reply
        - dgettext
        - init_creds_validate_reply
        - is_referral
        - k5_preauth
        - k5_preauth_note_failed
        - k5_preauth_request_context_fini
        - k5_upgrade_to_fast_p
        - krb5_free_data_contents
        - krb5_free_keyblock
        - krb5_free_keyblock_contents
        - krb5_free_pa_data
        - krb5_prepend_error_message
        - krb5_principal2salt
        - krb5int_copy_data_contents
        - krb5int_fast_process_error
        - krb5int_fast_process_response
        - krb5int_fast_verify_nego
        - krb5int_trace
        - note_req_timestamp
        - restart_init_creds_loop
        - sort_krb5_padata_sequence
        - stash_as_reply
        - verify_anonymous
        - verify_as_reply
        - warn_deprecated
        - warn_pw_expiry
        - write_out_ccache
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1681,12'
          Dst:             init_creds_validate_reply
        - Src:             'get_in_tkt.c:1690,9'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:1691,9'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:1693,16'
          Dst:             krb5int_fast_process_error
        - Src:             'get_in_tkt.c:1700,13'
          Dst:             k5_upgrade_to_fast_p
        - Src:             'get_in_tkt.c:1703,13'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:1705,20'
          Dst:             restart_init_creds_loop
        - Src:             'get_in_tkt.c:1712,20'
          Dst:             restart_init_creds_loop
        - Src:             'get_in_tkt.c:1717,20'
          Dst:             restart_init_creds_loop
        - Src:             'get_in_tkt.c:1725,13'
          Dst:             note_req_timestamp
        - Src:             'get_in_tkt.c:1727,20'
          Dst:             accept_method_data
        - Src:             'get_in_tkt.c:1729,13'
          Dst:             note_req_timestamp
        - Src:             'get_in_tkt.c:1732,20'
          Dst:             k5_preauth_note_failed
        - Src:             'get_in_tkt.c:1738,24'
          Dst:             accept_method_data
        - Src:             'get_in_tkt.c:1742,34'
          Dst:             is_referral
        - Src:             'get_in_tkt.c:1744,13'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:1746,13'
          Dst:             krb5_free_data_contents
        - Src:             'get_in_tkt.c:1747,20'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_in_tkt.c:1755,20'
          Dst:             restart_init_creds_loop
        - Src:             'get_in_tkt.c:1770,5'
          Dst:             __assert_fail
        - Src:             'get_in_tkt.c:1773,12'
          Dst:             check_reply_enctype
        - Src:             'get_in_tkt.c:1778,12'
          Dst:             krb5int_fast_process_response
        - Src:             'get_in_tkt.c:1789,12'
          Dst:             sort_krb5_padata_sequence
        - Src:             'get_in_tkt.c:1799,12'
          Dst:             k5_preauth
        - Src:             'get_in_tkt.c:1815,16'
          Dst:             krb5_principal2salt
        - Src:             'get_in_tkt.c:1816,9'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:1821,12'
          Dst:             decrypt_as_reply
        - Src:             'get_in_tkt.c:1824,5'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:1826,12'
          Dst:             krb5int_fast_verify_nego
        - Src:             'get_in_tkt.c:1831,12'
          Dst:             verify_as_reply
        - Src:             'get_in_tkt.c:1835,12'
          Dst:             verify_anonymous
        - Src:             'get_in_tkt.c:1840,12'
          Dst:             stash_as_reply
        - Src:             'get_in_tkt.c:1843,12'
          Dst:             write_out_ccache
        - Src:             'get_in_tkt.c:1845,38'
          Dst:             dgettext
        - Src:             'get_in_tkt.c:1845,9'
          Dst:             krb5_prepend_error_message
        - Src:             'get_in_tkt.c:1847,5'
          Dst:             k5_preauth_request_context_fini
        - Src:             'get_in_tkt.c:1851,5'
          Dst:             warn_pw_expiry
        - Src:             'get_in_tkt.c:1853,5'
          Dst:             warn_deprecated
        - Src:             'get_in_tkt.c:1856,5'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:1857,5'
          Dst:             krb5_free_keyblock
        - Src:             'get_in_tkt.c:1858,5'
          Dst:             krb5_free_keyblock_contents
    - functionName:    restart_init_creds_loop
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 782
      functionLinenumberEnd: 847
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          272
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - build_in_tkt_name
        - encts_disabled
        - k5_preauth_prepare_request
        - k5_preauth_request_context_fini
        - k5_preauth_request_context_init
        - krb5_free_data
        - krb5_free_error
        - krb5_free_pa_data
        - krb5_free_principal
        - krb5int_fast_as_armor
        - krb5int_fast_free_state
        - krb5int_fast_make_state
        - krb5int_fast_prep_req_body
        - make_preauth_list
        - read_allowed_preauth_type
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:785,5'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:786,5'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:787,5'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:788,5'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:789,5'
          Dst:             krb5_free_error
        - Src:             'get_in_tkt.c:795,5'
          Dst:             krb5int_fast_free_state
        - Src:             'get_in_tkt.c:797,12'
          Dst:             krb5int_fast_make_state
        - Src:             'get_in_tkt.c:803,5'
          Dst:             k5_preauth_request_context_fini
        - Src:             'get_in_tkt.c:804,5'
          Dst:             k5_preauth_request_context_init
        - Src:             'get_in_tkt.c:805,5'
          Dst:             krb5_free_data
        - Src:             'get_in_tkt.c:808,16'
          Dst:             make_preauth_list
        - Src:             'get_in_tkt.c:817,9'
          Dst:             encts_disabled
        - Src:             'get_in_tkt.c:820,5'
          Dst:             krb5_free_principal
        - Src:             'get_in_tkt.c:823,12'
          Dst:             build_in_tkt_name
        - Src:             'get_in_tkt.c:829,12'
          Dst:             krb5int_fast_as_armor
        - Src:             'get_in_tkt.c:834,5'
          Dst:             k5_preauth_prepare_request
        - Src:             'get_in_tkt.c:836,12'
          Dst:             krb5int_fast_prep_req_body
        - Src:             'get_in_tkt.c:844,5'
          Dst:             read_allowed_preauth_type
    - functionName:    init_creds_step_request
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1261
      functionLinenumberEnd: 1405
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         101
      ICount:          620
      EdgeCount:       135
      CyclomaticComplexity: 36
      functionsReached:
        - clear_cc_config_out_data
        - encode_krb5_as_req
        - encode_krb5_kdc_req_body
        - k5_add_empty_pa_data
        - k5_add_pa_data_from_data
        - k5_clear_error
        - k5_generate_nonce
        - k5_preauth
        - k5_preauth_tryagain
        - k5_restore_ctx_error
        - k5_save_ctx_error
        - krb5_clear_error_message
        - krb5_free_data
        - krb5_free_data_contents
        - krb5_free_pa_data
        - krb5int_copy_data_contents
        - krb5int_fast_prep_req
        - krb5int_trace
        - maybe_add_pac_request
        - read_cc_config_in_data
        - set_request_times
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1274,12'
          Dst:             k5_generate_nonce
        - Src:             'get_in_tkt.c:1279,12'
          Dst:             set_request_times
        - Src:             'get_in_tkt.c:1283,5'
          Dst:             krb5_free_data
        - Src:             'get_in_tkt.c:1285,12'
          Dst:             encode_krb5_kdc_req_body
        - Src:             'get_in_tkt.c:1294,5'
          Dst:             read_cc_config_in_data
        - Src:             'get_in_tkt.c:1295,5'
          Dst:             clear_cc_config_out_data
        - Src:             'get_in_tkt.c:1300,9'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:1301,16'
          Dst:             k5_preauth
        - Src:             'get_in_tkt.c:1303,9'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:1307,13'
          Dst:             krb5_clear_error_message
        - Src:             'get_in_tkt.c:1312,9'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:1313,16'
          Dst:             k5_preauth
        - Src:             'get_in_tkt.c:1321,9'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:1323,16'
          Dst:             k5_preauth_tryagain
        - Src:             'get_in_tkt.c:1327,13'
          Dst:             krb5_clear_error_message
        - Src:             'get_in_tkt.c:1336,9'
          Dst:             k5_save_ctx_error
        - Src:             'get_in_tkt.c:1343,9'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:1344,16'
          Dst:             k5_preauth
        - Src:             'get_in_tkt.c:1348,24'
          Dst:             k5_restore_ctx_error
        - Src:             'get_in_tkt.c:1353,9'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:1356,25'
          Dst:             time
        - Src:             'get_in_tkt.c:1359,9'
          Dst:             krb5_free_data
        - Src:             'get_in_tkt.c:1363,16'
          Dst:             k5_add_empty_pa_data
        - Src:             'get_in_tkt.c:1367,16'
          Dst:             k5_add_empty_pa_data
        - Src:             'get_in_tkt.c:1374,16'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_in_tkt.c:1377,16'
          Dst:             k5_add_pa_data_from_data
        - Src:             'get_in_tkt.c:1379,9'
          Dst:             krb5_free_data_contents
        - Src:             'get_in_tkt.c:1384,12'
          Dst:             maybe_add_pac_request
        - Src:             'get_in_tkt.c:1388,12'
          Dst:             krb5int_fast_prep_req
        - Src:             'get_in_tkt.c:1388,12'
          Dst:             encode_krb5_as_req
        - Src:             'get_in_tkt.c:1395,12'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_in_tkt.c:1402,5'
          Dst:             krb5_free_pa_data
        - Src:             'get_in_tkt.c:1404,5'
          Dst:             k5_clear_error
    - functionName:    k5memdup
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2300
      functionLinenumberEnd: 2305
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2301,17'
          Dst:             k5alloc
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    try_init_creds
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1957
      functionLinenumberEnd: 1996
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          139
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - k5_init_creds_get
        - krb5_init_creds_free
        - krb5_init_creds_get_creds
        - krb5_init_creds_init
        - krb5_init_creds_set_service
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1961,12'
          Dst:             krb5_init_creds_init
        - Src:             'get_in_tkt.c:1975,16'
          Dst:             krb5_init_creds_set_service
        - Src:             'get_in_tkt.c:1980,12'
          Dst:             k5_init_creds_get
        - Src:             'get_in_tkt.c:1984,12'
          Dst:             krb5_init_creds_get_creds
        - Src:             'get_in_tkt.c:1994,5'
          Dst:             krb5_init_creds_free
    - functionName:    krb5_init_creds_set_service
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1060
      functionLinenumberEnd: 1073
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          65
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - krb5int_trace
        - restart_init_creds_loop
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:1063,5'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:1065,9'
          Dst:             strdup
        - Src:             'get_in_tkt.c:1072,12'
          Dst:             restart_init_creds_loop
    - functionName:    krb5_init_creds_get_creds
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 606
      functionLinenumberEnd: 611
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_copy_creds_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:610,12'
          Dst:             k5_copy_creds_contents
    - functionName:    k5_get_init_creds
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2006
      functionLinenumberEnd: 2046
      functionDepth:   0
      returnType:      int
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          191
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - k5_clear_error
        - k5_kdclist_any_replicas
        - k5_kdclist_create
        - k5_kdclist_free
        - k5_restore_ctx_error
        - k5_save_ctx_error
        - krb5int_trace
        - try_init_creds
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:2011,11'
          Dst:             k5_kdclist_create
        - Src:             'get_in_tkt.c:2016,11'
          Dst:             try_init_creds
        - Src:             'get_in_tkt.c:2029,9'
          Dst:             k5_kdclist_any_replicas
        - Src:             'get_in_tkt.c:2030,9'
          Dst:             k5_save_ctx_error
        - Src:             'get_in_tkt.c:2031,9'
          Dst:             krb5int_trace
        - Src:             'get_in_tkt.c:2032,15'
          Dst:             try_init_creds
        - Src:             'get_in_tkt.c:2039,19'
          Dst:             k5_restore_ctx_error
        - Src:             'get_in_tkt.c:2044,5'
          Dst:             k5_kdclist_free
        - Src:             'get_in_tkt.c:2045,5'
          Dst:             k5_clear_error
    - functionName:    krb5_init_creds_get_error
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 678
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          197
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - k5alloc
        - krb5_copy_principal
        - krb5_free_error
        - krb5int_copy_data_contents
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:639,11'
          Dst:             k5alloc
        - Src:             'get_in_tkt.c:651,16'
          Dst:             krb5_copy_principal
        - Src:             'get_in_tkt.c:657,12'
          Dst:             krb5_copy_principal
        - Src:             'get_in_tkt.c:661,12'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_in_tkt.c:666,12'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_in_tkt.c:675,9'
          Dst:             krb5_free_error
    - functionName:    krb5_init_creds_get_times
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 617
      functionLinenumberEnd: 624
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          33
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_init_creds_get
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_in_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 598
      functionLinenumberEnd: 599
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_init_creds_get
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'get_in_tkt.c:599,12'
          Dst:             k5_init_creds_get
    - functionName:    k5_gic_opt_pac_request
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 500
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          39
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_pac_request
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 483
      functionLinenumberEnd: 490
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          49
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_gic_opt_shallow_copy
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 476
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gic_opt.c:468,12'
          Dst:             calloc
    - functionName:    k5_gic_opt_get_responder
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 452
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          50
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_responder
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 439
      functionLinenumberEnd: 447
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          50
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_gic_opt_get_expire_cb
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          50
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_expire_callback
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          50
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_gic_opt_get_fast_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          39
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_get_fast_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 394
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_fast_flags
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 371
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_gic_opt_get_out_ccache
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 359
      functionLinenumberEnd: 365
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          39
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_out_ccache
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 355
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_gic_opt_get_in_ccache
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 342
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          39
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_in_ccache
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 325
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_gic_opt_get_fast_ccache_name
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          39
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_fast_ccache
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_cc_get_full_name
        - krb5_get_init_creds_opt_set_fast_ccache_name
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'gic_opt.c:303,11'
          Dst:             krb5_cc_get_full_name
        - Src:             'gic_opt.c:306,11'
          Dst:             krb5_get_init_creds_opt_set_fast_ccache_name
    - functionName:    krb5_get_init_creds_opt_set_fast_ccache_name
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 282
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          79
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gic_opt.c:287,5'
          Dst:             __assert_fail
        - Src:             'gic_opt.c:289,30'
          Dst:             strdup
    - functionName:    krb5_get_init_creds_opt_free_pa
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          69
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_get_pa
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          186
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - calloc
        - krb5_get_init_creds_opt_free_pa
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'gic_opt.c:239,9'
          Dst:             calloc
        - Src:             'gic_opt.c:244,21'
          Dst:             strdup
        - Src:             'gic_opt.c:245,22'
          Dst:             strdup
        - Src:             'gic_opt.c:254,5'
          Dst:             krb5_get_init_creds_opt_free_pa
    - functionName:    krb5_get_init_creds_opt_set_pa
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          140
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - krb5_preauth_supply_preauth_data
        - realloc
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'gic_opt.c:187,5'
          Dst:             __assert_fail
        - Src:             'gic_opt.c:190,9'
          Dst:             realloc
        - Src:             'gic_opt.c:197,16'
          Dst:             strdup
        - Src:             'gic_opt.c:200,17'
          Dst:             strdup
        - Src:             'gic_opt.c:208,12'
          Dst:             krb5_preauth_supply_preauth_data
    - functionName:    krb5_get_init_creds_opt_free
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          100
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'gic_opt.c:166,5'
          Dst:             __assert_fail
    - functionName:    krb5_get_init_creds_opt_alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'gic_opt.c:148,12'
          Dst:             calloc
    - functionName:    krb5_get_init_creds_opt_set_change_password_prompt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          30
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_salt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_preauth_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_address_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_etype_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_anonymous
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          30
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_canonicalize
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          30
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_proxiable
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_forwardable
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_renew_life
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_set_tkt_life
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_init_creds_opt_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_opt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_in_tkt_with_password
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_pwd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 420
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          188
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - k5_get_init_creds
        - k5_populate_gic_opt
        - krb5_cc_store_cred
        - krb5_free_principal
        - krb5_free_unparsed_name
        - krb5_get_as_key_password
        - krb5_get_init_creds_opt_free
        - krb5_prompter_posix
        - krb5_unparse_name
        - string2data
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'gic_pwd.c:388,14'
          Dst:             string2data
        - Src:             'gic_pwd.c:391,14'
          Dst:             k5_populate_gic_opt
        - Src:             'gic_pwd.c:395,14'
          Dst:             krb5_unparse_name
        - Src:             'gic_pwd.c:397,9'
          Dst:             krb5_get_init_creds_opt_free
        - Src:             'gic_pwd.c:402,14'
          Dst:             k5_get_init_creds
        - Src:             'gic_pwd.c:402,14'
          Dst:             krb5_prompter_posix
        - Src:             'gic_pwd.c:402,14'
          Dst:             krb5_get_as_key_password
        - Src:             'gic_pwd.c:405,5'
          Dst:             krb5_free_unparsed_name
        - Src:             'gic_pwd.c:406,5'
          Dst:             krb5_get_init_creds_opt_free
        - Src:             'gic_pwd.c:407,5'
          Dst:             zapfree
        - Src:             'gic_pwd.c:411,5'
          Dst:             krb5_free_principal
        - Src:             'gic_pwd.c:412,5'
          Dst:             krb5_free_principal
        - Src:             'gic_pwd.c:417,23'
          Dst:             krb5_cc_store_cred
    - functionName:    string2data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2253
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2254,27'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2254,12'
          Dst:             make_data
    - functionName:    krb5_get_as_key_password
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_pwd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 19
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          326
      EdgeCount:       60
      CyclomaticComplexity: 18
      functionsReached:
        - alloc_data
        - dgettext
        - explicit_bzero
        - k5_response_items_ask_question
        - k5_response_items_get_answer
        - k5_set_prompt_types
        - krb5_c_string_to_key_with_params
        - krb5_free_keyblock_contents
        - krb5_principal2salt
        - krb5_unparse_name
        - krb5int_copy_data_contents
        - make_data
        - snprintf
        - strlen
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'gic_pwd.c:35,16'
          Dst:             k5_response_items_ask_question
        - Src:             'gic_pwd.c:50,13'
          Dst:             krb5_free_keyblock_contents
        - Src:             'gic_pwd.c:57,17'
          Dst:             k5_response_items_get_answer
        - Src:             'gic_pwd.c:60,44'
          Dst:             strlen
        - Src:             'gic_pwd.c:60,19'
          Dst:             alloc_data
        - Src:             'gic_pwd.c:63,45'
          Dst:             strlen
        - Src:             'gic_pwd.c:72,20'
          Dst:             krb5_unparse_name
        - Src:             'gic_pwd.c:75,48'
          Dst:             dgettext
        - Src:             'gic_pwd.c:75,9'
          Dst:             snprintf
        - Src:             'gic_pwd.c:79,14'
          Dst:             make_data
        - Src:             'gic_pwd.c:86,9'
          Dst:             k5_set_prompt_types
        - Src:             'gic_pwd.c:88,9'
          Dst:             k5_set_prompt_types
        - Src:             'gic_pwd.c:92,15'
          Dst:             krb5int_copy_data_contents
        - Src:             'gic_pwd.c:93,9'
          Dst:             explicit_bzero
        - Src:             'gic_pwd.c:100,20'
          Dst:             krb5_principal2salt
        - Src:             'gic_pwd.c:108,11'
          Dst:             krb5_c_string_to_key_with_params
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_chpw_options
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_pwd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_gic_opt_shallow_copy
        - krb5_get_init_creds_opt_set_forwardable
        - krb5_get_init_creds_opt_set_out_ccache
        - krb5_get_init_creds_opt_set_proxiable
        - krb5_get_init_creds_opt_set_renew_life
        - krb5_get_init_creds_opt_set_tkt_life
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gic_pwd.c:152,11'
          Dst:             k5_gic_opt_shallow_copy
        - Src:             'gic_pwd.c:157,5'
          Dst:             krb5_get_init_creds_opt_set_tkt_life
        - Src:             'gic_pwd.c:158,5'
          Dst:             krb5_get_init_creds_opt_set_renew_life
        - Src:             'gic_pwd.c:159,5'
          Dst:             krb5_get_init_creds_opt_set_forwardable
        - Src:             'gic_pwd.c:160,5'
          Dst:             krb5_get_init_creds_opt_set_proxiable
        - Src:             'gic_pwd.c:167,5'
          Dst:             krb5_get_init_creds_opt_set_out_ccache
    - functionName:    krb5_get_init_creds_password
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_pwd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         75
      ICount:          508
      EdgeCount:       100
      CyclomaticComplexity: 27
      functionsReached:
        - dgettext
        - error_message
        - k5_get_init_creds
        - k5_set_prompt_types
        - krb5_change_password
        - krb5_chpw_message
        - krb5_free_cred_contents
        - krb5_free_kdc_rep
        - krb5_get_as_key_password
        - krb5int_strlcpy
        - krb5int_trace
        - make_chpw_options
        - snprintf
        - strcmp
        - string2data
        - strlen
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'gic_pwd.c:201,15'
          Dst:             string2data
        - Src:             'gic_pwd.c:205,11'
          Dst:             k5_get_init_creds
        - Src:             'gic_pwd.c:205,11'
          Dst:             krb5_get_as_key_password
        - Src:             'gic_pwd.c:223,5'
          Dst:             krb5int_trace
        - Src:             'gic_pwd.c:228,11'
          Dst:             make_chpw_options
        - Src:             'gic_pwd.c:231,11'
          Dst:             k5_get_init_creds
        - Src:             'gic_pwd.c:231,11'
          Dst:             krb5_get_as_key_password
        - Src:             'gic_pwd.c:240,24'
          Dst:             dgettext
        - Src:             'gic_pwd.c:248,24'
          Dst:             dgettext
        - Src:             'gic_pwd.c:253,21'
          Dst:             dgettext
        - Src:             'gic_pwd.c:253,5'
          Dst:             krb5int_strlcpy
        - Src:             'gic_pwd.c:257,9'
          Dst:             krb5int_trace
        - Src:             'gic_pwd.c:262,9'
          Dst:             k5_set_prompt_types
        - Src:             'gic_pwd.c:265,9'
          Dst:             k5_set_prompt_types
        - Src:             'gic_pwd.c:269,13'
          Dst:             strcmp
        - Src:             'gic_pwd.c:272,22'
          Dst:             dgettext
        - Src:             'gic_pwd.c:272,51'
          Dst:             error_message
        - Src:             'gic_pwd.c:271,13'
          Dst:             snprintf
        - Src:             'gic_pwd.c:276,22'
          Dst:             dgettext
        - Src:             'gic_pwd.c:276,51'
          Dst:             error_message
        - Src:             'gic_pwd.c:275,13'
          Dst:             snprintf
        - Src:             'gic_pwd.c:282,24'
          Dst:             krb5_change_password
        - Src:             'gic_pwd.c:307,17'
          Dst:             krb5_chpw_message
        - Src:             'gic_pwd.c:313,36'
          Dst:             strlen
        - Src:             'gic_pwd.c:317,22'
          Dst:             dgettext
        - Src:             'gic_pwd.c:316,13'
          Dst:             snprintf
        - Src:             'gic_pwd.c:332,5'
          Dst:             krb5int_trace
        - Src:             'gic_pwd.c:334,11'
          Dst:             k5_get_init_creds
        - Src:             'gic_pwd.c:334,11'
          Dst:             krb5_get_as_key_password
        - Src:             'gic_pwd.c:342,5'
          Dst:             zapfree
        - Src:             'gic_pwd.c:345,5'
          Dst:             krb5_free_cred_contents
        - Src:             'gic_pwd.c:347,9'
          Dst:             krb5_free_kdc_rep
    - functionName:    krb5_init_creds_set_password
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gic_pwd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          76
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strdup
        - string2data
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'gic_pwd.c:124,9'
          Dst:             strdup
        - Src:             'gic_pwd.c:128,5'
          Dst:             zapfree
        - Src:             'gic_pwd.c:129,26'
          Dst:             string2data
    - functionName:    krb5_kdc_rep_decrypt_proc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/kdc_rep_dc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          112
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - decode_krb5_enc_kdc_rep_part
        - krb5_c_decrypt
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'kdc_rep_dc.c:59,19'
          Dst:             krb5_c_decrypt
        - Src:             'kdc_rep_dc.c:69,14'
          Dst:             decode_krb5_enc_kdc_rep_part
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_add_empty_pa_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/padata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - empty_data
        - k5_add_pa_data_from_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'padata.c:124,23'
          Dst:             empty_data
        - Src:             'padata.c:126,12'
          Dst:             k5_add_pa_data_from_data
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    k5_add_pa_data_from_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/padata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          76
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - empty_data
        - k5_add_pa_data_element
        - k5_alloc_pa_data
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'padata.c:107,11'
          Dst:             k5_alloc_pa_data
        - Src:             'padata.c:112,11'
          Dst:             k5_add_pa_data_element
        - Src:             'padata.c:117,13'
          Dst:             empty_data
    - functionName:    k5_alloc_pa_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/padata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          83
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_add_pa_data_element
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/padata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          85
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'padata.c:90,15'
          Dst:             realloc
    - functionName:    k5_free_pa_data_element
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/padata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_find_pa_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/padata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          60
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    krb5_principal2salt_norealm
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pr_to_salt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - principal2salt_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'pr_to_salt.c:81,12'
          Dst:             principal2salt_internal
    - functionName:    principal2salt_internal
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pr_to_salt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          214
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - alloc_data
        - empty_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'pr_to_salt.c:43,12'
          Dst:             empty_data
        - Src:             'pr_to_salt.c:53,9'
          Dst:             alloc_data
    - functionName:    krb5_principal2salt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/pr_to_salt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - principal2salt_internal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'pr_to_salt.c:74,12'
          Dst:             principal2salt_internal
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    k5memdup
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2300
      functionLinenumberEnd: 2305
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2301,17'
          Dst:             k5alloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    tgs_construct_ap_req
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/send_tgs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          158
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - decode_krb5_ticket
        - encode_krb5_ap_req
        - encode_krb5_authenticator
        - krb5_c_make_checksum
        - krb5_encrypt_helper
        - krb5_free_data_contents
        - krb5_free_ticket
        - krb5_us_timeofday
        - zapfree
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'send_tgs.c:70,11'
          Dst:             krb5_c_make_checksum
        - Src:             'send_tgs.c:82,11'
          Dst:             krb5_us_timeofday
        - Src:             'send_tgs.c:85,11'
          Dst:             encode_krb5_authenticator
        - Src:             'send_tgs.c:88,11'
          Dst:             krb5_encrypt_helper
        - Src:             'send_tgs.c:94,11'
          Dst:             decode_krb5_ticket
        - Src:             'send_tgs.c:101,11'
          Dst:             encode_krb5_ap_req
        - Src:             'send_tgs.c:105,5'
          Dst:             krb5_free_ticket
        - Src:             'send_tgs.c:106,5'
          Dst:             krb5_free_data_contents
        - Src:             'send_tgs.c:108,9'
          Dst:             zapfree
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_make_tgs_req
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/send_tgs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         90
      ICount:          710
      EdgeCount:       123
      CyclomaticComplexity: 35
      functionsReached:
        - decode_krb5_ticket
        - empty_data
        - encode_krb5_authdata
        - encode_krb5_tgs_req
        - k5_generate_nonce
        - k5alloc
        - k5calloc
        - k5memdup
        - krb5_c_valid_enctype
        - krb5_encrypt_helper
        - krb5_free_data
        - krb5_free_data_contents
        - krb5_free_keyblock
        - krb5_free_pa_data
        - krb5_free_ticket
        - krb5_generate_subkey
        - krb5_get_tgs_ktypes
        - krb5_principal_compare
        - krb5_timeofday
        - krb5int_fast_prep_req
        - krb5int_fast_prep_req_body
        - krb5int_fast_tgs_armor
        - krb5int_trace
        - tgs_construct_ap_req
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'send_tgs.c:140,21'
          Dst:             empty_data
        - Src:             'send_tgs.c:148,10'
          Dst:             krb5_principal_compare
        - Src:             'send_tgs.c:161,11'
          Dst:             k5_generate_nonce
        - Src:             'send_tgs.c:165,11'
          Dst:             krb5_timeofday
        - Src:             'send_tgs.c:173,11'
          Dst:             krb5_generate_subkey
        - Src:             'send_tgs.c:176,5'
          Dst:             krb5int_trace
        - Src:             'send_tgs.c:178,11'
          Dst:             krb5int_fast_tgs_armor
        - Src:             'send_tgs.c:184,15'
          Dst:             encode_krb5_authdata
        - Src:             'send_tgs.c:187,15'
          Dst:             krb5_encrypt_helper
        - Src:             'send_tgs.c:196,14'
          Dst:             krb5_c_valid_enctype
        - Src:             'send_tgs.c:206,15'
          Dst:             krb5_get_tgs_ktypes
        - Src:             'send_tgs.c:213,5'
          Dst:             krb5int_trace
        - Src:             'send_tgs.c:220,15'
          Dst:             decode_krb5_ticket
        - Src:             'send_tgs.c:229,11'
          Dst:             krb5int_fast_prep_req_body
        - Src:             'send_tgs.c:234,11'
          Dst:             tgs_construct_ap_req
        - Src:             'send_tgs.c:242,14'
          Dst:             k5calloc
        - Src:             'send_tgs.c:245,17'
          Dst:             k5alloc
        - Src:             'send_tgs.c:249,27'
          Dst:             k5memdup
        - Src:             'send_tgs.c:257,14'
          Dst:             k5alloc
        - Src:             'send_tgs.c:262,24'
          Dst:             k5memdup
        - Src:             'send_tgs.c:279,11'
          Dst:             krb5int_fast_prep_req
        - Src:             'send_tgs.c:279,11'
          Dst:             encode_krb5_tgs_req
        - Src:             'send_tgs.c:291,5'
          Dst:             krb5_free_data
        - Src:             'send_tgs.c:292,5'
          Dst:             krb5_free_data
        - Src:             'send_tgs.c:293,5'
          Dst:             krb5_free_data
        - Src:             'send_tgs.c:294,5'
          Dst:             krb5_free_pa_data
        - Src:             'send_tgs.c:295,5'
          Dst:             krb5_free_ticket
        - Src:             'send_tgs.c:296,5'
          Dst:             krb5_free_data_contents
        - Src:             'send_tgs.c:297,5'
          Dst:             krb5_free_keyblock
    - functionName:    k5_generate_nonce
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/send_tgs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_c_random_make_octets
        - load_32_n
        - make_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'send_tgs.c:37,29'
          Dst:             make_data
        - Src:             'send_tgs.c:43,11'
          Dst:             krb5_c_random_make_octets
        - Src:             'send_tgs.c:46,25'
          Dst:             load_32_n
    - functionName:    load_32_n
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 737
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_deltat_to_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/str_conv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          109
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - snprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'str_conv.c:272,9'
          Dst:             snprintf
        - Src:             'str_conv.c:274,9'
          Dst:             snprintf
        - Src:             'str_conv.c:278,9'
          Dst:             snprintf
    - functionName:    krb5_timestamp_to_sfstring
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/str_conv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          129
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - localtime_r
        - strftime
        - ts2tt
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'str_conv.c:221,25'
          Dst:             ts2tt
        - Src:             'str_conv.c:238,11'
          Dst:             localtime_r
        - Src:             'str_conv.c:240,16'
          Dst:             __errno_location
        - Src:             'str_conv.c:243,22'
          Dst:             strftime
    - functionName:    ts2tt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2339
      functionLinenumberEnd: 2340
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    localtime_r
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strftime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_timestamp_to_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/str_conv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          64
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - localtime_r
        - strftime
        - ts2tt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'str_conv.c:202,25'
          Dst:             ts2tt
        - Src:             'str_conv.c:207,9'
          Dst:             localtime_r
        - Src:             'str_conv.c:209,11'
          Dst:             strftime
    - functionName:    krb5_string_to_timestamp
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/str_conv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          145
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - __ctype_b_loc
        - localtime_r
        - mktime
        - strptime
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'str_conv.c:171,11'
          Dst:             time
        - Src:             'str_conv.c:172,9'
          Dst:             localtime_r
        - Src:             'str_conv.c:180,18'
          Dst:             strptime
        - Src:             'str_conv.c:183,30'
          Dst:             __ctype_b_loc
        - Src:             'str_conv.c:188,24'
          Dst:             mktime
    - functionName:    strptime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mktime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_salttype_to_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/str_conv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          85
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - krb5int_strlcpy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'str_conv.c:108,13'
          Dst:             krb5int_strlcpy
    - functionName:    krb5_string_to_salttype
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/str_conv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          63
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - strcasecmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'str_conv.c:79,14'
          Dst:             strcasecmp
    - functionName:    ucdata_reload
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1298
      functionLinenumberEnd: 1298
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ucdata_unload
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1297
      functionLinenumberEnd: 1297
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ucdata_load
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1296
      functionLinenumberEnd: 1296
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ucgetdigit
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1274
      functionLinenumberEnd: 1286
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ucdigit_lookup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ucdata.c:1284,12'
          Dst:             ucdigit_lookup
    - functionName:    ucdigit_lookup
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1226
      functionLinenumberEnd: 1253
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          99
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ucgetnumber
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1257
      functionLinenumberEnd: 1269
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ucnumber_lookup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ucdata.c:1267,12'
          Dst:             ucnumber_lookup
    - functionName:    ucnumber_lookup
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1197
      functionLinenumberEnd: 1222
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          93
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uccompatdecomp
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1010
      functionLinenumberEnd: 1011
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uccanoncompatdecomp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ucdata.c:1011,12'
          Dst:             uccanoncompatdecomp
    - functionName:    uccanoncompatdecomp
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 934
      functionLinenumberEnd: 998
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         65
      ICount:          489
      EdgeCount:       85
      CyclomaticComplexity: 22
      functionsReached:
        - realloc
        - uccombining_class
        - ucdecomp
        - ucdecomp_hangul
        - uckdecomp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ucdata.c:946,13'
          Dst:             uckdecomp
        - Src:             'ucdata.c:946,47'
          Dst:             ucdecomp
        - Src:             'ucdata.c:949,38'
          Dst:             realloc
        - Src:             'ucdata.c:954,25'
          Dst:             uccombining_class
        - Src:             'ucdata.c:959,38'
          Dst:             uccombining_class
        - Src:             'ucdata.c:966,20'
          Dst:             ucdecomp_hangul
        - Src:             'ucdata.c:969,38'
          Dst:             realloc
        - Src:             'ucdata.c:980,38'
          Dst:             realloc
        - Src:             'ucdata.c:984,21'
          Dst:             uccombining_class
        - Src:             'ucdata.c:989,34'
          Dst:             uccombining_class
    - functionName:    uckdecomp
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 885
      functionLinenumberEnd: 913
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          116
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ucdecomp
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 853
      functionLinenumberEnd: 881
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          116
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uccombining_class
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1090
      functionLinenumberEnd: 1107
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          98
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ucdecomp_hangul
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 917
      functionLinenumberEnd: 928
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uccanondecomp
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1004
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - uccanoncompatdecomp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ucdata.c:1004,12'
          Dst:             uccanoncompatdecomp
    - functionName:    uccanoncomp
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 693
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          132
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - uccombining_class
        - uccomp
        - uccomp_hangul
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ucdata.c:676,14'
          Dst:             uccombining_class
        - Src:             'ucdata.c:680,14'
          Dst:             uccombining_class
        - Src:             'ucdata.c:681,13'
          Dst:             uccomp
        - Src:             'ucdata.c:693,12'
          Dst:             uccomp_hangul
    - functionName:    uccomp
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 591
      functionLinenumberEnd: 614
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          117
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uccomp_hangul
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 618
      functionLinenumberEnd: 664
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          158
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uctotitle
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 501
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _uccase_lookup
        - ucisprop
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ucdata.c:479,9'
          Dst:             ucisprop
        - Src:             'ucdata.c:487,9'
          Dst:             ucisprop
        - Src:             'ucdata.c:500,12'
          Dst:             _uccase_lookup
    - functionName:    ucisprop
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          157
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - _ucprop_lookup
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'ucdata.c:292,37'
          Dst:             _ucprop_lookup
        - Src:             'ucdata.c:297,42'
          Dst:             _ucprop_lookup
    - functionName:    _uccase_lookup
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 394
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - size_t
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          85
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ucprop_lookup
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 281
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          154
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    uctolower
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 448
      functionLinenumberEnd: 471
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _uccase_lookup
        - ucisprop
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ucdata.c:452,9'
          Dst:             ucisprop
        - Src:             'ucdata.c:455,9'
          Dst:             ucisprop
        - Src:             'ucdata.c:470,12'
          Dst:             _uccase_lookup
    - functionName:    uctoupper
      functionSourceFile: '/src/krb5/src/lib/krb5/unicode/ucdata.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _uccase_lookup
        - ucisprop
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ucdata.c:425,9'
          Dst:             ucisprop
        - Src:             'ucdata.c:428,9'
          Dst:             ucisprop
        - Src:             'ucdata.c:443,12'
          Dst:             _uccase_lookup
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ss2sin6
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ss2sin
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ss2sa
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    kpasswd_sendto_msg_cleanup
      functionSourceFile: '/src/krb5/src/lib/krb5/os/changepw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_free_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'changepw.c:105,5'
          Dst:             krb5_free_data_contents
    - functionName:    kpasswd_sendto_msg_callback
      functionSourceFile: '/src/krb5/src/lib/krb5/os/changepw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          250
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached:
        - __errno_location
        - getsockname
        - krb5_auth_con_setaddrs
        - krb5_free_addresses
        - krb5_os_localaddr
        - krb5int_mk_chpw_req
        - krb5int_mk_setpw_req
        - memcmp
        - ss2sa
        - ss2sin
        - ss2sin6
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'changepw.c:127,25'
          Dst:             ss2sa
        - Src:             'changepw.c:127,9'
          Dst:             getsockname
        - Src:             'changepw.c:128,16'
          Dst:             __errno_location
        - Src:             'changepw.c:136,9'
          Dst:             ss2sin
        - Src:             'changepw.c:139,48'
          Dst:             ss2sin
        - Src:             'changepw.c:141,23'
          Dst:             ss2sin6
        - Src:             'changepw.c:141,16'
          Dst:             memcmp
        - Src:             'changepw.c:145,48'
          Dst:             ss2sin6
        - Src:             'changepw.c:153,16'
          Dst:             krb5_os_localaddr
        - Src:             'changepw.c:166,17'
          Dst:             krb5_auth_con_setaddrs
        - Src:             'changepw.c:174,16'
          Dst:             krb5int_mk_setpw_req
        - Src:             'changepw.c:181,16'
          Dst:             krb5int_mk_chpw_req
        - Src:             'changepw.c:193,5'
          Dst:             krb5_free_addresses
    - functionName:    getsockname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    locate_kpasswd
      functionSourceFile: '/src/krb5/src/lib/krb5/os/changepw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          156
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - htons
        - k5_locate_server
        - ss2sin
        - ss2sin6
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'changepw.c:66,12'
          Dst:             k5_locate_server
        - Src:             'changepw.c:69,16'
          Dst:             k5_locate_server
        - Src:             'changepw.c:83,50'
          Dst:             htons
        - Src:             'changepw.c:83,21'
          Dst:             ss2sin
        - Src:             'changepw.c:85,52'
          Dst:             htons
        - Src:             'changepw.c:85,21'
          Dst:             ss2sin6
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    krb5_set_password_using_ccache
      functionSourceFile: '/src/krb5/src/lib/krb5/os/changepw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 384
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          126
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - empty_data
        - krb5_build_principal
        - krb5_cc_get_principal
        - krb5_free_cred_contents
        - krb5_free_creds
        - krb5_get_credentials
        - krb5_set_password
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'changepw.c:356,22'
          Dst:             empty_data
        - Src:             'changepw.c:358,31'
          Dst:             empty_data
        - Src:             'changepw.c:367,12'
          Dst:             krb5_cc_get_principal
        - Src:             'changepw.c:369,16'
          Dst:             krb5_build_principal
        - Src:             'changepw.c:374,20'
          Dst:             krb5_get_credentials
        - Src:             'changepw.c:376,24'
          Dst:             krb5_set_password
        - Src:             'changepw.c:379,17'
          Dst:             krb5_free_creds
        - Src:             'changepw.c:382,9'
          Dst:             krb5_free_cred_contents
    - functionName:    krb5_set_password
      functionSourceFile: '/src/krb5/src/lib/krb5/os/changepw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - change_set_password
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'changepw.c:338,12'
          Dst:             change_set_password
    - functionName:    change_set_password
      functionSourceFile: '/src/krb5/src/lib/krb5/os/changepw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          294
      EdgeCount:       45
      CyclomaticComplexity: 14
      functionsReached:
        - empty_data
        - k5_free_serverlist
        - k5_sendto
        - krb5_auth_con_free
        - krb5_auth_con_init
        - krb5_chpw_result_code_string
        - krb5_free_data_contents
        - krb5_mk_req_extended
        - krb5int_rd_chpw_rep
        - locate_kpasswd
        - ss2sa
        - strlen
        - strncpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'changepw.c:224,22'
          Dst:             empty_data
        - Src:             'changepw.c:226,31'
          Dst:             empty_data
        - Src:             'changepw.c:234,17'
          Dst:             krb5_auth_con_init
        - Src:             'changepw.c:238,17'
          Dst:             krb5_mk_req_extended
        - Src:             'changepw.c:249,12'
          Dst:             locate_kpasswd
        - Src:             'changepw.c:258,5'
          Dst:             krb5_free_data_contents
        - Src:             'changepw.c:264,22'
          Dst:             ss2sa
        - Src:             'changepw.c:262,12'
          Dst:             k5_sendto
        - Src:             'changepw.c:268,26'
          Dst:             ss2sa
        - Src:             'changepw.c:266,16'
          Dst:             k5_sendto
        - Src:             'changepw.c:273,12'
          Dst:             krb5int_rd_chpw_rep
        - Src:             'changepw.c:285,16'
          Dst:             krb5_chpw_result_code_string
        - Src:             'changepw.c:291,38'
          Dst:             strlen
        - Src:             'changepw.c:297,9'
          Dst:             strncpy
        - Src:             'changepw.c:302,9'
          Dst:             krb5_auth_con_free
        - Src:             'changepw.c:304,5'
          Dst:             k5_free_serverlist
        - Src:             'changepw.c:305,5'
          Dst:             krb5_free_data_contents
        - Src:             'changepw.c:306,5'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_change_password
      functionSourceFile: '/src/krb5/src/lib/krb5/os/changepw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 320
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - change_set_password
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'changepw.c:319,12'
          Dst:             change_set_password
    - functionName:    make_addr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localaddr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1142
      functionLinenumberEnd: 1160
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          70
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_addr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localaddr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1165
      functionLinenumberEnd: 1223
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          127
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - htonl
        - make_addr
        - sa2sin
        - sa2sin6
      functionUses:    1
      BranchProfiles:
        - Branch String:   'localaddr.c:1169,5'
          Branch Sides:    []
      Callsites:
        - Src:             'localaddr.c:1173,31'
          Dst:             sa2sin
        - Src:             'localaddr.c:1172,19'
          Dst:             make_addr
        - Src:             'localaddr.c:1180,41'
          Dst:             sa2sin6
        - Src:             'localaddr.c:1182,13'
          Dst:             htonl
        - Src:             'localaddr.c:1182,13'
          Dst:             htonl
        - Src:             'localaddr.c:1185,19'
          Dst:             make_addr
    - functionName:    sa2sin
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sa2sin6
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    allocate
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localaddr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1121
      functionLinenumberEnd: 1137
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          97
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localaddr.c:1126,9'
          Dst:             realloc
    - functionName:    count_addrs
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localaddr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1102
      functionLinenumberEnd: 1115
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       10
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'localaddr.c:1104,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    krb5_os_localaddr_profile
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localaddr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1228
      functionLinenumberEnd: 1309
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         53
      ICount:          342
      EdgeCount:       69
      CyclomaticComplexity: 18
      functionsReached:
        - __ctype_b_loc
        - k5_os_hostaddr
        - profile_get_values
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localaddr.c:1241,11'
          Dst:             profile_get_values
        - Src:             'localaddr.c:1255,20'
          Dst:             __ctype_b_loc
        - Src:             'localaddr.c:1264,33'
          Dst:             __ctype_b_loc
        - Src:             'localaddr.c:1276,19'
          Dst:             k5_os_hostaddr
        - Src:             'localaddr.c:1292,26'
          Dst:             realloc
    - functionName:    get_localaddrs
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localaddr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1319
      functionLinenumberEnd: 1405
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          156
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - add_addr
        - allocate
        - count_addrs
        - krb5_os_localaddr_profile
        - krb5int_foreach_localaddr
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localaddr.c:1325,15'
          Dst:             krb5_os_localaddr_profile
        - Src:             'localaddr.c:1327,9'
          Dst:             krb5int_foreach_localaddr
        - Src:             'localaddr.c:1327,9'
          Dst:             count_addrs
        - Src:             'localaddr.c:1327,9'
          Dst:             allocate
        - Src:             'localaddr.c:1327,9'
          Dst:             add_addr
        - Src:             'localaddr.c:1349,35'
          Dst:             realloc
    - functionName:    krb5int_foreach_localaddr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localaddr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 481
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          263
      EdgeCount:       67
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - addr_eq
        - freeifaddrs
        - getifaddrs
        - is_loopback_address
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'localaddr.c:428,9'
          Dst:             getifaddrs
        - Src:             'localaddr.c:429,16'
          Dst:             __errno_location
        - Src:             'localaddr.c:448,13'
          Dst:             is_loopback_address
        - Src:             'localaddr.c:459,17'
          Dst:             addr_eq
        - Src:             'localaddr.c:479,5'
          Dst:             freeifaddrs
    - functionName:    getifaddrs
      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:    is_loopback_address
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localaddr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          97
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - htonl
        - sa2sin
        - sa2sin6
      functionUses:    1
      BranchProfiles:
        - Branch String:   'localaddr.c:182,5'
          Branch Sides:    []
      Callsites:
        - Src:             'localaddr.c:184,16'
          Dst:             sa2sin
        - Src:             'localaddr.c:184,47'
          Dst:             htonl
        - Src:             'localaddr.c:186,16'
          Dst:             sa2sin6
        - Src:             'localaddr.c:186,16'
          Dst:             htonl
    - functionName:    addr_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localaddr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          77
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - memcmp
        - sa2sin
        - sa2sin6
      functionUses:    1
      BranchProfiles:
        - Branch String:   'localaddr.c:242,5'
          Branch Sides:    []
      Callsites:
        - Src:             'localaddr.c:244,25'
          Dst:             sa2sin
        - Src:             'localaddr.c:244,48'
          Dst:             sa2sin
        - Src:             'localaddr.c:244,17'
          Dst:             memcmp
        - Src:             'localaddr.c:247,25'
          Dst:             sa2sin6
        - Src:             'localaddr.c:247,50'
          Dst:             sa2sin6
        - Src:             'localaddr.c:247,17'
          Dst:             memcmp
    - functionName:    freeifaddrs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_os_localaddr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/localaddr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1313
      functionLinenumberEnd: 1314
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_localaddrs
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'localaddr.c:1314,12'
          Dst:             get_localaddrs
    - functionName:    service_dispatch
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1076
      functionLinenumberEnd: 1096
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          126
      EdgeCount:       37
      CyclomaticComplexity: 20
      functionsReached:
        - __assert_fail
        - abort
        - kill_conn
      functionUses:    1
      BranchProfiles:
        - Branch String:   'sendto_kdc.c:1083,5'
          Branch Sides:    []
      Callsites:
        - Src:             'sendto_kdc.c:1079,9'
          Dst:             kill_conn
        - Src:             'sendto_kdc.c:1085,9'
          Dst:             __assert_fail
        - Src:             'sendto_kdc.c:1088,9'
          Dst:             __assert_fail
        - Src:             'sendto_kdc.c:1091,9'
          Dst:             __assert_fail
        - Src:             'sendto_kdc.c:1094,9'
          Dst:             abort
    - functionName:    kill_conn
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1041
      functionLinenumberEnd: 1051
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          70
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - close
        - cm_remove_fd
        - free_http_tls_data
        - krb5int_trace
        - socktype_for_transport
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1042,5'
          Dst:             free_http_tls_data
        - Src:             'sendto_kdc.c:1044,9'
          Dst:             socktype_for_transport
        - Src:             'sendto_kdc.c:1045,9'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1046,5'
          Dst:             cm_remove_fd
        - Src:             'sendto_kdc.c:1048,5'
          Dst:             close
    - functionName:    free_http_tls_data
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    socktype_for_transport
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 382
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          36
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   'sendto_kdc.c:383,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    cm_remove_fd
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - find_pollfd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:232,26'
          Dst:             find_pollfd
    - functionName:    find_pollfd
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - abort
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:209,5'
          Dst:             abort
    - functionName:    cm_get_ssflags
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          81
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - find_pollfd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:256,26'
          Dst:             find_pollfd
    - functionName:    cm_select_or_poll
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          97
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - get_curtime_ms
        - poll
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:352,18'
          Dst:             get_curtime_ms
        - Src:             'sendto_kdc.c:365,13'
          Dst:             poll
        - Src:             'sendto_kdc.c:377,26'
          Dst:             __errno_location
    - functionName:    get_curtime_ms
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - gettimeofday
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:181,9'
          Dst:             gettimeofday
        - Src:             'sendto_kdc.c:182,16'
          Dst:             __errno_location
    - functionName:    poll
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    any_tcp_connections
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1390
      functionLinenumberEnd: 1399
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          66
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    make_proxy_request
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 606
      functionLinenumberEnd: 655
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          153
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - alloc_data
        - encode_krb5_kkdcp_message
        - k5_buf_add
        - k5_buf_add_fmt
        - k5_buf_add_len
        - k5_buf_init_dynamic
        - k5_buf_status
        - krb5_free_data
        - krb5_free_data_contents
        - store_32_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:622,11'
          Dst:             alloc_data
        - Src:             'sendto_kdc.c:625,5'
          Dst:             store_32_be
        - Src:             'sendto_kdc.c:628,11'
          Dst:             encode_krb5_kkdcp_message
        - Src:             'sendto_kdc.c:633,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'sendto_kdc.c:635,5'
          Dst:             k5_buf_add_fmt
        - Src:             'sendto_kdc.c:636,5'
          Dst:             k5_buf_add_fmt
        - Src:             'sendto_kdc.c:638,5'
          Dst:             k5_buf_add
        - Src:             'sendto_kdc.c:639,5'
          Dst:             k5_buf_add
        - Src:             'sendto_kdc.c:640,5'
          Dst:             k5_buf_add
        - Src:             'sendto_kdc.c:641,5'
          Dst:             k5_buf_add
        - Src:             'sendto_kdc.c:642,5'
          Dst:             k5_buf_add_fmt
        - Src:             'sendto_kdc.c:643,5'
          Dst:             k5_buf_add_len
        - Src:             'sendto_kdc.c:644,9'
          Dst:             k5_buf_status
        - Src:             'sendto_kdc.c:653,5'
          Dst:             krb5_free_data_contents
        - Src:             'sendto_kdc.c:654,5'
          Dst:             krb5_free_data
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cm_add_fd
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          50
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_transport_message
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 663
      functionLinenumberEnd: 694
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          212
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - make_proxy_request
        - store_32_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:673,9'
          Dst:             store_32_be
        - Src:             'sendto_kdc.c:679,15'
          Dst:             make_proxy_request
    - functionName:    socket_connect
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/port-sockets.h'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - connect
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/port-sockets.h:232,10'
          Dst:             connect
    - functionName:    start_connection
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 889
      functionLinenumberEnd: 990
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         62
      ICount:          419
      EdgeCount:       80
      CyclomaticComplexity: 20
      functionsReached:
        - __errno_location
        - close
        - cm_add_fd
        - cm_read
        - cm_write
        - fcntl
        - ioctl
        - krb5int_trace
        - send
        - set_transport_message
        - setsockopt
        - socket
        - socket_connect
        - socktype_for_transport
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:894,12'
          Dst:             socktype_for_transport
        - Src:             'sendto_kdc.c:895,10'
          Dst:             socket
        - Src:             'sendto_kdc.c:898,5'
          Dst:             fcntl
        - Src:             'sendto_kdc.c:900,5'
          Dst:             ioctl
        - Src:             'sendto_kdc.c:902,9'
          Dst:             setsockopt
        - Src:             'sendto_kdc.c:903,9'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:907,9'
          Dst:             socket_connect
        - Src:             'sendto_kdc.c:914,13'
          Dst:             __errno_location
        - Src:             'sendto_kdc.c:914,44'
          Dst:             __errno_location
        - Src:             'sendto_kdc.c:918,20'
          Dst:             close
        - Src:             'sendto_kdc.c:941,20'
          Dst:             close
        - Src:             'sendto_kdc.c:950,9'
          Dst:             set_transport_message
        - Src:             'sendto_kdc.c:952,9'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:953,16'
          Dst:             close
        - Src:             'sendto_kdc.c:964,9'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:965,15'
          Dst:             send
        - Src:             'sendto_kdc.c:967,13'
          Dst:             __errno_location
        - Src:             'sendto_kdc.c:967,13'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:969,20'
          Dst:             close
        - Src:             'sendto_kdc.c:978,10'
          Dst:             cm_add_fd
        - Src:             'sendto_kdc.c:979,16'
          Dst:             close
        - Src:             'sendto_kdc.c:985,9'
          Dst:             cm_write
        - Src:             'sendto_kdc.c:987,9'
          Dst:             cm_read
    - functionName:    ioctl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setsockopt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    send
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cm_write
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - find_pollfd
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:249,5'
          Dst:             find_pollfd
    - functionName:    cm_read
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - find_pollfd
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:242,5'
          Dst:             find_pollfd
    - functionName:    https_read_bytes
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1296
      functionLinenumberEnd: 1339
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          243
      EdgeCount:       48
      CyclomaticComplexity: 13
      functionsReached:
        - cm_read
        - cm_write
        - kill_conn
        - krb5int_trace
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1306,17'
          Dst:             kill_conn
        - Src:             'sendto_kdc.c:1309,19'
          Dst:             realloc
        - Src:             'sendto_kdc.c:1311,17'
          Dst:             kill_conn
        - Src:             'sendto_kdc.c:1331,9'
          Dst:             cm_read
        - Src:             'sendto_kdc.c:1333,9'
          Dst:             cm_write
        - Src:             'sendto_kdc.c:1335,9'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1336,9'
          Dst:             kill_conn
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    init_tls_vtable
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          86
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - k5_plugin_load
        - k5_plugin_register_dyn
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:158,20'
          Dst:             calloc
        - Src:             'sendto_kdc.c:163,5'
          Dst:             k5_plugin_register_dyn
        - Src:             'sendto_kdc.c:164,11'
          Dst:             k5_plugin_load
        - Src:             'sendto_kdc.c:168,9'
          Dst:             krb5int_trace
    - functionName:    setup_tls
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1223
      functionLinenumberEnd: 1257
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          162
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - init_tls_vtable
        - k5memdup0
        - krb5int_trace
        - profile_free_list
        - profile_get_values
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1229,9'
          Dst:             init_tls_vtable
        - Src:             'sendto_kdc.c:1232,16'
          Dst:             k5memdup0
        - Src:             'sendto_kdc.c:1241,11'
          Dst:             profile_get_values
        - Src:             'sendto_kdc.c:1247,9'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1255,5'
          Dst:             profile_free_list
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    socket_sendmsg
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/port-sockets.h'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sendmsg
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/port-sockets.h:263,12'
          Dst:             sendmsg
    - functionName:    get_so_error
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1056
      functionLinenumberEnd: 1069
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - getsockopt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1062,9'
          Dst:             getsockopt
        - Src:             'sendto_kdc.c:1065,13'
          Dst:             __errno_location
    - functionName:    getsockopt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    service_udp_read
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1206
      functionLinenumberEnd: 1217
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          81
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - kill_conn
        - krb5int_trace
        - recv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1209,13'
          Dst:             recv
        - Src:             'sendto_kdc.c:1211,9'
          Dst:             __errno_location
        - Src:             'sendto_kdc.c:1211,9'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1212,9'
          Dst:             kill_conn
    - functionName:    recv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    service_https_read
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1345
      functionLinenumberEnd: 1385
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          179
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - decode_krb5_kkdcp_message
        - https_read_bytes
        - k5_free_kkdcp_message
        - kill_conn
        - krb5int_trace
        - load_32_be
        - make_data
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1352,10'
          Dst:             https_read_bytes
        - Src:             'sendto_kdc.c:1356,11'
          Dst:             strstr
        - Src:             'sendto_kdc.c:1362,11'
          Dst:             make_data
        - Src:             'sendto_kdc.c:1363,9'
          Dst:             decode_krb5_kkdcp_message
        - Src:             'sendto_kdc.c:1369,9'
          Dst:             load_32_be
        - Src:             'sendto_kdc.c:1376,5'
          Dst:             k5_free_kkdcp_message
        - Src:             'sendto_kdc.c:1381,5'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1382,5'
          Dst:             k5_free_kkdcp_message
        - Src:             'sendto_kdc.c:1383,5'
          Dst:             kill_conn
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    service_https_write
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1263
      functionLinenumberEnd: 1289
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          182
      EdgeCount:       39
      CyclomaticComplexity: 10
      functionsReached:
        - cm_read
        - cm_write
        - kill_conn
        - krb5int_trace
        - setup_tls
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1267,36'
          Dst:             setup_tls
        - Src:             'sendto_kdc.c:1268,9'
          Dst:             kill_conn
        - Src:             'sendto_kdc.c:1276,9'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1277,9'
          Dst:             cm_read
        - Src:             'sendto_kdc.c:1280,9'
          Dst:             cm_read
        - Src:             'sendto_kdc.c:1282,9'
          Dst:             cm_write
        - Src:             'sendto_kdc.c:1284,9'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1285,9'
          Dst:             kill_conn
    - functionName:    service_tcp_read
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1154
      functionLinenumberEnd: 1200
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          262
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - kill_conn
        - krb5int_trace
        - load_32_be
        - read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1161,17'
          Dst:             read
        - Src:             'sendto_kdc.c:1163,25'
          Dst:             __errno_location
        - Src:             'sendto_kdc.c:1164,13'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1165,13'
          Dst:             kill_conn
        - Src:             'sendto_kdc.c:1174,17'
          Dst:             read
        - Src:             'sendto_kdc.c:1177,25'
          Dst:             __errno_location
        - Src:             'sendto_kdc.c:1178,13'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1179,13'
          Dst:             kill_conn
        - Src:             'sendto_kdc.c:1184,33'
          Dst:             load_32_be
        - Src:             'sendto_kdc.c:1187,17'
          Dst:             kill_conn
        - Src:             'sendto_kdc.c:1194,17'
          Dst:             kill_conn
    - functionName:    service_tcp_write
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1120
      functionLinenumberEnd: 1148
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          195
      EdgeCount:       35
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - abort
        - cm_read
        - kill_conn
        - krb5int_trace
        - socket_sendmsg
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1124,5'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1125,16'
          Dst:             socket_sendmsg
        - Src:             'sendto_kdc.c:1127,9'
          Dst:             __errno_location
        - Src:             'sendto_kdc.c:1127,9'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1128,9'
          Dst:             kill_conn
        - Src:             'sendto_kdc.c:1134,13'
          Dst:             abort
        - Src:             'sendto_kdc.c:1144,9'
          Dst:             cm_read
    - functionName:    service_tcp_connect
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1102
      functionLinenumberEnd: 1114
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - get_so_error
        - kill_conn
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1104,13'
          Dst:             get_so_error
        - Src:             'sendto_kdc.c:1107,9'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1108,9'
          Dst:             kill_conn
    - functionName:    translate_ai_error
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 754
      functionLinenumberEnd: 794
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          83
      EdgeCount:       37
      CyclomaticComplexity: 20
      functionsReached:
        - __errno_location
      functionUses:    1
      BranchProfiles:
        - Branch String:   'sendto_kdc.c:755,5'
          Branch Sides:    []
      Callsites:
        - Src:             'sendto_kdc.c:788,16'
          Dst:             __errno_location
    - functionName:    add_connection
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 701
      functionLinenumberEnd: 750
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          256
      EdgeCount:       38
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - calloc
        - krb5int_strlcpy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:704,13'
          Dst:             calloc
        - Src:             'sendto_kdc.c:722,9'
          Dst:             __assert_fail
        - Src:             'sendto_kdc.c:728,9'
          Dst:             krb5int_strlcpy
    - functionName:    ss2sa
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    service_fds
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1407
      functionLinenumberEnd: 1471
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         56
      ICount:          307
      EdgeCount:       76
      CyclomaticComplexity: 22
      functionsReached:
        - any_tcp_connections
        - cm_get_ssflags
        - cm_select_or_poll
        - get_curtime_ms
        - kill_conn
        - make_data
        - service_dispatch
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1414,9'
          Dst:             get_curtime_ms
        - Src:             'sendto_kdc.c:1421,19'
          Dst:             any_tcp_connections
        - Src:             'sendto_kdc.c:1425,13'
          Dst:             cm_select_or_poll
        - Src:             'sendto_kdc.c:1433,29'
          Dst:             get_curtime_ms
        - Src:             'sendto_kdc.c:1445,23'
          Dst:             cm_get_ssflags
        - Src:             'sendto_kdc.c:1449,17'
          Dst:             service_dispatch
        - Src:             'sendto_kdc.c:1453,39'
          Dst:             make_data
        - Src:             'sendto_kdc.c:1456,25'
          Dst:             kill_conn
    - functionName:    maybe_send
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1001
      functionLinenumberEnd: 1036
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          156
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - krb5int_trace
        - send
        - start_connection
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1006,16'
          Dst:             start_connection
        - Src:             'sendto_kdc.c:1023,5'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1024,11'
          Dst:             send
        - Src:             'sendto_kdc.c:1026,9'
          Dst:             __errno_location
        - Src:             'sendto_kdc.c:1026,9'
          Dst:             krb5int_trace
    - functionName:    resolve_server
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 809
      functionLinenumberEnd: 882
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         66
      ICount:          440
      EdgeCount:       88
      CyclomaticComplexity: 24
      functionsReached:
        - add_connection
        - krb5int_freeaddrinfo
        - krb5int_getaddrinfo
        - krb5int_trace
        - snprintf
        - socktype_for_transport
        - ss2sa
        - translate_ai_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:837,26'
          Dst:             socktype_for_transport
        - Src:             'sendto_kdc.c:840,22'
          Dst:             ss2sa
        - Src:             'sendto_kdc.c:841,16'
          Dst:             add_connection
        - Src:             'sendto_kdc.c:847,24'
          Dst:             socktype_for_transport
        - Src:             'sendto_kdc.c:852,14'
          Dst:             snprintf
        - Src:             'sendto_kdc.c:855,5'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:856,11'
          Dst:             krb5int_getaddrinfo
        - Src:             'sendto_kdc.c:858,16'
          Dst:             translate_ai_error
        - Src:             'sendto_kdc.c:863,18'
          Dst:             add_connection
        - Src:             'sendto_kdc.c:874,30'
          Dst:             socktype_for_transport
        - Src:             'sendto_kdc.c:875,22'
          Dst:             add_connection
        - Src:             'sendto_kdc.c:880,5'
          Dst:             krb5int_freeaddrinfo
    - functionName:    cm_init_selstate
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_sendto_kdc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 571
      functionLinenumberEnd: 573
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_sendto_kdc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:572,12'
          Dst:             k5_sendto_kdc
    - functionName:    k5_sendto_kdc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 565
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          415
      EdgeCount:       89
      CyclomaticComplexity: 24
      functionsReached:
        - __assert_fail
        - check_for_svc_unavailable
        - dgettext
        - empty_data
        - k5_free_serverlist
        - k5_kdclist_add
        - k5_locate_kdc
        - k5_sendto
        - krb5_free_data
        - krb5_free_data_contents
        - krb5_set_error_message
        - krb5int_trace
        - profile_get_integer
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:455,23'
          Dst:             empty_data
        - Src:             'sendto_kdc.c:457,18'
          Dst:             empty_data
        - Src:             'sendto_kdc.c:472,5'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:476,18'
          Dst:             profile_get_integer
        - Src:             'sendto_kdc.c:498,14'
          Dst:             k5_locate_kdc
        - Src:             'sendto_kdc.c:520,14'
          Dst:             k5_sendto
        - Src:             'sendto_kdc.c:520,14'
          Dst:             check_for_svc_unavailable
        - Src:             'sendto_kdc.c:528,23'
          Dst:             dgettext
        - Src:             'sendto_kdc.c:527,13'
          Dst:             krb5_set_error_message
        - Src:             'sendto_kdc.c:541,13'
          Dst:             __assert_fail
        - Src:             'sendto_kdc.c:554,13'
          Dst:             empty_data
        - Src:             'sendto_kdc.c:558,18'
          Dst:             k5_kdclist_add
        - Src:             'sendto_kdc.c:561,5'
          Dst:             krb5_free_data
        - Src:             'sendto_kdc.c:562,5'
          Dst:             krb5_free_data_contents
        - Src:             'sendto_kdc.c:563,5'
          Dst:             k5_free_serverlist
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    check_for_svc_unavailable
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          85
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - decode_krb5_error
        - krb5_free_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:407,13'
          Dst:             decode_krb5_error
        - Src:             'sendto_kdc.c:409,13'
          Dst:             krb5_free_error
    - functionName:    k5_sendto
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1508
      functionLinenumberEnd: 1638
      functionDepth:   0
      returnType:      int
      argCount:        12
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         121
      ICount:          728
      EdgeCount:       160
      CyclomaticComplexity: 41
      functionsReached:
        - close
        - cm_init_selstate
        - empty_data
        - free_http_tls_data
        - get_curtime_ms
        - getpeername
        - krb5int_trace
        - make_data
        - maybe_send
        - resolve_server
        - service_fds
        - socktype_for_transport
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'sendto_kdc.c:1518,14'
          Dst:             empty_data
        - Src:             'sendto_kdc.c:1521,18'
          Dst:             get_curtime_ms
        - Src:             'sendto_kdc.c:1535,5'
          Dst:             cm_init_selstate
        - Src:             'sendto_kdc.c:1542,18'
          Dst:             resolve_server
        - Src:             'sendto_kdc.c:1551,17'
          Dst:             maybe_send
        - Src:             'sendto_kdc.c:1554,20'
          Dst:             service_fds
        - Src:             'sendto_kdc.c:1565,13'
          Dst:             maybe_send
        - Src:             'sendto_kdc.c:1568,16'
          Dst:             service_fds
        - Src:             'sendto_kdc.c:1574,16'
          Dst:             service_fds
        - Src:             'sendto_kdc.c:1582,17'
          Dst:             maybe_send
        - Src:             'sendto_kdc.c:1585,20'
          Dst:             service_fds
        - Src:             'sendto_kdc.c:1593,20'
          Dst:             service_fds
        - Src:             'sendto_kdc.c:1607,14'
          Dst:             make_data
        - Src:             'sendto_kdc.c:1613,15'
          Dst:             getpeername
        - Src:             'sendto_kdc.c:1614,5'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1620,17'
          Dst:             socktype_for_transport
        - Src:             'sendto_kdc.c:1621,17'
          Dst:             krb5int_trace
        - Src:             'sendto_kdc.c:1622,13'
          Dst:             close
        - Src:             'sendto_kdc.c:1623,13'
          Dst:             free_http_tls_data
    - functionName:    getpeername
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_set_kdc_recv_hook
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 430
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_set_kdc_send_hook
      functionSourceFile: '/src/krb5/src/lib/krb5/os/sendto_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 422
      functionLinenumberEnd: 425
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_set_time_offsets
      functionSourceFile: '/src/krb5/src/lib/krb5/os/toffset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          30
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_time_offsets
      functionSourceFile: '/src/krb5/src/lib/krb5/os/toffset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          46
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_use_natural_time
      functionSourceFile: '/src/krb5/src/lib/krb5/os/toffset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_set_debugging_time
      functionSourceFile: '/src/krb5/src/lib/krb5/os/toffset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          30
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ts_delta
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2347
      functionLinenumberEnd: 2348
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_set_real_time
      functionSourceFile: '/src/krb5/src/lib/krb5/os/toffset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          73
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_crypto_us_timeofday
        - ts_delta
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'toffset.c:47,14'
          Dst:             krb5_crypto_us_timeofday
        - Src:             'toffset.c:51,27'
          Dst:             ts_delta
    - functionName:    krb5_us_timeofday
      functionSourceFile: '/src/krb5/src/lib/krb5/os/ustime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          74
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_time_with_offset
        - krb5_crypto_us_timeofday
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ustime.c:77,16'
          Dst:             k5_time_with_offset
        - Src:             'ustime.c:80,16'
          Dst:             krb5_crypto_us_timeofday
    - functionName:    k5_time_with_offset
      functionSourceFile: '/src/krb5/src/lib/krb5/os/ustime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          88
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_crypto_us_timeofday
        - ts_incr
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ustime.c:47,14'
          Dst:             krb5_crypto_us_timeofday
        - Src:             'ustime.c:53,15'
          Dst:             ts_incr
        - Src:             'ustime.c:57,15'
          Dst:             ts_incr
        - Src:             'ustime.c:59,11'
          Dst:             ts_incr
    - functionName:    ts_incr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2364
      functionLinenumberEnd: 2365
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_set_authdata_context
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 442
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_get_authdata_context
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 435
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_get_subkey_enctype
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 426
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_get_checksum_func
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 414
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          22
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_set_checksum_func
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 406
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_getpermetypes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 396
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_copy_etypes
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:395,12'
          Dst:             k5_copy_etypes
    - functionName:    krb5_auth_con_setpermetypes
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 374
      functionLinenumberEnd: 385
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_copy_etypes
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:378,11'
          Dst:             k5_copy_etypes
    - functionName:    krb5_auth_con_getrcache
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_setrcache
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 358
      functionLinenumberEnd: 360
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_getflags
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_setflags
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_getivector
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_setivector
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_initivector
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_c_init_state
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:319,12'
          Dst:             krb5_c_init_state
    - functionName:    krb5_auth_con_getremoteseqnumber
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_getlocalseqnumber
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 304
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_set_safe_cksumtype
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_set_req_cksumtype
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_auth_con_getrecvsubkey_k
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 283
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_k_reference_key
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:281,5'
          Dst:             krb5_k_reference_key
    - functionName:    krb5_auth_con_getsendsubkey_k
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_k_reference_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:263,5'
          Dst:             krb5_k_reference_key
    - functionName:    krb5_auth_con_setrecvsubkey_k
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_k_free_key
        - krb5_k_reference_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:244,5'
          Dst:             krb5_k_free_key
        - Src:             'auth_con.c:246,5'
          Dst:             krb5_k_reference_key
    - functionName:    krb5_auth_con_setrecvsubkey
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_k_create_key
        - krb5_k_free_key
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:232,9'
          Dst:             krb5_k_free_key
        - Src:             'auth_con.c:235,16'
          Dst:             krb5_k_create_key
    - functionName:    krb5_auth_con_setsendsubkey_k
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_k_free_key
        - krb5_k_reference_key
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:222,5'
          Dst:             krb5_k_free_key
        - Src:             'auth_con.c:224,5'
          Dst:             krb5_k_reference_key
    - functionName:    krb5_auth_con_setsendsubkey
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_k_create_key
        - krb5_k_free_key
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:210,9'
          Dst:             krb5_k_free_key
        - Src:             'auth_con.c:213,16'
          Dst:             krb5_k_create_key
    - functionName:    krb5_auth_con_getrecvsubkey
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_k_key_keyblock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:272,16'
          Dst:             krb5_k_key_keyblock
    - functionName:    krb5_auth_con_getremotesubkey
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_auth_con_getrecvsubkey
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:203,12'
          Dst:             krb5_auth_con_getrecvsubkey
    - functionName:    krb5_auth_con_getsendsubkey
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_k_key_keyblock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:254,16'
          Dst:             krb5_k_key_keyblock
    - functionName:    krb5_auth_con_getlocalsubkey
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_auth_con_getsendsubkey
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:197,12'
          Dst:             krb5_auth_con_getsendsubkey
    - functionName:    krb5_auth_con_getkey_k
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_k_reference_key
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:189,5'
          Dst:             krb5_k_reference_key
    - functionName:    krb5_auth_con_getkey
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_k_key_keyblock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:180,16'
          Dst:             krb5_k_key_keyblock
    - functionName:    krb5_auth_con_setuseruserkey
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_k_create_key
        - krb5_k_free_key
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:172,9'
          Dst:             krb5_k_free_key
        - Src:             'auth_con.c:173,12'
          Dst:             krb5_k_create_key
    - functionName:    krb5_auth_con_setports
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          107
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - krb5_copy_addr
        - krb5_free_address
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:138,16'
          Dst:             krb5_free_address
        - Src:             'auth_con.c:140,16'
          Dst:             krb5_free_address
        - Src:             'auth_con.c:144,18'
          Dst:             krb5_copy_addr
        - Src:             'auth_con.c:151,18'
          Dst:             krb5_copy_addr
    - functionName:    krb5_auth_con_getaddrs
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          84
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - krb5_copy_addr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:119,18'
          Dst:             krb5_copy_addr
        - Src:             'auth_con.c:124,18'
          Dst:             krb5_copy_addr
    - functionName:    krb5_auth_con_setaddrs
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          107
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - krb5_copy_addr
        - krb5_free_address
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:90,16'
          Dst:             krb5_free_address
        - Src:             'auth_con.c:92,16'
          Dst:             krb5_free_address
        - Src:             'auth_con.c:96,18'
          Dst:             krb5_copy_addr
        - Src:             'auth_con.c:103,18'
          Dst:             krb5_copy_addr
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    krb5_auth_con_free
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          241
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - k5_memrcache_free
        - k5_rc_close
        - krb5_authdata_context_free
        - krb5_free_address
        - krb5_free_authenticator
        - krb5_k_free_key
        - zapfree
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:56,9'
          Dst:             krb5_free_address
        - Src:             'auth_con.c:58,9'
          Dst:             krb5_free_address
        - Src:             'auth_con.c:60,9'
          Dst:             krb5_free_address
        - Src:             'auth_con.c:62,9'
          Dst:             krb5_free_address
        - Src:             'auth_con.c:64,9'
          Dst:             krb5_free_authenticator
        - Src:             'auth_con.c:66,9'
          Dst:             krb5_k_free_key
        - Src:             'auth_con.c:68,9'
          Dst:             krb5_k_free_key
        - Src:             'auth_con.c:70,9'
          Dst:             krb5_k_free_key
        - Src:             'auth_con.c:71,5'
          Dst:             zapfree
        - Src:             'auth_con.c:73,9'
          Dst:             k5_rc_close
        - Src:             'auth_con.c:77,9'
          Dst:             krb5_authdata_context_free
        - Src:             'auth_con.c:78,5'
          Dst:             k5_memrcache_free
    - functionName:    krb5_auth_con_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/auth_con.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'auth_con.c:35,28'
          Dst:             calloc
    - functionName:    krb5_build_principal_ext
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/bld_pr_ext.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          274
      EdgeCount:       46
      CyclomaticComplexity: 13
      functionsReached:
        - k5_infer_principal_type
        - krb5int_copy_data_contents_add0
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'bld_pr_ext.c:70,9'
          Dst:             krb5int_copy_data_contents_add0
        - Src:             'bld_pr_ext.c:81,13'
          Dst:             krb5int_copy_data_contents_add0
        - Src:             'bld_pr_ext.c:87,23'
          Dst:             k5_infer_principal_type
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    __bswap_64
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          37
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_spaces
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/chpw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 387
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_buf_add
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'chpw.c:386,9'
          Dst:             k5_buf_add
    - functionName:    load_64_be
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 610
      functionLinenumberEnd: 615
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_64
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:615,12'
          Dst:             __bswap_64
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    load_16_be
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 589
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_16
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:589,12'
          Dst:             __bswap_16
    - functionName:    __bswap_16
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_error_edata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/chpw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          71
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_copy_data
        - krb5_free_error
        - krb5_rd_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'chpw.c:87,11'
          Dst:             krb5_rd_error
        - Src:             'chpw.c:97,11'
          Dst:             krb5_copy_data
        - Src:             'chpw.c:100,5'
          Dst:             krb5_free_error
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    decode_ad_policy_info
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/chpw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 474
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          230
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - add_spaces
        - dgettext
        - k5_buf_add
        - k5_buf_add_fmt
        - k5_buf_cstring
        - k5_buf_init_dynamic
        - load_16_be
        - load_32_be
        - load_64_be
        - ngettext
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'chpw.c:403,25'
          Dst:             load_16_be
        - Src:             'chpw.c:411,34'
          Dst:             load_32_be
        - Src:             'chpw.c:413,31'
          Dst:             load_32_be
        - Src:             'chpw.c:415,34'
          Dst:             load_32_be
        - Src:             'chpw.c:417,21'
          Dst:             load_64_be
        - Src:             'chpw.c:419,30'
          Dst:             load_64_be
        - Src:             'chpw.c:423,5'
          Dst:             __assert_fail
        - Src:             'chpw.c:425,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'chpw.c:432,26'
          Dst:             dgettext
        - Src:             'chpw.c:432,9'
          Dst:             k5_buf_add
        - Src:             'chpw.c:437,9'
          Dst:             add_spaces
        - Src:             'chpw.c:438,30'
          Dst:             ngettext
        - Src:             'chpw.c:438,9'
          Dst:             k5_buf_add_fmt
        - Src:             'chpw.c:446,9'
          Dst:             add_spaces
        - Src:             'chpw.c:447,30'
          Dst:             ngettext
        - Src:             'chpw.c:447,9'
          Dst:             k5_buf_add_fmt
        - Src:             'chpw.c:458,9'
          Dst:             add_spaces
        - Src:             'chpw.c:459,30'
          Dst:             ngettext
        - Src:             'chpw.c:459,9'
          Dst:             k5_buf_add_fmt
        - Src:             'chpw.c:466,11'
          Dst:             k5_buf_cstring
    - functionName:    ngettext
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_chpw_message
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/chpw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 479
      functionLinenumberEnd: 510
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          121
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - decode_ad_policy_info
        - dgettext
        - k5_utf8_validate
        - k5memdup0
        - memchr
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'chpw.c:487,11'
          Dst:             decode_ad_policy_info
        - Src:             'chpw.c:495,9'
          Dst:             memchr
        - Src:             'chpw.c:496,9'
          Dst:             k5_utf8_validate
        - Src:             'chpw.c:497,24'
          Dst:             k5memdup0
        - Src:             'chpw.c:503,18'
          Dst:             dgettext
        - Src:             'chpw.c:503,11'
          Dst:             strdup
    - functionName:    krb5int_mk_setpw_req
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/chpw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 352
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          222
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - encode_krb5_setpw_req
        - krb5_auth_con_setflags
        - krb5_free_data
        - krb5_free_data_contents
        - krb5_mk_priv
        - store_16_be
        - string2data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'chpw.c:299,16'
          Dst:             krb5_auth_con_setflags
        - Src:             'chpw.c:304,20'
          Dst:             string2data
        - Src:             'chpw.c:305,11'
          Dst:             encode_krb5_setpw_req
        - Src:             'chpw.c:310,16'
          Dst:             krb5_mk_priv
        - Src:             'chpw.c:311,9'
          Dst:             krb5_free_data
        - Src:             'chpw.c:314,5'
          Dst:             krb5_free_data
        - Src:             'chpw.c:328,5'
          Dst:             store_16_be
        - Src:             'chpw.c:334,5'
          Dst:             store_16_be
        - Src:             'chpw.c:346,9'
          Dst:             krb5_free_data_contents
    - functionName:    string2data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2253
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2254,27'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2254,12'
          Dst:             make_data
    - functionName:    store_16_be
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 547
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_16
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:542,5'
          Dst:             __bswap_16
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_chpw_result_code_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/chpw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          84
      EdgeCount:       25
      CyclomaticComplexity: 14
      functionsReached:
        - dgettext
      functionUses:    1
      BranchProfiles:
        - Branch String:   'chpw.c:248,5'
          Branch Sides:    []
      Callsites:
        - Src:             'chpw.c:250,24'
          Dst:             dgettext
        - Src:             'chpw.c:253,24'
          Dst:             dgettext
        - Src:             'chpw.c:256,24'
          Dst:             dgettext
        - Src:             'chpw.c:259,24'
          Dst:             dgettext
        - Src:             'chpw.c:262,24'
          Dst:             dgettext
        - Src:             'chpw.c:265,24'
          Dst:             dgettext
        - Src:             'chpw.c:268,24'
          Dst:             dgettext
        - Src:             'chpw.c:271,24'
          Dst:             dgettext
        - Src:             'chpw.c:274,24'
          Dst:             dgettext
    - functionName:    get_clear_result
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/chpw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          356
      EdgeCount:       49
      CyclomaticComplexity: 16
      functionsReached:
        - empty_data
        - get_error_edata
        - krb5_auth_con_getsendsubkey_k
        - krb5_auth_con_setrecvsubkey_k
        - krb5_copy_data
        - krb5_free_ap_rep_enc_part
        - krb5_free_data_contents
        - krb5_k_free_key
        - krb5_rd_priv
        - krb5_rd_rep
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'chpw.c:117,23'
          Dst:             empty_data
        - Src:             'chpw.c:126,16'
          Dst:             get_error_edata
        - Src:             'chpw.c:155,17'
          Dst:             make_data
        - Src:             'chpw.c:156,16'
          Dst:             get_error_edata
        - Src:             'chpw.c:160,11'
          Dst:             krb5_auth_con_getsendsubkey_k
        - Src:             'chpw.c:165,14'
          Dst:             make_data
        - Src:             'chpw.c:167,11'
          Dst:             krb5_rd_rep
        - Src:             'chpw.c:170,5'
          Dst:             krb5_free_ap_rep_enc_part
        - Src:             'chpw.c:173,11'
          Dst:             krb5_auth_con_setrecvsubkey_k
        - Src:             'chpw.c:178,14'
          Dst:             make_data
        - Src:             'chpw.c:179,11'
          Dst:             krb5_rd_priv
        - Src:             'chpw.c:183,11'
          Dst:             krb5_copy_data
        - Src:             'chpw.c:189,5'
          Dst:             krb5_k_free_key
        - Src:             'chpw.c:190,5'
          Dst:             krb5_free_data_contents
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    krb5int_rd_chpw_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/chpw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          176
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - empty_data
        - get_clear_result
        - krb5_free_data
        - krb5int_copy_data_contents
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'chpw.c:206,24'
          Dst:             empty_data
        - Src:             'chpw.c:208,11'
          Dst:             get_clear_result
        - Src:             'chpw.c:233,19'
          Dst:             make_data
        - Src:             'chpw.c:234,11'
          Dst:             krb5int_copy_data_contents
        - Src:             'chpw.c:240,5'
          Dst:             krb5_free_data
    - functionName:    krb5int_mk_chpw_req
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/chpw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          160
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - krb5_auth_con_setflags
        - krb5_mk_priv
        - store_16_be
        - string2data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'chpw.c:27,16'
          Dst:             krb5_auth_con_setflags
        - Src:             'chpw.c:31,15'
          Dst:             string2data
        - Src:             'chpw.c:33,16'
          Dst:             krb5_mk_priv
        - Src:             'chpw.c:47,5'
          Dst:             store_16_be
        - Src:             'chpw.c:57,5'
          Dst:             store_16_be
    - functionName:    k5_upgrade_to_fast_p
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 689
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          57
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - krb5int_find_pa_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:686,9'
          Dst:             krb5int_find_pa_data
    - functionName:    krb5int_fast_verify_nego
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 640
      functionLinenumberEnd: 674
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          192
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - decode_krb5_checksum
        - krb5_c_verify_checksum
        - krb5_free_checksum
        - krb5int_find_pa_data
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:649,14'
          Dst:             krb5int_find_pa_data
        - Src:             'fast.c:658,22'
          Dst:             decode_krb5_checksum
        - Src:             'fast.c:660,22'
          Dst:             krb5_c_verify_checksum
        - Src:             'fast.c:666,18'
          Dst:             krb5int_find_pa_data
        - Src:             'fast.c:671,5'
          Dst:             krb5int_trace
        - Src:             'fast.c:673,9'
          Dst:             krb5_free_checksum
    - functionName:    krb5int_fast_free_state
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 612
      functionLinenumberEnd: 619
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_fast_armor
        - krb5_free_keyblock
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:616,5'
          Dst:             krb5_free_keyblock
        - Src:             'fast.c:617,5'
          Dst:             krb5_free_fast_armor
    - functionName:    krb5int_fast_make_state
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 598
      functionLinenumberEnd: 607
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_fast_reply_key
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          80
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_c_fx_cf2_simple
        - krb5_copy_keyblock_contents
        - krb5_free_keyblock_contents
        - krb5int_trace
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:577,5'
          Dst:             krb5_free_keyblock_contents
        - Src:             'fast.c:579,18'
          Dst:             krb5_c_fx_cf2_simple
        - Src:             'fast.c:584,13'
          Dst:             krb5int_trace
        - Src:             'fast.c:589,18'
          Dst:             krb5_copy_keyblock_contents
    - functionName:    krb5int_fast_process_response
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 521
      functionLinenumberEnd: 567
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          224
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - decrypt_fast_reply
        - dgettext
        - encode_krb5_ticket
        - krb5_c_verify_checksum
        - krb5_clear_error_message
        - krb5_free_data
        - krb5_free_fast_response
        - krb5_free_pa_data
        - krb5_free_principal
        - krb5_set_error_message
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:527,5'
          Dst:             krb5_clear_error_message
        - Src:             'fast.c:531,14'
          Dst:             decrypt_fast_reply
        - Src:             'fast.c:537,23'
          Dst:             dgettext
        - Src:             'fast.c:536,13'
          Dst:             krb5_set_error_message
        - Src:             'fast.c:541,18'
          Dst:             encode_krb5_ticket
        - Src:             'fast.c:543,18'
          Dst:             krb5_c_verify_checksum
        - Src:             'fast.c:550,36'
          Dst:             dgettext
        - Src:             'fast.c:550,9'
          Dst:             krb5_set_error_message
        - Src:             'fast.c:553,9'
          Dst:             krb5_free_principal
        - Src:             'fast.c:558,9'
          Dst:             krb5_free_pa_data
        - Src:             'fast.c:563,9'
          Dst:             krb5_free_fast_response
        - Src:             'fast.c:565,9'
          Dst:             krb5_free_data
    - functionName:    decrypt_fast_reply
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 364
      functionLinenumberEnd: 414
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          283
      EdgeCount:       67
      CyclomaticComplexity: 16
      functionsReached:
        - __assert_fail
        - decode_krb5_fast_response
        - decode_krb5_pa_fx_fast_reply
        - dgettext
        - krb5_c_decrypt
        - krb5_free_enc_data
        - krb5_free_fast_response
        - krb5_prepend_error_message
        - krb5_set_error_message
        - krb5int_find_pa_data
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:371,5'
          Dst:             __assert_fail
        - Src:             'fast.c:372,5'
          Dst:             __assert_fail
        - Src:             'fast.c:373,16'
          Dst:             krb5int_find_pa_data
        - Src:             'fast.c:376,5'
          Dst:             krb5int_trace
        - Src:             'fast.c:380,18'
          Dst:             decode_krb5_pa_fx_fast_reply
        - Src:             'fast.c:390,18'
          Dst:             krb5_c_decrypt
        - Src:             'fast.c:394,40'
          Dst:             dgettext
        - Src:             'fast.c:394,9'
          Dst:             krb5_prepend_error_message
        - Src:             'fast.c:396,18'
          Dst:             decode_krb5_fast_response
        - Src:             'fast.c:400,40'
          Dst:             dgettext
        - Src:             'fast.c:400,13'
          Dst:             krb5_set_error_message
        - Src:             'fast.c:411,9'
          Dst:             krb5_free_enc_data
        - Src:             'fast.c:413,9'
          Dst:             krb5_free_fast_response
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    krb5int_fast_process_error
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 431
      functionLinenumberEnd: 513
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         54
      ICount:          319
      EdgeCount:       71
      CyclomaticComplexity: 19
      functionsReached:
        - decode_krb5_error
        - decode_krb5_padata_sequence
        - decode_krb5_typed_data
        - decrypt_fast_reply
        - dgettext
        - empty_data
        - krb5_free_error
        - krb5_free_fast_response
        - krb5_free_pa_data
        - krb5_set_error_message
        - krb5int_find_pa_data
        - make_data
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:436,25'
          Dst:             empty_data
        - Src:             'fast.c:446,18'
          Dst:             decode_krb5_padata_sequence
        - Src:             'fast.c:448,22'
          Dst:             decrypt_fast_reply
        - Src:             'fast.c:458,13'
          Dst:             krb5_free_pa_data
        - Src:             'fast.c:462,27'
          Dst:             krb5int_find_pa_data
        - Src:             'fast.c:466,27'
          Dst:             dgettext
        - Src:             'fast.c:465,17'
          Dst:             krb5_set_error_message
        - Src:             'fast.c:472,23'
          Dst:             make_data
        - Src:             'fast.c:473,22'
          Dst:             decode_krb5_error
        - Src:             'fast.c:476,13'
          Dst:             krb5_free_error
        - Src:             'fast.c:489,21'
          Dst:             krb5int_find_pa_data
        - Src:             'fast.c:500,22'
          Dst:             decode_krb5_padata_sequence
        - Src:             'fast.c:503,23'
          Dst:             decode_krb5_typed_data
        - Src:             'fast.c:508,5'
          Dst:             krb5_free_pa_data
        - Src:             'fast.c:509,5'
          Dst:             krb5_free_fast_response
        - Src:             'fast.c:511,9'
          Dst:             krb5_free_error
    - functionName:    make_tgs_outer_padata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          94
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:242,15'
          Dst:             calloc
    - functionName:    krb5int_fast_prep_req
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 357
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         83
      ICount:          522
      EdgeCount:       107
      CyclomaticComplexity: 26
      functionsReached:
        - __assert_fail
        - calloc
        - encode_krb5_fast_req
        - encode_krb5_pa_fx_fast_request
        - krb5_c_make_checksum
        - krb5_encrypt_helper
        - krb5_free_data
        - krb5_free_fast_armored_req
        - krb5int_find_pa_data
        - krb5int_trace
        - make_tgs_outer_padata
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:272,5'
          Dst:             __assert_fail
        - Src:             'fast.c:273,5'
          Dst:             __assert_fail
        - Src:             'fast.c:279,5'
          Dst:             krb5int_trace
        - Src:             'fast.c:283,37'
          Dst:             calloc
        - Src:             'fast.c:289,19'
          Dst:             krb5int_find_pa_data
        - Src:             'fast.c:301,18'
          Dst:             encode_krb5_fast_req
        - Src:             'fast.c:303,23'
          Dst:             calloc
        - Src:             'fast.c:310,18'
          Dst:             krb5_c_make_checksum
        - Src:             'fast.c:315,18'
          Dst:             krb5_encrypt_helper
        - Src:             'fast.c:319,18'
          Dst:             encode_krb5_pa_fx_fast_request
        - Src:             'fast.c:326,22'
          Dst:             make_tgs_outer_padata
        - Src:             'fast.c:341,9'
          Dst:             krb5_free_data
        - Src:             'fast.c:344,9'
          Dst:             krb5_free_fast_armored_req
        - Src:             'fast.c:347,9'
          Dst:             krb5_free_data
        - Src:             'fast.c:349,9'
          Dst:             krb5_free_data
    - functionName:    krb5int_fast_as_armor
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          271
      EdgeCount:       63
      CyclomaticComplexity: 16
      functionsReached:
        - dgettext
        - fast_armor_ap_request
        - k5_gic_opt_get_fast_ccache_name
        - k5_gic_opt_get_fast_flags
        - krb5_cc_close
        - krb5_cc_get_config
        - krb5_cc_resolve
        - krb5_clear_error_message
        - krb5_free_data_contents
        - krb5_free_principal
        - krb5_prepend_error_message
        - krb5int_tgtname
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:180,26'
          Dst:             k5_gic_opt_get_fast_ccache_name
        - Src:             'fast.c:183,5'
          Dst:             krb5_clear_error_message
        - Src:             'fast.c:186,9'
          Dst:             krb5int_trace
        - Src:             'fast.c:188,18'
          Dst:             krb5_cc_resolve
        - Src:             'fast.c:190,22'
          Dst:             krb5int_tgtname
        - Src:             'fast.c:196,22'
          Dst:             krb5_cc_get_config
        - Src:             'fast.c:199,17'
          Dst:             krb5int_trace
        - Src:             'fast.c:202,13'
          Dst:             krb5_free_data_contents
        - Src:             'fast.c:205,22'
          Dst:             k5_gic_opt_get_fast_flags
        - Src:             'fast.c:207,13'
          Dst:             krb5int_trace
        - Src:             'fast.c:211,22'
          Dst:             fast_armor_ap_request
        - Src:             'fast.c:216,27'
          Dst:             dgettext
        - Src:             'fast.c:215,13'
          Dst:             krb5_prepend_error_message
        - Src:             'fast.c:220,9'
          Dst:             krb5_cc_close
        - Src:             'fast.c:222,9'
          Dst:             krb5_free_principal
    - functionName:    fast_armor_ap_request
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          244
      EdgeCount:       51
      CyclomaticComplexity: 13
      functionsReached:
        - calloc
        - krb5_auth_con_free
        - krb5_auth_con_getsendsubkey
        - krb5_c_fx_cf2_simple
        - krb5_cc_get_principal
        - krb5_free_cred_contents
        - krb5_free_creds
        - krb5_free_data_contents
        - krb5_free_keyblock
        - krb5_get_credentials
        - krb5_mk_req_extended
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:66,14'
          Dst:             krb5_cc_get_principal
        - Src:             'fast.c:68,18'
          Dst:             krb5_get_credentials
        - Src:             'fast.c:70,9'
          Dst:             krb5int_trace
        - Src:             'fast.c:71,18'
          Dst:             krb5_mk_req_extended
        - Src:             'fast.c:76,18'
          Dst:             krb5_auth_con_getsendsubkey
        - Src:             'fast.c:78,18'
          Dst:             krb5_c_fx_cf2_simple
        - Src:             'fast.c:82,9'
          Dst:             krb5int_trace
        - Src:             'fast.c:83,17'
          Dst:             calloc
        - Src:             'fast.c:97,5'
          Dst:             krb5_free_keyblock
        - Src:             'fast.c:98,5'
          Dst:             krb5_free_keyblock
        - Src:             'fast.c:100,9'
          Dst:             krb5_free_creds
        - Src:             'fast.c:103,5'
          Dst:             krb5_free_cred_contents
        - Src:             'fast.c:105,9'
          Dst:             krb5_free_data_contents
        - Src:             'fast.c:106,5'
          Dst:             krb5_auth_con_free
    - functionName:    krb5int_fast_prep_req_body
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          106
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - encode_krb5_kdc_req_body
        - krb5_free_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:153,5'
          Dst:             __assert_fail
        - Src:             'fast.c:156,16'
          Dst:             encode_krb5_kdc_req_body
        - Src:             'fast.c:160,18'
          Dst:             encode_krb5_kdc_req_body
        - Src:             'fast.c:167,9'
          Dst:             krb5_free_data
    - functionName:    krb5int_fast_tgs_armor
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/fast.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          111
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - fast_armor_ap_request
        - krb5_c_fx_cf2_simple
        - krb5_free_keyblock
        - krb5_free_principal
        - krb5int_tgtname
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fast.c:121,18'
          Dst:             krb5int_tgtname
        - Src:             'fast.c:124,22'
          Dst:             fast_armor_ap_request
        - Src:             'fast.c:129,22'
          Dst:             krb5_c_fx_cf2_simple
        - Src:             'fast.c:134,18'
          Dst:             krb5_c_fx_cf2_simple
        - Src:             'fast.c:139,9'
          Dst:             krb5_free_principal
        - Src:             'fast.c:140,5'
          Dst:             krb5_free_keyblock
    - functionName:    krb5_generate_subkey
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gen_subkey.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_generate_subkey_extended
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gen_subkey.c:57,12'
          Dst:             krb5_generate_subkey_extended
    - functionName:    krb5_generate_subkey_extended
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gen_subkey.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_c_make_random_key
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'gen_subkey.c:44,14'
          Dst:             krb5_c_make_random_key
    - functionName:    string2data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2253
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2254,27'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2254,12'
          Dst:             make_data
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    complete
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 474
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          92
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_cc_store_cred
        - krb5_free_principal
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:457,5'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:460,5'
          Dst:             krb5_free_principal
        - Src:             'get_creds.c:470,16'
          Dst:             krb5_cc_store_cred
    - functionName:    wrong_enctype
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 549
      functionLinenumberEnd: 559
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          60
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    try_fallback
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 504
      functionLinenumberEnd: 543
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          161
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - begin_get_tgt
        - begin_non_referral
        - data_eq_string
        - krb5_free_data_contents
        - krb5_free_host_realm
        - krb5_get_fallback_host_realm
        - krb5int_trace
        - string2data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:515,16'
          Dst:             begin_non_referral
        - Src:             'get_creds.c:523,12'
          Dst:             krb5_get_fallback_host_realm
        - Src:             'get_creds.c:529,9'
          Dst:             data_eq_string
        - Src:             'get_creds.c:530,9'
          Dst:             krb5_free_host_realm
        - Src:             'get_creds.c:531,16'
          Dst:             begin_non_referral
        - Src:             'get_creds.c:535,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_creds.c:536,26'
          Dst:             string2data
        - Src:             'get_creds.c:538,5'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:542,12'
          Dst:             begin_get_tgt
    - functionName:    begin_non_referral
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_request_for_service
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:495,12'
          Dst:             make_request_for_service
    - functionName:    data_eq_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2229
      functionLinenumberEnd: 2231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2230,25'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2231,40'
          Dst:             memcmp
    - functionName:    begin_get_tgt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 988
      functionLinenumberEnd: 1031
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          193
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - data_eq
        - end_get_tgt
        - get_cached_local_tgt
        - get_cached_tgt
        - get_tgt_request
        - init_realm_path
        - krb5_free_creds
        - krb5int_free_data_list
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:995,24'
          Dst:             data_eq
        - Src:             'get_creds.c:998,16'
          Dst:             get_cached_tgt
        - Src:             'get_creds.c:1002,13'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:1003,13'
          Dst:             krb5_free_creds
        - Src:             'get_creds.c:1005,20'
          Dst:             end_get_tgt
        - Src:             'get_creds.c:1010,5'
          Dst:             krb5_free_creds
        - Src:             'get_creds.c:1012,12'
          Dst:             get_cached_local_tgt
        - Src:             'get_creds.c:1015,5'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:1018,16'
          Dst:             end_get_tgt
        - Src:             'get_creds.c:1021,12'
          Dst:             init_realm_path
        - Src:             'get_creds.c:1026,5'
          Dst:             krb5int_free_data_list
        - Src:             'get_creds.c:1030,12'
          Dst:             get_tgt_request
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    get_cached_tgt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 761
      functionLinenumberEnd: 793
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          115
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - cache_get
        - krb5_free_principal
        - krb5_timeofday
        - krb5int_tgtname
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:771,12'
          Dst:             krb5_timeofday
        - Src:             'get_creds.c:776,12'
          Dst:             krb5int_tgtname
        - Src:             'get_creds.c:789,12'
          Dst:             cache_get
        - Src:             'get_creds.c:791,5'
          Dst:             krb5_free_principal
    - functionName:    end_get_tgt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - begin_non_referral
        - begin_referrals
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:666,16'
          Dst:             begin_referrals
        - Src:             'get_creds.c:668,16'
          Dst:             begin_non_referral
    - functionName:    get_cached_local_tgt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 800
      functionLinenumberEnd: 841
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          119
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - cache_get
        - krb5_free_creds
        - krb5_free_principal
        - krb5_timeofday
        - krb5int_tgtname
        - ts_after
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:810,12'
          Dst:             krb5_timeofday
        - Src:             'get_creds.c:815,12'
          Dst:             krb5int_tgtname
        - Src:             'get_creds.c:827,12'
          Dst:             cache_get
        - Src:             'get_creds.c:829,5'
          Dst:             krb5_free_principal
        - Src:             'get_creds.c:834,9'
          Dst:             ts_after
        - Src:             'get_creds.c:835,9'
          Dst:             krb5_free_creds
    - functionName:    init_realm_path
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 847
      functionLinenumberEnd: 867
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          97
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - k5_client_realm_path
        - krb5int_free_data_list
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:853,12'
          Dst:             k5_client_realm_path
        - Src:             'get_creds.c:858,5'
          Dst:             __assert_fail
        - Src:             'get_creds.c:861,5'
          Dst:             krb5int_free_data_list
    - functionName:    get_tgt_request
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 891
      functionLinenumberEnd: 914
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          110
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - end_get_tgt
        - get_cached_tgt
        - krb5_free_creds
        - krb5int_trace
        - make_request_for_tgt
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:897,16'
          Dst:             get_cached_tgt
        - Src:             'get_creds.c:902,13'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:903,13'
          Dst:             krb5_free_creds
        - Src:             'get_creds.c:906,24'
          Dst:             end_get_tgt
        - Src:             'get_creds.c:912,16'
          Dst:             make_request_for_tgt
    - functionName:    make_request_for_tgt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          109
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_free_principal
        - krb5int_tgtname
        - krb5int_trace
        - make_request
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:327,5'
          Dst:             krb5_free_principal
        - Src:             'get_creds.c:329,12'
          Dst:             krb5int_tgtname
        - Src:             'get_creds.c:334,5'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:343,12'
          Dst:             make_request
    - functionName:    make_request
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 317
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          136
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - empty_data
        - k5_make_tgs_req
        - krb5_c_valid_enctype
        - krb5_free_data_contents
        - krb5_free_keyblock
        - krb5int_fast_free_state
        - krb5int_fast_make_state
        - set_caller_request
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:290,25'
          Dst:             empty_data
        - Src:             'get_creds.c:295,10'
          Dst:             krb5_c_valid_enctype
        - Src:             'get_creds.c:299,5'
          Dst:             krb5int_fast_free_state
        - Src:             'get_creds.c:301,12'
          Dst:             krb5int_fast_make_state
        - Src:             'get_creds.c:305,5'
          Dst:             krb5_free_keyblock
        - Src:             'get_creds.c:307,12'
          Dst:             k5_make_tgs_req
        - Src:             'get_creds.c:314,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_creds.c:316,12'
          Dst:             set_caller_request
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    set_caller_request
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          96
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - empty_data
        - krb5_free_data_contents
        - krb5int_copy_data_contents
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:260,26'
          Dst:             empty_data
        - Src:             'get_creds.c:260,53'
          Dst:             empty_data
        - Src:             'get_creds.c:262,12'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_creds.c:265,12'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_creds.c:275,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_creds.c:276,5'
          Dst:             krb5_free_data_contents
    - functionName:    cache_get
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_cc_retrieve_cred
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:125,12'
          Dst:             krb5_cc_retrieve_cred
    - functionName:    ts_after
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2371
      functionLinenumberEnd: 2372
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    begin_referrals
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 642
      functionLinenumberEnd: 651
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5int_free_data_list
        - make_request_for_service
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:647,5'
          Dst:             krb5int_free_data_list
        - Src:             'get_creds.c:651,12'
          Dst:             make_request_for_service
    - functionName:    make_request_for_service
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          125
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - krb5int_trace
        - make_request
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:356,5'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:377,12'
          Dst:             make_request
    - functionName:    seen_realm_before
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          77
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - data_eq
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:443,17'
          Dst:             data_eq
    - functionName:    begin_get_tgt_offpath
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 722
      functionLinenumberEnd: 725
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_request_for_tgt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:725,12'
          Dst:             make_request_for_tgt
    - functionName:    find_realm_in_path
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 874
      functionLinenumberEnd: 882
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          64
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - data_eq
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:878,13'
          Dst:             data_eq
    - functionName:    remember_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 418
      functionLinenumberEnd: 432
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          110
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - empty_data
        - krb5int_copy_data_contents
        - realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:425,16'
          Dst:             realloc
        - Src:             'get_creds.c:429,21'
          Dst:             empty_data
        - Src:             'get_creds.c:430,25'
          Dst:             empty_data
        - Src:             'get_creds.c:431,12'
          Dst:             krb5int_copy_data_contents
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    krb5_get_credentials
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1312
      functionLinenumberEnd: 1349
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          111
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - k5_get_proxy_cred_from_kdc
        - k5alloc
        - krb5_free_creds
        - krb5_tkt_creds_free
        - krb5_tkt_creds_get
        - krb5_tkt_creds_get_creds
        - krb5_tkt_creds_init
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:1322,16'
          Dst:             k5_get_proxy_cred_from_kdc
        - Src:             'get_creds.c:1327,14'
          Dst:             k5alloc
        - Src:             'get_creds.c:1332,12'
          Dst:             krb5_tkt_creds_init
        - Src:             'get_creds.c:1335,12'
          Dst:             krb5_tkt_creds_get
        - Src:             'get_creds.c:1338,12'
          Dst:             krb5_tkt_creds_get_creds
        - Src:             'get_creds.c:1346,5'
          Dst:             krb5_free_creds
        - Src:             'get_creds.c:1347,5'
          Dst:             krb5_tkt_creds_free
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    krb5_tkt_creds_init
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1096
      functionLinenumberEnd: 1163
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          293
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - k5_canonprinc
        - k5alloc
        - krb5_cc_dup
        - krb5_cc_get_config
        - krb5_copy_authdata
        - krb5_copy_creds
        - krb5_copy_principal
        - krb5_tkt_creds_free
        - krb5int_copy_data_contents
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:1101,5'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:1102,11'
          Dst:             k5alloc
        - Src:             'get_creds.c:1119,12'
          Dst:             krb5_copy_creds
        - Src:             'get_creds.c:1128,12'
          Dst:             k5_canonprinc
        - Src:             'get_creds.c:1133,12'
          Dst:             krb5_copy_principal
        - Src:             'get_creds.c:1139,12'
          Dst:             krb5_cc_dup
        - Src:             'get_creds.c:1145,12'
          Dst:             krb5_cc_get_config
        - Src:             'get_creds.c:1148,16'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_creds.c:1154,12'
          Dst:             krb5_copy_authdata
        - Src:             'get_creds.c:1162,5'
          Dst:             krb5_tkt_creds_free
    - functionName:    krb5_tkt_creds_get
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1209
      functionLinenumberEnd: 1240
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          138
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - empty_data
        - k5_sendto_kdc
        - krb5_free_data_contents
        - krb5_tkt_creds_step
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:1211,25'
          Dst:             empty_data
        - Src:             'get_creds.c:1211,47'
          Dst:             empty_data
        - Src:             'get_creds.c:1212,23'
          Dst:             empty_data
        - Src:             'get_creds.c:1218,16'
          Dst:             krb5_tkt_creds_step
        - Src:             'get_creds.c:1221,13'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:1225,9'
          Dst:             krb5_free_data_contents
        - Src:             'get_creds.c:1228,16'
          Dst:             k5_sendto_kdc
        - Src:             'get_creds.c:1233,9'
          Dst:             krb5_free_data_contents
        - Src:             'get_creds.c:1234,9'
          Dst:             krb5_free_data_contents
        - Src:             'get_creds.c:1237,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_creds.c:1238,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_creds.c:1239,5'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_tkt_creds_get_creds
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1169
      functionLinenumberEnd: 1173
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_copy_creds_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:1172,12'
          Dst:             k5_copy_creds_contents
    - functionName:    krb5_tkt_creds_free
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1187
      functionLinenumberEnd: 1205
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          94
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - free_canonprinc
        - krb5_cc_close
        - krb5_free_authdata
        - krb5_free_creds
        - krb5_free_data_contents
        - krb5_free_keyblock
        - krb5_free_principal
        - krb5int_fast_free_state
        - krb5int_free_data_list
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:1190,5'
          Dst:             krb5int_fast_free_state
        - Src:             'get_creds.c:1191,5'
          Dst:             krb5_free_creds
        - Src:             'get_creds.c:1192,5'
          Dst:             free_canonprinc
        - Src:             'get_creds.c:1193,5'
          Dst:             krb5_cc_close
        - Src:             'get_creds.c:1194,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_creds.c:1195,5'
          Dst:             krb5_free_principal
        - Src:             'get_creds.c:1196,5'
          Dst:             krb5_free_authdata
        - Src:             'get_creds.c:1197,5'
          Dst:             krb5_free_creds
        - Src:             'get_creds.c:1198,5'
          Dst:             krb5int_free_data_list
        - Src:             'get_creds.c:1199,5'
          Dst:             krb5_free_principal
        - Src:             'get_creds.c:1200,5'
          Dst:             krb5_free_keyblock
        - Src:             'get_creds.c:1201,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_creds.c:1202,5'
          Dst:             krb5int_free_data_list
        - Src:             'get_creds.c:1203,5'
          Dst:             krb5_free_creds
    - functionName:    free_canonprinc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/./../os/os-proto.h'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_tkt_creds_step
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1247
      functionLinenumberEnd: 1306
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          317
      EdgeCount:       62
      CyclomaticComplexity: 18
      functionsReached:
        - begin
        - check_cache
        - empty_data
        - get_creds_from_tgs_reply
        - k5_canonprinc
        - krb5_copy_principal
        - krb5_free_principal
        - step_get_tgt
        - step_get_tgt_offpath
        - step_non_referral
        - step_referrals
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:1252,12'
          Dst:             empty_data
        - Src:             'get_creds.c:1253,14'
          Dst:             empty_data
        - Src:             'get_creds.c:1263,16'
          Dst:             check_cache
        - Src:             'get_creds.c:1274,16'
          Dst:             get_creds_from_tgs_reply
        - Src:             'get_creds.c:1280,16'
          Dst:             begin
        - Src:             'get_creds.c:1282,16'
          Dst:             step_get_tgt
        - Src:             'get_creds.c:1284,16'
          Dst:             step_get_tgt_offpath
        - Src:             'get_creds.c:1286,16'
          Dst:             step_referrals
        - Src:             'get_creds.c:1288,16'
          Dst:             step_non_referral
        - Src:             'get_creds.c:1297,12'
          Dst:             k5_canonprinc
        - Src:             'get_creds.c:1302,5'
          Dst:             krb5_free_principal
        - Src:             'get_creds.c:1303,12'
          Dst:             krb5_copy_principal
        - Src:             'get_creds.c:1305,12'
          Dst:             begin
    - functionName:    check_cache
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1043
      functionLinenumberEnd: 1066
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - k5_get_cached_cred
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:1050,12'
          Dst:             k5_get_cached_cred
    - functionName:    get_creds_from_tgs_reply
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 388
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          111
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_free_creds
        - krb5int_process_tgs_reply
        - krb5int_trace
        - set_caller_request
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:391,5'
          Dst:             krb5_free_creds
        - Src:             'get_creds.c:393,12'
          Dst:             krb5int_process_tgs_reply
        - Src:             'get_creds.c:401,16'
          Dst:             set_caller_request
        - Src:             'get_creds.c:409,5'
          Dst:             krb5int_trace
    - functionName:    begin
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1071
      functionLinenumberEnd: 1088
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - begin_get_tgt
        - krb5_free_data_contents
        - krb5_is_referral_realm
        - krb5int_copy_data_contents
        - krb5int_trace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:1075,25'
          Dst:             krb5_is_referral_realm
        - Src:             'get_creds.c:1077,9'
          Dst:             krb5_free_data_contents
        - Src:             'get_creds.c:1078,16'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_creds.c:1080,9'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:1087,12'
          Dst:             begin_get_tgt
    - functionName:    step_get_tgt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 919
      functionLinenumberEnd: 977
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         50
      ICount:          307
      EdgeCount:       64
      CyclomaticComplexity: 16
      functionsReached:
        - begin_get_tgt_offpath
        - data_eq
        - data_eq_string
        - end_get_tgt
        - find_realm_in_path
        - get_tgt_request
        - krb5_cc_store_cred
        - krb5_free_creds
        - krb5int_trace
        - remember_realm
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:932,9'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:935,14'
          Dst:             data_eq_string
        - Src:             'get_creds.c:939,9'
          Dst:             krb5_free_creds
        - Src:             'get_creds.c:945,16'
          Dst:             remember_realm
        - Src:             'get_creds.c:950,22'
          Dst:             find_realm_in_path
        - Src:             'get_creds.c:954,23'
          Dst:             krb5_cc_store_cred
        - Src:             'get_creds.c:957,17'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:958,24'
          Dst:             end_get_tgt
        - Src:             'get_creds.c:961,17'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:965,20'
          Dst:             data_eq
        - Src:             'get_creds.c:970,13'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:971,20'
          Dst:             begin_get_tgt_offpath
        - Src:             'get_creds.c:976,12'
          Dst:             get_tgt_request
    - functionName:    step_get_tgt_offpath
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 682
      functionLinenumberEnd: 717
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          192
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - data_eq
        - data_eq_string
        - end_get_tgt
        - krb5_free_creds
        - krb5int_trace
        - make_request_for_tgt
        - remember_realm
        - seen_realm_before
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:691,10'
          Dst:             data_eq_string
        - Src:             'get_creds.c:695,5'
          Dst:             krb5_free_creds
        - Src:             'get_creds.c:701,9'
          Dst:             seen_realm_before
        - Src:             'get_creds.c:703,12'
          Dst:             remember_realm
        - Src:             'get_creds.c:707,9'
          Dst:             data_eq
        - Src:             'get_creds.c:709,9'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:710,16'
          Dst:             end_get_tgt
        - Src:             'get_creds.c:716,12'
          Dst:             make_request_for_tgt
    - functionName:    step_referrals
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 564
      functionLinenumberEnd: 634
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         48
      ICount:          344
      EdgeCount:       63
      CyclomaticComplexity: 17
      functionsReached:
        - begin_non_referral
        - complete
        - data_eq
        - data_eq_string
        - krb5_free_authdata
        - krb5_free_creds
        - krb5_free_data_contents
        - krb5_principal_compare_any_realm
        - krb5int_copy_data_contents
        - krb5int_trace
        - make_request_for_service
        - remember_realm
        - seen_realm_before
        - try_fallback
        - wrong_enctype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:570,16'
          Dst:             try_fallback
        - Src:             'get_creds.c:574,9'
          Dst:             krb5_principal_compare_any_realm
        - Src:             'get_creds.c:578,13'
          Dst:             wrong_enctype
        - Src:             'get_creds.c:579,13'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:580,20'
          Dst:             begin_non_referral
        - Src:             'get_creds.c:583,16'
          Dst:             complete
        - Src:             'get_creds.c:588,10'
          Dst:             data_eq_string
        - Src:             'get_creds.c:589,9'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:590,16'
          Dst:             begin_non_referral
        - Src:             'get_creds.c:596,9'
          Dst:             data_eq
        - Src:             'get_creds.c:597,9'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:598,16'
          Dst:             begin_non_referral
        - Src:             'get_creds.c:604,9'
          Dst:             krb5_free_authdata
        - Src:             'get_creds.c:613,9'
          Dst:             seen_realm_before
        - Src:             'get_creds.c:615,12'
          Dst:             remember_realm
        - Src:             'get_creds.c:620,5'
          Dst:             krb5_free_creds
        - Src:             'get_creds.c:623,5'
          Dst:             krb5int_trace
        - Src:             'get_creds.c:626,5'
          Dst:             krb5_free_data_contents
        - Src:             'get_creds.c:627,12'
          Dst:             krb5int_copy_data_contents
        - Src:             'get_creds.c:633,12'
          Dst:             make_request_for_service
    - functionName:    step_non_referral
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 482
      functionLinenumberEnd: 488
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - complete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:487,12'
          Dst:             complete
    - functionName:    k5_get_cached_cred
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cache_get
        - construct_matching_creds
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:146,12'
          Dst:             construct_matching_creds
        - Src:             'get_creds.c:151,12'
          Dst:             cache_get
    - functionName:    construct_matching_creds
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          260
      EdgeCount:       52
      CyclomaticComplexity: 15
      functionsReached:
        - krb5_get_tgs_ktypes
        - krb5_timeofday
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'get_creds.c:63,11'
          Dst:             krb5_timeofday
        - Src:             'get_creds.c:79,15'
          Dst:             krb5_get_tgs_ktypes
    - functionName:    krb5_tkt_creds_get_times
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/get_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1178
      functionLinenumberEnd: 1183
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    zapfreedata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 684
      functionLinenumberEnd: 689
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - zapfree
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:686,9'
          Dst:             zapfree
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    create_krbpriv
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/mk_priv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          186
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - alloc_data
        - encode_krb5_enc_priv_part
        - encode_krb5_priv
        - krb5_c_encrypt_length
        - krb5_k_encrypt
        - krb5_k_key_enctype
        - zapfree
        - zapfreedata
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mk_priv.c:49,28'
          Dst:             krb5_k_key_enctype
        - Src:             'mk_priv.c:67,11'
          Dst:             encode_krb5_enc_priv_part
        - Src:             'mk_priv.c:72,11'
          Dst:             krb5_c_encrypt_length
        - Src:             'mk_priv.c:77,11'
          Dst:             alloc_data
        - Src:             'mk_priv.c:81,11'
          Dst:             krb5_k_encrypt
        - Src:             'mk_priv.c:87,11'
          Dst:             encode_krb5_priv
        - Src:             'mk_priv.c:98,5'
          Dst:             zapfree
        - Src:             'mk_priv.c:100,5'
          Dst:             zapfreedata
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    krb5_mk_priv
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/mk_priv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          200
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - create_krbpriv
        - empty_data
        - k5_privsafe_check_replay
        - k5_privsafe_gen_addrs
        - k5_privsafe_gen_rdata
        - krb5_free_data_contents
        - zapfree
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'mk_priv.c:113,29'
          Dst:             empty_data
        - Src:             'mk_priv.c:117,16'
          Dst:             empty_data
        - Src:             'mk_priv.c:124,11'
          Dst:             k5_privsafe_gen_rdata
        - Src:             'mk_priv.c:128,11'
          Dst:             k5_privsafe_gen_addrs
        - Src:             'mk_priv.c:134,11'
          Dst:             create_krbpriv
        - Src:             'mk_priv.c:139,11'
          Dst:             k5_privsafe_check_replay
        - Src:             'mk_priv.c:144,19'
          Dst:             empty_data
        - Src:             'mk_priv.c:150,5'
          Dst:             krb5_free_data_contents
        - Src:             'mk_priv.c:151,5'
          Dst:             zapfree
    - functionName:    store_32_le
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 647
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_etype_list
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/mk_req_ext.c'
      linkageType:     InternalLinkage
      functionLinenumber: 335
      functionLinenumberEnd: 355
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          103
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - encode_krb5_etype_list
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mk_req_ext.c:354,12'
          Dst:             encode_krb5_etype_list
    - functionName:    make_ap_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/mk_req_ext.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          130
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - krb5_encode_authdata_container
        - krb5_free_data
        - make_etype_list
        - store_32_le
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mk_req_ext.c:374,11'
          Dst:             make_etype_list
        - Src:             'mk_req_ext.c:387,9'
          Dst:             store_32_le
        - Src:             'mk_req_ext.c:397,15'
          Dst:             krb5_encode_authdata_container
        - Src:             'mk_req_ext.c:403,5'
          Dst:             krb5_free_data
    - functionName:    generate_authenticator
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/mk_req_ext.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 328
      functionDepth:   0
      returnType:      int
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          249
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - krb5_authdata_export_authdata
        - krb5_free_authdata
        - krb5_k_key_keyblock
        - krb5_merge_authdata
        - krb5_us_timeofday
        - make_ap_authdata
        - profile_get_boolean
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'mk_req_ext.c:272,18'
          Dst:             krb5_k_key_keyblock
        - Src:             'mk_req_ext.c:281,18'
          Dst:             krb5_authdata_export_authdata
        - Src:             'mk_req_ext.c:290,18'
          Dst:             krb5_merge_authdata
        - Src:             'mk_req_ext.c:295,13'
          Dst:             krb5_free_authdata
        - Src:             'mk_req_ext.c:298,9'
          Dst:             krb5_free_authdata
        - Src:             'mk_req_ext.c:304,18'
          Dst:             profile_get_boolean
        - Src:             'mk_req_ext.c:313,14'
          Dst:             make_ap_authdata
        - Src:             'mk_req_ext.c:318,18'
          Dst:             krb5_merge_authdata
        - Src:             'mk_req_ext.c:320,9'
          Dst:             krb5_free_authdata
        - Src:             'mk_req_ext.c:323,9'
          Dst:             krb5_free_authdata
        - Src:             'mk_req_ext.c:327,12'
          Dst:             krb5_us_timeofday
    - functionName:    krb5_mk_req_extended
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/mk_req_ext.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         104
      ICount:          690
      EdgeCount:       143
      CyclomaticComplexity: 41
      functionsReached:
        - decode_krb5_ticket
        - encode_krb5_ap_req
        - encode_krb5_authenticator
        - generate_authenticator
        - k5_generate_and_save_subkey
        - krb5_auth_con_init
        - krb5_encrypt_helper
        - krb5_free_ticket
        - krb5_generate_seq_number
        - krb5_get_tgs_ktypes
        - krb5_k_create_key
        - krb5_k_free_key
        - krb5_k_make_checksum
        - krb5int_trace
        - krb5int_validate_times
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'mk_req_ext.c:112,19'
          Dst:             decode_krb5_ticket
        - Src:             'mk_req_ext.c:116,19'
          Dst:             krb5int_validate_times
        - Src:             'mk_req_ext.c:121,23'
          Dst:             krb5_auth_con_init
        - Src:             'mk_req_ext.c:127,9'
          Dst:             krb5_k_free_key
        - Src:             'mk_req_ext.c:132,19'
          Dst:             krb5_k_create_key
        - Src:             'mk_req_ext.c:140,23'
          Dst:             krb5_generate_seq_number
        - Src:             'mk_req_ext.c:147,18'
          Dst:             k5_generate_and_save_subkey
        - Src:             'mk_req_ext.c:171,22'
          Dst:             krb5_k_make_checksum
        - Src:             'mk_req_ext.c:189,22'
          Dst:             krb5_get_tgs_ktypes
        - Src:             'mk_req_ext.c:196,5'
          Dst:             krb5int_trace
        - Src:             'mk_req_ext.c:198,19'
          Dst:             generate_authenticator
        - Src:             'mk_req_ext.c:210,19'
          Dst:             encode_krb5_authenticator
        - Src:             'mk_req_ext.c:215,19'
          Dst:             krb5_encrypt_helper
        - Src:             'mk_req_ext.c:220,19'
          Dst:             encode_krb5_ap_req
        - Src:             'mk_req_ext.c:242,9'
          Dst:             krb5_free_ticket
    - functionName:    k5_privsafe_check_addrs
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/privsafe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          210
      EdgeCount:       49
      CyclomaticComplexity: 15
      functionsReached:
        - krb5_address_compare
        - krb5_address_search
        - krb5_free_addresses
        - krb5_make_fulladdr
        - krb5_os_localaddr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'privsafe.c:325,19'
          Dst:             krb5_make_fulladdr
        - Src:             'privsafe.c:338,19'
          Dst:             krb5_make_fulladdr
        - Src:             'privsafe.c:350,10'
          Dst:             krb5_address_compare
        - Src:             'privsafe.c:362,14'
          Dst:             krb5_address_compare
        - Src:             'privsafe.c:367,15'
          Dst:             krb5_os_localaddr
        - Src:             'privsafe.c:371,14'
          Dst:             krb5_address_search
        - Src:             'privsafe.c:380,5'
          Dst:             krb5_free_addresses
    - functionName:    chk_heimdal_seqnum
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/privsafe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          111
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_privsafe_check_seqnum
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/privsafe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 304
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          210
      EdgeCount:       52
      CyclomaticComplexity: 14
      functionsReached:
        - chk_heimdal_seqnum
      functionUses:    1
      BranchProfiles:
        - Branch String:   'privsafe.c:292,9'
          Branch Sides:    []
      Callsites:
        - Src:             'privsafe.c:264,13'
          Dst:             chk_heimdal_seqnum
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_privsafe_check_replay
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/privsafe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          159
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - k5_memrcache_create
        - k5_memrcache_store
        - k5_rc_tag_from_ciphertext
        - krb5_check_clockskew
        - make_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'privsafe.c:115,5'
          Dst:             __assert_fail
        - Src:             'privsafe.c:121,15'
          Dst:             krb5_check_clockskew
        - Src:             'privsafe.c:127,15'
          Dst:             k5_rc_tag_from_ciphertext
        - Src:             'privsafe.c:131,15'
          Dst:             make_data
        - Src:             'privsafe.c:135,15'
          Dst:             k5_memrcache_create
        - Src:             'privsafe.c:140,12'
          Dst:             k5_memrcache_store
    - functionName:    k5_privsafe_gen_addrs
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/privsafe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          134
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - krb5_make_fulladdr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'privsafe.c:82,19'
          Dst:             krb5_make_fulladdr
        - Src:             'privsafe.c:94,19'
          Dst:             krb5_make_fulladdr
    - functionName:    k5_privsafe_gen_rdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/privsafe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          206
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - krb5_us_timeofday
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'privsafe.c:53,15'
          Dst:             krb5_us_timeofday
    - functionName:    krb5_rd_error
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/rd_error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          60
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - decode_krb5_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rd_error.c:43,12'
          Dst:             decode_krb5_error
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read_krbpriv
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/rd_priv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          216
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - alloc_data
        - decode_krb5_enc_priv_part
        - decode_krb5_priv
        - empty_data
        - k5_privsafe_check_addrs
        - krb5_free_priv
        - krb5_free_priv_enc_part
        - krb5_k_decrypt
        - zapfree
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rd_priv.c:51,27'
          Dst:             empty_data
        - Src:             'rd_priv.c:59,11'
          Dst:             decode_krb5_priv
        - Src:             'rd_priv.c:63,11'
          Dst:             alloc_data
        - Src:             'rd_priv.c:68,11'
          Dst:             krb5_k_decrypt
        - Src:             'rd_priv.c:73,11'
          Dst:             decode_krb5_enc_priv_part
        - Src:             'rd_priv.c:77,11'
          Dst:             k5_privsafe_check_addrs
        - Src:             'rd_priv.c:93,5'
          Dst:             krb5_free_priv_enc_part
        - Src:             'rd_priv.c:94,5'
          Dst:             krb5_free_priv
        - Src:             'rd_priv.c:95,5'
          Dst:             zapfree
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    krb5_rd_priv
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/rd_priv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          222
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - empty_data
        - k5_privsafe_check_replay
        - k5_privsafe_check_seqnum
        - krb5_free_data_contents
        - read_krbpriv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rd_priv.c:108,26'
          Dst:             empty_data
        - Src:             'rd_priv.c:111,21'
          Dst:             empty_data
        - Src:             'rd_priv.c:120,11'
          Dst:             read_krbpriv
        - Src:             'rd_priv.c:124,11'
          Dst:             k5_privsafe_check_replay
        - Src:             'rd_priv.c:129,14'
          Dst:             k5_privsafe_check_seqnum
        - Src:             'rd_priv.c:144,16'
          Dst:             empty_data
        - Src:             'rd_priv.c:147,5'
          Dst:             krb5_free_data_contents
        - Src:             'rd_priv.c:148,5'
          Dst:             krb5_free_data_contents
    - functionName:    krb5_rd_rep_dce
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/rd_rep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          207
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached:
        - decode_krb5_ap_rep
        - decode_krb5_ap_rep_enc_part
        - krb5_free_ap_rep
        - krb5_free_ap_rep_enc_part
        - krb5_k_decrypt
        - krb5int_trace
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'rd_rep.c:161,19'
          Dst:             decode_krb5_ap_rep
        - Src:             'rd_rep.c:168,9'
          Dst:             krb5_free_ap_rep
        - Src:             'rd_rep.c:172,19'
          Dst:             krb5_k_decrypt
        - Src:             'rd_rep.c:178,14'
          Dst:             decode_krb5_ap_rep_enc_part
        - Src:             'rd_rep.c:194,5'
          Dst:             krb5int_trace
        - Src:             'rd_rep.c:200,9'
          Dst:             krb5_free_ap_rep_enc_part
        - Src:             'rd_rep.c:201,5'
          Dst:             krb5_free_ap_rep
    - functionName:    krb5_rd_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/rd_rep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          283
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - decode_krb5_ap_rep
        - decode_krb5_ap_rep_enc_part
        - krb5_auth_con_setrecvsubkey
        - krb5_auth_con_setsendsubkey
        - krb5_free_ap_rep
        - krb5_free_ap_rep_enc_part
        - krb5_k_decrypt
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rd_rep.c:83,14'
          Dst:             decode_krb5_ap_rep
        - Src:             'rd_rep.c:95,14'
          Dst:             krb5_k_decrypt
        - Src:             'rd_rep.c:102,14'
          Dst:             decode_krb5_ap_rep_enc_part
        - Src:             'rd_rep.c:115,18'
          Dst:             krb5_auth_con_setrecvsubkey
        - Src:             'rd_rep.c:119,18'
          Dst:             krb5_auth_con_setsendsubkey
        - Src:             'rd_rep.c:122,20'
          Dst:             krb5_auth_con_setrecvsubkey
        - Src:             'rd_rep.c:132,5'
          Dst:             krb5int_trace
        - Src:             'rd_rep.c:142,5'
          Dst:             krb5_free_ap_rep
        - Src:             'rd_rep.c:143,5'
          Dst:             krb5_free_ap_rep_enc_part
    - functionName:    check_referral_path
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 842
      functionLinenumberEnd: 850
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          60
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_principal_compare
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:846,13'
          Dst:             krb5_principal_compare
    - functionName:    chase_referrals
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 861
      functionLinenumberEnd: 920
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          227
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - check_referral_path
        - data_eq
        - data_eq_string
        - krb5_free_creds
        - krb5_get_cred_via_tkt
        - krb5_principal_compare_any_realm
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:878,16'
          Dst:             krb5_get_cred_via_tkt
        - Src:             's4u_creds.c:883,13'
          Dst:             krb5_principal_compare_any_realm
        - Src:             's4u_creds.c:891,14'
          Dst:             data_eq_string
        - Src:             's4u_creds.c:896,13'
          Dst:             data_eq
        - Src:             's4u_creds.c:901,16'
          Dst:             check_referral_path
        - Src:             's4u_creds.c:917,9'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:918,5'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:919,5'
          Dst:             krb5_free_creds
    - functionName:    data_eq_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2229
      functionLinenumberEnd: 2231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2230,25'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2231,40'
          Dst:             memcmp
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    get_target_realm_proxy_tgt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 954
      functionLinenumberEnd: 982
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          120
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - chase_referrals
        - data_eq
        - krb5_free_creds
        - krb5_free_principal
        - krb5int_tgtname
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:960,9'
          Dst:             data_eq
        - Src:             's4u_creds.c:963,12'
          Dst:             krb5int_tgtname
        - Src:             's4u_creds.c:973,12'
          Dst:             chase_referrals
        - Src:             's4u_creds.c:974,5'
          Dst:             krb5_free_principal
        - Src:             's4u_creds.c:978,5'
          Dst:             krb5_free_creds
    - functionName:    get_tgt_to_target_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 943
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          52
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - chase_referrals
        - empty_data
        - krb5_free_creds
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:937,28'
          Dst:             empty_data
        - Src:             's4u_creds.c:940,12'
          Dst:             chase_referrals
        - Src:             's4u_creds.c:941,5'
          Dst:             krb5_free_creds
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_rbcd_support
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 742
      functionLinenumberEnd: 762
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          81
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - decode_krb5_pa_pac_options
        - krb5int_find_pa_data
        - make_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:748,10'
          Dst:             krb5int_find_pa_data
        - Src:             's4u_creds.c:752,23'
          Dst:             make_data
        - Src:             's4u_creds.c:753,12'
          Dst:             decode_krb5_pa_pac_options
    - functionName:    add_rbcd_padata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 766
      functionLinenumberEnd: 782
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - encode_krb5_pa_pac_options
        - k5_add_pa_data_from_data
        - krb5_free_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:774,12'
          Dst:             encode_krb5_pa_pac_options
        - Src:             's4u_creds.c:778,12'
          Dst:             k5_add_pa_data_from_data
        - Src:             's4u_creds.c:780,5'
          Dst:             krb5_free_data
    - functionName:    normalize_server_princ
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 815
      functionLinenumberEnd: 836
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          81
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_copy_principal
        - krb5_free_data_contents
        - krb5_free_principal
        - krb5_is_referral_realm
        - krb5int_copy_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:821,12'
          Dst:             krb5_copy_principal
        - Src:             's4u_creds.c:825,9'
          Dst:             krb5_is_referral_realm
        - Src:             's4u_creds.c:826,9'
          Dst:             krb5_free_data_contents
        - Src:             's4u_creds.c:827,16'
          Dst:             krb5int_copy_data_contents
        - Src:             's4u_creds.c:829,13'
          Dst:             krb5_free_principal
    - functionName:    get_client_tgt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 788
      functionLinenumberEnd: 805
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          67
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_principal
        - krb5_get_credentials
        - krb5int_tgtname
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:795,12'
          Dst:             krb5int_tgtname
        - Src:             's4u_creds.c:802,12'
          Dst:             krb5_get_credentials
        - Src:             's4u_creds.c:803,5'
          Dst:             krb5_free_principal
    - functionName:    make_pa_for_user_checksum
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          297
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - krb5_c_make_checksum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:131,12'
          Dst:             krb5_c_make_checksum
    - functionName:    verify_s4u2self_reply
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         59
      ICount:          389
      EdgeCount:       77
      CyclomaticComplexity: 20
      functionsReached:
        - __assert_fail
        - decode_krb5_pa_s4u_x509_user
        - encode_krb5_s4u_userid
        - krb5_c_is_keyed_cksum
        - krb5_c_verify_checksum
        - krb5_copy_principal
        - krb5_free_data
        - krb5_free_pa_s4u_x509_user
        - krb5_free_principal
        - krb5_principal_compare
        - krb5int_find_pa_data
        - memcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   's4u_creds.c:290,5'
          Branch Sides:    []
      Callsites:
        - Src:             's4u_creds.c:288,5'
          Dst:             __assert_fail
        - Src:             's4u_creds.c:302,22'
          Dst:             krb5int_find_pa_data
        - Src:             's4u_creds.c:306,22'
          Dst:             krb5int_find_pa_data
        - Src:             's4u_creds.c:315,12'
          Dst:             decode_krb5_pa_s4u_x509_user
        - Src:             's4u_creds.c:324,12'
          Dst:             encode_krb5_s4u_userid
        - Src:             's4u_creds.c:333,12'
          Dst:             krb5_c_verify_checksum
        - Src:             's4u_creds.c:349,9'
          Dst:             krb5_free_principal
        - Src:             's4u_creds.c:350,16'
          Dst:             krb5_copy_principal
        - Src:             's4u_creds.c:354,17'
          Dst:             krb5_principal_compare
        - Src:             's4u_creds.c:377,17'
          Dst:             memcmp
        - Src:             's4u_creds.c:380,17'
          Dst:             memcmp
        - Src:             's4u_creds.c:387,17'
          Dst:             krb5_c_is_keyed_cksum
        - Src:             's4u_creds.c:393,5'
          Dst:             krb5_free_pa_s4u_x509_user
        - Src:             's4u_creds.c:394,5'
          Dst:             krb5_free_data
    - functionName:    build_pa_s4u_x509_user
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          263
      EdgeCount:       49
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - encode_krb5_pa_s4u_x509_user
        - encode_krb5_s4u_userid
        - krb5_c_make_checksum
        - krb5_free_checksum_contents
        - krb5_free_data
        - krb5int_c_mandatory_cksumtype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:210,5'
          Dst:             __assert_fail
        - Src:             's4u_creds.c:214,12'
          Dst:             encode_krb5_s4u_userid
        - Src:             's4u_creds.c:223,16'
          Dst:             krb5int_c_mandatory_cksumtype
        - Src:             's4u_creds.c:229,12'
          Dst:             krb5_c_make_checksum
        - Src:             's4u_creds.c:235,5'
          Dst:             krb5_free_data
        - Src:             's4u_creds.c:238,12'
          Dst:             encode_krb5_pa_s4u_x509_user
        - Src:             's4u_creds.c:244,5'
          Dst:             __assert_fail
        - Src:             's4u_creds.c:249,5'
          Dst:             __assert_fail
        - Src:             's4u_creds.c:258,9'
          Dst:             krb5_free_checksum_contents
        - Src:             's4u_creds.c:261,5'
          Dst:             krb5_free_data
    - functionName:    build_pa_for_user
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          135
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - encode_krb5_pa_for_user
        - krb5_free_checksum_contents
        - krb5_free_data
        - make_pa_for_user_checksum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:160,12'
          Dst:             make_pa_for_user_checksum
        - Src:             's4u_creds.c:165,12'
          Dst:             encode_krb5_pa_for_user
        - Src:             's4u_creds.c:187,9'
          Dst:             krb5_free_checksum_contents
        - Src:             's4u_creds.c:188,5'
          Dst:             krb5_free_data
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    convert_to_enterprise
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_unparsed_name
        - krb5_parse_name_flags
        - krb5_unparse_name
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:408,12'
          Dst:             krb5_unparse_name
        - Src:             's4u_creds.c:411,12'
          Dst:             krb5_parse_name_flags
        - Src:             's4u_creds.c:415,5'
          Dst:             krb5_free_unparsed_name
    - functionName:    krb5_get_credentials_for_proxy
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1207
      functionLinenumberEnd: 1262
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          183
      EdgeCount:       41
      CyclomaticComplexity: 13
      functionsReached:
        - encode_krb5_ticket
        - k5_get_proxy_cred_from_kdc
        - krb5_free_creds
        - krb5_free_data
        - krb5_principal_compare
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:1224,10'
          Dst:             krb5_principal_compare
        - Src:             's4u_creds.c:1230,12'
          Dst:             encode_krb5_ticket
        - Src:             's4u_creds.c:1238,12'
          Dst:             k5_get_proxy_cred_from_kdc
        - Src:             's4u_creds.c:1248,10'
          Dst:             krb5_principal_compare
        - Src:             's4u_creds.c:1256,9'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:1260,9'
          Dst:             krb5_free_data
    - functionName:    k5_get_proxy_cred_from_kdc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1151
      functionLinenumberEnd: 1192
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          212
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - free_canonprinc
        - get_proxy_cred_from_kdc
        - k5_canonprinc
        - k5_get_cached_cred
        - krb5_cc_store_cred
        - krb5_copy_principal
        - krb5_free_creds
        - krb5_free_principal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:1159,12'
          Dst:             k5_get_cached_cred
        - Src:             's4u_creds.c:1165,20'
          Dst:             k5_canonprinc
        - Src:             's4u_creds.c:1168,16'
          Dst:             get_proxy_cred_from_kdc
        - Src:             's4u_creds.c:1175,5'
          Dst:             free_canonprinc
        - Src:             's4u_creds.c:1179,5'
          Dst:             krb5_free_principal
        - Src:             's4u_creds.c:1181,12'
          Dst:             krb5_copy_principal
        - Src:             's4u_creds.c:1183,9'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:1188,15'
          Dst:             krb5_cc_store_cred
    - functionName:    get_proxy_cred_from_kdc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 988
      functionLinenumberEnd: 1145
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          475
      EdgeCount:       81
      CyclomaticComplexity: 25
      functionsReached:
        - add_rbcd_padata
        - check_rbcd_support
        - data_eq_string
        - dgettext
        - empty_data
        - get_client_tgt
        - get_target_realm_proxy_tgt
        - get_tgt_to_target_realm
        - krb5_copy_authdata
        - krb5_free_creds
        - krb5_free_data_contents
        - krb5_free_pa_data
        - krb5_free_principal
        - krb5_get_cred_via_tkt_ext
        - krb5_principal_compare
        - krb5_principal_compare_any_realm
        - krb5_realm_compare
        - krb5_set_error_message
        - krb5int_copy_data_contents
        - normalize_server_princ
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:1004,12'
          Dst:             get_client_tgt
        - Src:             's4u_creds.c:1008,12'
          Dst:             normalize_server_princ
        - Src:             's4u_creds.c:1013,12'
          Dst:             add_rbcd_padata
        - Src:             's4u_creds.c:1029,12'
          Dst:             krb5_get_cred_via_tkt_ext
        - Src:             's4u_creds.c:1042,10'
          Dst:             krb5_realm_compare
        - Src:             's4u_creds.c:1043,34'
          Dst:             dgettext
        - Src:             's4u_creds.c:1043,9'
          Dst:             krb5_set_error_message
        - Src:             's4u_creds.c:1050,10'
          Dst:             krb5_principal_compare_any_realm
        - Src:             's4u_creds.c:1052,14'
          Dst:             data_eq_string
        - Src:             's4u_creds.c:1066,16'
          Dst:             check_rbcd_support
        - Src:             's4u_creds.c:1070,9'
          Dst:             krb5_free_pa_data
        - Src:             's4u_creds.c:1078,16'
          Dst:             get_tgt_to_target_realm
        - Src:             's4u_creds.c:1087,16'
          Dst:             get_target_realm_proxy_tgt
        - Src:             's4u_creds.c:1092,9'
          Dst:             krb5_free_data_contents
        - Src:             's4u_creds.c:1093,16'
          Dst:             krb5int_copy_data_contents
        - Src:             's4u_creds.c:1101,23'
          Dst:             empty_data
        - Src:             's4u_creds.c:1102,9'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:1106,16'
          Dst:             krb5_get_cred_via_tkt_ext
        - Src:             's4u_creds.c:1113,16'
          Dst:             check_rbcd_support
        - Src:             's4u_creds.c:1117,14'
          Dst:             krb5_principal_compare
        - Src:             's4u_creds.c:1123,9'
          Dst:             krb5_free_data_contents
        - Src:             's4u_creds.c:1124,16'
          Dst:             krb5int_copy_data_contents
        - Src:             's4u_creds.c:1131,12'
          Dst:             krb5_copy_authdata
        - Src:             's4u_creds.c:1139,5'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:1140,5'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:1141,5'
          Dst:             krb5_free_principal
        - Src:             's4u_creds.c:1142,5'
          Dst:             krb5_free_pa_data
        - Src:             's4u_creds.c:1143,5'
          Dst:             krb5_free_pa_data
    - functionName:    free_canonprinc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/./../os/os-proto.h'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_get_self_cred_from_kdc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 427
      functionLinenumberEnd: 644
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         90
      ICount:          763
      EdgeCount:       122
      CyclomaticComplexity: 34
      functionsReached:
        - build_pa_for_user
        - build_pa_s4u_x509_user
        - convert_to_enterprise
        - data_eq
        - data_eq_string
        - empty_data
        - k5alloc
        - k5calloc
        - krb5_build_principal_ext
        - krb5_copy_principal
        - krb5_free_checksum_contents
        - krb5_free_creds
        - krb5_free_keyblock
        - krb5_free_pa_data
        - krb5_free_principal
        - krb5_get_cred_via_tkt_ext
        - krb5_get_credentials
        - krb5_principal_compare
        - krb5_principal_compare_any_realm
        - krb5int_tgtname
        - verify_s4u2self_reply
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:445,20'
          Dst:             krb5_build_principal_ext
        - Src:             's4u_creds.c:456,20'
          Dst:             krb5_copy_principal
        - Src:             's4u_creds.c:463,16'
          Dst:             krb5_build_principal_ext
        - Src:             's4u_creds.c:474,12'
          Dst:             krb5int_tgtname
        - Src:             's4u_creds.c:482,12'
          Dst:             krb5_get_credentials
        - Src:             's4u_creds.c:490,12'
          Dst:             convert_to_enterprise
        - Src:             's4u_creds.c:517,21'
          Dst:             k5calloc
        - Src:             's4u_creds.c:521,24'
          Dst:             k5alloc
        - Src:             's4u_creds.c:523,13'
          Dst:             krb5_free_pa_data
        - Src:             's4u_creds.c:533,20'
          Dst:             build_pa_for_user
        - Src:             's4u_creds.c:543,17'
          Dst:             krb5_free_pa_data
        - Src:             's4u_creds.c:548,13'
          Dst:             data_eq
        - Src:             's4u_creds.c:559,16'
          Dst:             krb5_get_cred_via_tkt_ext
        - Src:             's4u_creds.c:559,16'
          Dst:             build_pa_s4u_x509_user
        - Src:             's4u_creds.c:569,13'
          Dst:             krb5_free_checksum_contents
        - Src:             's4u_creds.c:570,13'
          Dst:             krb5_free_pa_data
        - Src:             's4u_creds.c:576,16'
          Dst:             verify_s4u2self_reply
        - Src:             's4u_creds.c:579,9'
          Dst:             krb5_free_checksum_contents
        - Src:             's4u_creds.c:580,9'
          Dst:             krb5_free_pa_data
        - Src:             's4u_creds.c:581,9'
          Dst:             krb5_free_pa_data
        - Src:             's4u_creds.c:582,9'
          Dst:             krb5_free_pa_data
        - Src:             's4u_creds.c:583,9'
          Dst:             krb5_free_keyblock
        - Src:             's4u_creds.c:593,41'
          Dst:             empty_data
        - Src:             's4u_creds.c:595,13'
          Dst:             krb5_principal_compare_any_realm
        - Src:             's4u_creds.c:599,18'
          Dst:             krb5_principal_compare
        - Src:             's4u_creds.c:603,20'
          Dst:             data_eq_string
        - Src:             's4u_creds.c:607,17'
          Dst:             data_eq
        - Src:             's4u_creds.c:608,17'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:614,21'
          Dst:             krb5_principal_compare
        - Src:             's4u_creds.c:626,13'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:636,13'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:638,5'
          Dst:             krb5_free_principal
        - Src:             's4u_creds.c:639,5'
          Dst:             krb5_free_principal
        - Src:             's4u_creds.c:640,5'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:641,5'
          Dst:             krb5_free_principal
        - Src:             's4u_creds.c:642,5'
          Dst:             krb5_free_checksum_contents
    - functionName:    s4u_identify_user
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          152
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - empty_data
        - k5_identify_realm
        - krb5_anonymous_principal
        - krb5_copy_principal
        - krb5_principal_compare
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:46,28'
          Dst:             empty_data
        - Src:             's4u_creds.c:59,44'
          Dst:             krb5_anonymous_principal
        - Src:             's4u_creds.c:58,21'
          Dst:             krb5_principal_compare
        - Src:             's4u_creds.c:61,16'
          Dst:             krb5_copy_principal
        - Src:             's4u_creds.c:72,16'
          Dst:             k5_identify_realm
        - Src:             's4u_creds.c:87,12'
          Dst:             k5_identify_realm
    - functionName:    krb5_get_credentials_for_user
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/s4u_creds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 652
      functionLinenumberEnd: 737
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         62
      ICount:          361
      EdgeCount:       84
      CyclomaticComplexity: 24
      functionsReached:
        - __assert_fail
        - krb5_cc_store_cred
        - krb5_copy_authdata
        - krb5_free_creds
        - krb5_free_principal
        - krb5_get_credentials
        - krb5_get_self_cred_from_kdc
        - krb5_principal_compare
        - s4u_identify_user
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             's4u_creds.c:665,16'
          Dst:             krb5_get_credentials
        - Src:             's4u_creds.c:676,12'
          Dst:             s4u_identify_user
        - Src:             's4u_creds.c:685,16'
          Dst:             krb5_get_credentials
        - Src:             's4u_creds.c:691,12'
          Dst:             krb5_get_self_cred_from_kdc
        - Src:             's4u_creds.c:696,5'
          Dst:             __assert_fail
        - Src:             's4u_creds.c:701,10'
          Dst:             krb5_principal_compare
        - Src:             's4u_creds.c:706,16'
          Dst:             krb5_get_credentials
        - Src:             's4u_creds.c:709,13'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:718,12'
          Dst:             krb5_copy_authdata
        - Src:             's4u_creds.c:724,16'
          Dst:             krb5_cc_store_cred
        - Src:             's4u_creds.c:731,9'
          Dst:             krb5_free_creds
        - Src:             's4u_creds.c:735,5'
          Dst:             krb5_free_principal
    - functionName:    krb5int_tgtname
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/tgtname.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_build_principal_ext
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'tgtname.c:33,12'
          Dst:             krb5_build_principal_ext
    - functionName:    ts_incr
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2364
      functionLinenumberEnd: 2365
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ts_after
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2371
      functionLinenumberEnd: 2372
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_validate_times
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/valid_times.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          91
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - krb5_timeofday
        - ts_after
        - ts_incr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'valid_times.c:41,19'
          Dst:             krb5_timeofday
        - Src:             'valid_times.c:50,29'
          Dst:             ts_incr
        - Src:             'valid_times.c:50,9'
          Dst:             ts_after
        - Src:             'valid_times.c:53,31'
          Dst:             ts_incr
        - Src:             'valid_times.c:53,9'
          Dst:             ts_after
    - functionName:    rtree_hier_tweens
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/walk_rtree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 481
      functionLinenumberEnd: 513
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          179
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'walk_rtree.c:497,16'
          Dst:             realloc
    - functionName:    adjtail
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/walk_rtree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 522
      functionLinenumberEnd: 558
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          185
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    comtail
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/walk_rtree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 570
      functionLinenumberEnd: 613
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          156
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_realmlist
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/walk_rtree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 458
      functionLinenumberEnd: 464
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          43
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_free_data_contents
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'walk_rtree.c:462,9'
          Dst:             krb5_free_data_contents
    - functionName:    rtree_hier_realms
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/walk_rtree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 400
      functionLinenumberEnd: 452
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          221
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - adjtail
        - calloc
        - comtail
        - free_realmlist
        - krb5int_copy_data_contents
        - rtree_hier_tweens
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'walk_rtree.c:417,5'
          Dst:             comtail
        - Src:             'walk_rtree.c:418,5'
          Dst:             adjtail
        - Src:             'walk_rtree.c:420,14'
          Dst:             rtree_hier_tweens
        - Src:             'walk_rtree.c:422,14'
          Dst:             rtree_hier_tweens
        - Src:             'walk_rtree.c:425,14'
          Dst:             calloc
        - Src:             'walk_rtree.c:432,18'
          Dst:             krb5int_copy_data_contents
        - Src:             'walk_rtree.c:438,18'
          Dst:             krb5int_copy_data_contents
        - Src:             'walk_rtree.c:446,9'
          Dst:             free_realmlist
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    krb5_free_realm_tree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/walk_rtree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 617
      functionLinenumberEnd: 626
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_free_principal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'walk_rtree.c:622,9'
          Dst:             krb5_free_principal
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_client_realm_path
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/walk_rtree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          239
      EdgeCount:       48
      CyclomaticComplexity: 14
      functionsReached:
        - calloc
        - empty_data
        - krb5int_copy_data_contents
        - krb5int_free_data_list
        - make_data
        - profile_free_list
        - rtree_capath_vals
        - strcspn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'walk_rtree.c:132,14'
          Dst:             rtree_capath_vals
        - Src:             'walk_rtree.c:138,9'
          Dst:             profile_free_list
        - Src:             'walk_rtree.c:145,13'
          Dst:             calloc
        - Src:             'walk_rtree.c:150,14'
          Dst:             krb5int_copy_data_contents
        - Src:             'walk_rtree.c:154,35'
          Dst:             strcspn
        - Src:             'walk_rtree.c:154,13'
          Dst:             make_data
        - Src:             'walk_rtree.c:155,18'
          Dst:             krb5int_copy_data_contents
        - Src:             'walk_rtree.c:159,14'
          Dst:             krb5int_copy_data_contents
        - Src:             'walk_rtree.c:164,20'
          Dst:             empty_data
        - Src:             'walk_rtree.c:169,5'
          Dst:             profile_free_list
        - Src:             'walk_rtree.c:170,5'
          Dst:             krb5int_free_data_list
    - functionName:    rtree_capath_vals
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/walk_rtree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 303
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          102
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - k5memdup0
        - profile_get_values
      functionUses:    2
      BranchProfiles:
        - Branch String:   'walk_rtree.c:324,5'
          Branch Sides:    []
      Callsites:
        - Src:             'walk_rtree.c:311,15'
          Dst:             k5memdup0
        - Src:             'walk_rtree.c:315,15'
          Dst:             k5memdup0
        - Src:             'walk_rtree.c:323,14'
          Dst:             profile_get_values
    - functionName:    rtree_hier_tree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/walk_rtree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          176
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - calloc
        - free_realmlist
        - krb5_free_principal
        - krb5int_tgtname
        - rtree_hier_realms
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'walk_rtree.c:358,14'
          Dst:             rtree_hier_realms
        - Src:             'walk_rtree.c:363,21'
          Dst:             calloc
        - Src:             'walk_rtree.c:373,18'
          Dst:             krb5int_tgtname
        - Src:             'walk_rtree.c:378,5'
          Dst:             free_realmlist
        - Src:             'walk_rtree.c:382,9'
          Dst:             krb5_free_principal
        - Src:             'walk_rtree.c:385,5'
          Dst:             free_realmlist
    - functionName:    rtree_capath_tree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/walk_rtree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          254
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - calloc
        - krb5_free_principal
        - krb5int_tgtname
        - profile_free_list
        - strcspn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'walk_rtree.c:256,12'
          Dst:             calloc
        - Src:             'walk_rtree.c:266,14'
          Dst:             krb5int_tgtname
        - Src:             'walk_rtree.c:271,27'
          Dst:             strcspn
        - Src:             'walk_rtree.c:272,18'
          Dst:             krb5int_tgtname
        - Src:             'walk_rtree.c:276,14'
          Dst:             krb5int_tgtname
        - Src:             'walk_rtree.c:281,5'
          Dst:             profile_free_list
        - Src:             'walk_rtree.c:285,13'
          Dst:             krb5_free_principal
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    krb5_walk_realm_tree
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/walk_rtree.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          109
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - data_eq
        - rtree_capath_tree
        - rtree_capath_vals
        - rtree_hier_tree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'walk_rtree.c:108,9'
          Dst:             data_eq
        - Src:             'walk_rtree.c:110,14'
          Dst:             rtree_capath_vals
        - Src:             'walk_rtree.c:115,18'
          Dst:             rtree_capath_tree
        - Src:             'walk_rtree.c:119,14'
          Dst:             rtree_hier_tree
    - functionName:    k5_memrcache_free
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/memrcache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          69
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - discard_entry
        - k5_hashtab_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'memrcache.c:161,9'
          Dst:             discard_entry
        - Src:             'memrcache.c:163,5'
          Dst:             k5_hashtab_free
    - functionName:    discard_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/memrcache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          83
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - k5_hashtab_remove
        - krb5_free_data_contents
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'memrcache.c:89,5'
          Dst:             k5_hashtab_remove
        - Src:             'memrcache.c:91,5'
          Dst:             krb5_free_data_contents
    - functionName:    insert_entry
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/memrcache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          127
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - k5_hashtab_add
        - krb5_free_data_contents
        - krb5int_copy_data_contents
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'memrcache.c:59,13'
          Dst:             calloc
        - Src:             'memrcache.c:64,11'
          Dst:             krb5int_copy_data_contents
        - Src:             'memrcache.c:68,11'
          Dst:             k5_hashtab_add
        - Src:             'memrcache.c:78,9'
          Dst:             krb5_free_data_contents
    - functionName:    ts_incr
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2364
      functionLinenumberEnd: 2365
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ts_after
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2371
      functionLinenumberEnd: 2372
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_memrcache_store
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/memrcache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          118
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - discard_entry
        - insert_entry
        - k5_hashtab_get
        - krb5_timeofday
        - ts_after
        - ts_incr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'memrcache.c:132,11'
          Dst:             krb5_timeofday
        - Src:             'memrcache.c:137,9'
          Dst:             k5_hashtab_get
        - Src:             'memrcache.c:143,28'
          Dst:             ts_incr
        - Src:             'memrcache.c:143,14'
          Dst:             ts_after
        - Src:             'memrcache.c:145,9'
          Dst:             discard_entry
        - Src:             'memrcache.c:149,12'
          Dst:             insert_entry
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_memrcache_create
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/memrcache.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          92
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - k5_hashtab_create
        - krb5_c_random_make_octets
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'memrcache.c:102,27'
          Dst:             make_data
        - Src:             'memrcache.c:106,11'
          Dst:             krb5_c_random_make_octets
        - Src:             'memrcache.c:110,11'
          Dst:             calloc
        - Src:             'memrcache.c:113,11'
          Dst:             k5_hashtab_create
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    krb5_rc_initialize
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_base.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_rc_get_lifespan
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_base.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_rc_destroy
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_base.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_rc_default
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_base.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    k5_rc_get_name
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_base.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_rc_tag_from_ciphertext
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_base.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          91
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - empty_data
        - krb5_c_crypto_length
        - make_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_base.c:154,16'
          Dst:             empty_data
        - Src:             'rc_base.c:156,11'
          Dst:             krb5_c_crypto_length
        - Src:             'rc_base.c:162,16'
          Dst:             make_data
    - functionName:    k5_rc_store
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_base.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_rc_tag_from_ciphertext
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_base.c:134,11'
          Dst:             k5_rc_tag_from_ciphertext
    - functionName:    k5_rc_close
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_base.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5_rc_resolve
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_base.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          189
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - k5alloc
        - strchr
        - strdup
        - strncmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_base.c:82,11'
          Dst:             strchr
        - Src:             'rc_base.c:88,13'
          Dst:             strncmp
        - Src:             'rc_base.c:94,10'
          Dst:             k5alloc
        - Src:             'rc_base.c:97,16'
          Dst:             strdup
    - functionName:    k5_rc_default
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_base.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          117
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - asprintf
        - k5_expand_path_tokens
        - k5_rc_resolve
        - profile_get_string
        - profile_release_string
        - secure_getenv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_base.c:37,11'
          Dst:             secure_getenv
        - Src:             'rc_base.c:39,16'
          Dst:             k5_rc_resolve
        - Src:             'rc_base.c:43,11'
          Dst:             secure_getenv
        - Src:             'rc_base.c:45,13'
          Dst:             asprintf
        - Src:             'rc_base.c:47,15'
          Dst:             k5_rc_resolve
        - Src:             'rc_base.c:54,9'
          Dst:             profile_get_string
        - Src:             'rc_base.c:57,15'
          Dst:             k5_expand_path_tokens
        - Src:             'rc_base.c:58,9'
          Dst:             profile_release_string
        - Src:             'rc_base.c:61,15'
          Dst:             k5_rc_resolve
        - Src:             'rc_base.c:67,12'
          Dst:             k5_rc_resolve
    - functionName:    open_file
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_dfl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          141
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - asprintf
        - close
        - error_message
        - fstat
        - geteuid
        - krb5_set_error_message
        - open
        - secure_getenv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_dfl.c:90,18'
          Dst:             geteuid
        - Src:             'rc_dfl.c:94,11'
          Dst:             secure_getenv
        - Src:             'rc_dfl.c:96,15'
          Dst:             secure_getenv
        - Src:             'rc_dfl.c:100,9'
          Dst:             asprintf
        - Src:             'rc_dfl.c:103,10'
          Dst:             open
        - Src:             'rc_dfl.c:105,15'
          Dst:             __errno_location
        - Src:             'rc_dfl.c:107,19'
          Dst:             error_message
        - Src:             'rc_dfl.c:106,9'
          Dst:             krb5_set_error_message
        - Src:             'rc_dfl.c:111,9'
          Dst:             fstat
        - Src:             'rc_dfl.c:113,9'
          Dst:             krb5_set_error_message
        - Src:             'rc_dfl.c:124,9'
          Dst:             close
    - functionName:    dfl_store
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_dfl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - close
        - k5_rcfile2_store
        - open_file
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_dfl.c:149,11'
          Dst:             open_file
        - Src:             'rc_dfl.c:153,11'
          Dst:             k5_rcfile2_store
        - Src:             'rc_dfl.c:154,5'
          Dst:             close
    - functionName:    dfl_close
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_dfl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dfl_resolve
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_dfl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ts_incr
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2364
      functionLinenumberEnd: 2365
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ts_after
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2371
      functionLinenumberEnd: 2372
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    write_record
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_file2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          74
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - lseek
        - store_32_be
        - write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_file2.c:112,5'
          Dst:             store_32_be
        - Src:             'rc_file2.c:114,10'
          Dst:             lseek
        - Src:             'rc_file2.c:116,16'
          Dst:             __errno_location
        - Src:             'rc_file2.c:117,10'
          Dst:             write
        - Src:             'rc_file2.c:119,16'
          Dst:             __errno_location
    - functionName:    expired
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_file2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ts_after
        - ts_incr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_file2.c:131,26'
          Dst:             ts_incr
        - Src:             'rc_file2.c:131,12'
          Dst:             ts_after
    - functionName:    read_records
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_file2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          109
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - load_32_be
        - lseek
        - read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_file2.c:83,10'
          Dst:             lseek
        - Src:             'rc_file2.c:85,16'
          Dst:             __errno_location
        - Src:             'rc_file2.c:86,10'
          Dst:             read
        - Src:             'rc_file2.c:88,16'
          Dst:             __errno_location
        - Src:             'rc_file2.c:92,27'
          Dst:             load_32_be
        - Src:             'rc_file2.c:97,27'
          Dst:             load_32_be
    - functionName:    next_table
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_file2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          86
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    file2_store
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_file2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          60
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - close
        - error_message
        - k5_rcfile2_store
        - krb5_set_error_message
        - open
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_file2.c:248,10'
          Dst:             open
        - Src:             'rc_file2.c:250,15'
          Dst:             __errno_location
        - Src:             'rc_file2.c:251,54'
          Dst:             error_message
        - Src:             'rc_file2.c:251,9'
          Dst:             krb5_set_error_message
        - Src:             'rc_file2.c:255,11'
          Dst:             k5_rcfile2_store
        - Src:             'rc_file2.c:256,5'
          Dst:             close
    - functionName:    k5_rcfile2_store
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_file2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          108
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_lock_file
        - krb5_timeofday
        - krb5_unlock_file
        - store
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_file2.c:207,11'
          Dst:             krb5_timeofday
        - Src:             'rc_file2.c:220,11'
          Dst:             krb5_lock_file
        - Src:             'rc_file2.c:223,11'
          Dst:             store
        - Src:             'rc_file2.c:224,11'
          Dst:             krb5_unlock_file
    - functionName:    store
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_file2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         61
      ICount:          331
      EdgeCount:       84
      CyclomaticComplexity: 25
      functionsReached:
        - __errno_location
        - expired
        - k5_siphash24
        - krb5_c_random_make_octets
        - make_data
        - memcmp
        - next_table
        - read
        - read_records
        - write
        - write_record
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_file2.c:149,10'
          Dst:             read
        - Src:             'rc_file2.c:151,16'
          Dst:             __errno_location
        - Src:             'rc_file2.c:153,13'
          Dst:             make_data
        - Src:             'rc_file2.c:154,15'
          Dst:             krb5_c_random_make_octets
        - Src:             'rc_file2.c:157,14'
          Dst:             write
        - Src:             'rc_file2.c:159,20'
          Dst:             __errno_location
        - Src:             'rc_file2.c:165,15'
          Dst:             next_table
        - Src:             'rc_file2.c:169,15'
          Dst:             k5_siphash24
        - Src:             'rc_file2.c:172,15'
          Dst:             read_records
        - Src:             'rc_file2.c:177,39'
          Dst:             memcmp
        - Src:             'rc_file2.c:178,39'
          Dst:             memcmp
        - Src:             'rc_file2.c:184,43'
          Dst:             expired
        - Src:             'rc_file2.c:186,48'
          Dst:             expired
        - Src:             'rc_file2.c:193,20'
          Dst:             write_record
    - functionName:    file2_close
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_file2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    file2_resolve
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_file2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'rc_file2.c:231,19'
          Dst:             strdup
    - functionName:    none_store
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_none.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    none_close
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_none.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    none_resolve
      functionSourceFile: '/src/krb5/src/lib/krb5/rcache/rc_none.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5memdup
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2300
      functionLinenumberEnd: 2305
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2301,17'
          Dst:             k5alloc
    - functionName:    sa2sin6
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sa2sin
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/socket-utils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_os_hostaddr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/hostaddr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          339
      EdgeCount:       64
      CyclomaticComplexity: 13
      functionsReached:
        - k5calloc
        - k5memdup
        - krb5_free_addresses
        - krb5int_freeaddrinfo
        - krb5int_getaddrinfo
        - sa2sin
        - sa2sin6
      functionUses:    1
      BranchProfiles:
        - Branch String:   'hostaddr.c:62,9'
          Branch Sides:    []
        - Branch String:   'hostaddr.c:84,9'
          Branch Sides:    []
      Callsites:
        - Src:             'hostaddr.c:53,9'
          Dst:             krb5int_getaddrinfo
        - Src:             'hostaddr.c:56,13'
          Dst:             krb5int_getaddrinfo
        - Src:             'hostaddr.c:72,13'
          Dst:             k5calloc
        - Src:             'hostaddr.c:87,20'
          Dst:             sa2sin
        - Src:             'hostaddr.c:92,20'
          Dst:             sa2sin6
        - Src:             'hostaddr.c:106,30'
          Dst:             k5memdup
        - Src:             'hostaddr.c:114,9'
          Dst:             krb5int_freeaddrinfo
        - Src:             'hostaddr.c:123,9'
          Dst:             krb5_free_addresses
        - Src:             'hostaddr.c:126,9'
          Dst:             krb5int_freeaddrinfo
    - functionName:    store_32_le
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 647
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_16_le
      functionSourceFile: '/src/krb5/src/lib/krb5/os/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 622
      functionLinenumberEnd: 632
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_make_fulladdr
      functionSourceFile: '/src/krb5/src/lib/krb5/os/mk_faddr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          172
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - store_16_le
        - store_32_le
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'mk_faddr.c:58,5'
          Dst:             store_16_le
        - Src:             'mk_faddr.c:62,5'
          Dst:             store_32_le
        - Src:             'mk_faddr.c:71,5'
          Dst:             store_16_le
        - Src:             'mk_faddr.c:75,5'
          Dst:             store_32_le
    - functionName:    krb5_address_compare
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/addr_comp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          71
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - memcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'addr_comp.c:40,9'
          Dst:             memcmp
    - functionName:    address_count
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/addr_srch.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          39
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_address_search
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/addr_srch.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          84
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - address_count
        - krb5_address_compare
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'addr_srch.c:55,9'
          Dst:             address_count
        - Src:             'addr_srch.c:61,13'
          Dst:             krb5_address_compare
    - functionName:    krb5_authdata_export_authdata
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/authdata_exp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          218
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - krb5_free_authdata
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'authdata_exp.c:74,20'
          Dst:             realloc
        - Src:             'authdata_exp.c:88,9'
          Dst:             krb5_free_authdata
    - functionName:    ts_incr
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2364
      functionLinenumberEnd: 2365
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    kdcrep2creds
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gc_via_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          250
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached:
        - calloc
        - encode_krb5_ticket
        - krb5_copy_addresses
        - krb5_copy_data
        - krb5_copy_keyblock_contents
        - krb5_copy_principal
        - krb5_free_keyblock_contents
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gc_via_tkt.c:45,35'
          Dst:             calloc
        - Src:             'gc_via_tkt.c:49,19'
          Dst:             krb5_copy_principal
        - Src:             'gc_via_tkt.c:53,19'
          Dst:             krb5_copy_principal
        - Src:             'gc_via_tkt.c:57,19'
          Dst:             krb5_copy_keyblock_contents
        - Src:             'gc_via_tkt.c:61,5'
          Dst:             krb5int_trace
        - Src:             'gc_via_tkt.c:64,19'
          Dst:             krb5_copy_data
        - Src:             'gc_via_tkt.c:77,23'
          Dst:             krb5_copy_addresses
        - Src:             'gc_via_tkt.c:82,23'
          Dst:             krb5_copy_addresses
        - Src:             'gc_via_tkt.c:87,19'
          Dst:             encode_krb5_ticket
        - Src:             'gc_via_tkt.c:95,5'
          Dst:             krb5_free_keyblock_contents
    - functionName:    ts_within
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2378
      functionLinenumberEnd: 2379
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ts_after
        - ts_incr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2379,25'
          Dst:             ts_incr
        - Src:             '../../../include/k5-int.h:2379,13'
          Dst:             ts_after
        - Src:             '../../../include/k5-int.h:2379,56'
          Dst:             ts_incr
        - Src:             '../../../include/k5-int.h:2379,44'
          Dst:             ts_after
    - functionName:    ts_after
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2371
      functionLinenumberEnd: 2372
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_reply_server
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gc_via_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          165
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - data_eq_string
        - krb5_principal_compare
        - krb5int_trace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gc_via_tkt.c:108,10'
          Dst:             krb5_principal_compare
        - Src:             'gc_via_tkt.c:114,9'
          Dst:             krb5_principal_compare
        - Src:             'gc_via_tkt.c:124,9'
          Dst:             krb5int_trace
        - Src:             'gc_via_tkt.c:131,10'
          Dst:             data_eq_string
        - Src:             'gc_via_tkt.c:132,10'
          Dst:             data_eq_string
    - functionName:    data_eq_string
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2229
      functionLinenumberEnd: 2231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
        - strlen
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2230,25'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2231,40'
          Dst:             memcmp
    - functionName:    tgt_is_local_realm
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gc_via_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          94
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - data_eq
        - data_eq_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gc_via_tkt.c:144,16'
          Dst:             data_eq_string
        - Src:             'gc_via_tkt.c:145,16'
          Dst:             data_eq
        - Src:             'gc_via_tkt.c:146,16'
          Dst:             data_eq
    - functionName:    krb5int_process_tgs_reply
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gc_via_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         132
      ICount:          822
      EdgeCount:       178
      CyclomaticComplexity: 48
      functionsReached:
        - check_reply_server
        - data_eq_string
        - decode_krb5_error
        - dgettext
        - kdcrep2creds
        - krb5_clear_error_message
        - krb5_free_error
        - krb5_free_kdc_rep
        - krb5_free_unparsed_name
        - krb5_principal_compare
        - krb5_set_error_message
        - krb5_unparse_name
        - krb5int_decode_tgs_rep
        - krb5int_fast_process_error
        - krb5int_find_pa_data
        - krb5int_trace
        - tgt_is_local_realm
        - ts_after
        - ts_within
      functionUses:    2
      BranchProfiles:
        - Branch String:   'gc_via_tkt.c:196,13'
          Branch Sides:    []
      Callsites:
        - Src:             'gc_via_tkt.c:181,16'
          Dst:             krb5int_find_pa_data
        - Src:             'gc_via_tkt.c:183,9'
          Dst:             krb5int_find_pa_data
        - Src:             'gc_via_tkt.c:187,18'
          Dst:             decode_krb5_error
        - Src:             'gc_via_tkt.c:190,18'
          Dst:             krb5int_fast_process_error
        - Src:             'gc_via_tkt.c:199,27'
          Dst:             dgettext
        - Src:             'gc_via_tkt.c:198,17'
          Dst:             krb5_set_error_message
        - Src:             'gc_via_tkt.c:206,21'
          Dst:             krb5_unparse_name
        - Src:             'gc_via_tkt.c:208,31'
          Dst:             dgettext
        - Src:             'gc_via_tkt.c:207,21'
          Dst:             krb5_set_error_message
        - Src:             'gc_via_tkt.c:210,21'
          Dst:             krb5_free_unparsed_name
        - Src:             'gc_via_tkt.c:214,21'
          Dst:             krb5_clear_error_message
        - Src:             'gc_via_tkt.c:219,9'
          Dst:             krb5_free_error
        - Src:             'gc_via_tkt.c:228,14'
          Dst:             krb5int_decode_tgs_rep
        - Src:             'gc_via_tkt.c:232,9'
          Dst:             krb5int_trace
        - Src:             'gc_via_tkt.c:233,14'
          Dst:             krb5int_decode_tgs_rep
        - Src:             'gc_via_tkt.c:250,10'
          Dst:             tgt_is_local_realm
        - Src:             'gc_via_tkt.c:257,22'
          Dst:             data_eq_string
        - Src:             'gc_via_tkt.c:259,13'
          Dst:             krb5_principal_compare
        - Src:             'gc_via_tkt.c:262,16'
          Dst:             data_eq_string
        - Src:             'gc_via_tkt.c:268,14'
          Dst:             krb5_principal_compare
        - Src:             'gc_via_tkt.c:273,18'
          Dst:             check_reply_server
        - Src:             'gc_via_tkt.c:284,9'
          Dst:             ts_after
        - Src:             'gc_via_tkt.c:289,9'
          Dst:             ts_after
        - Src:             'gc_via_tkt.c:296,9'
          Dst:             ts_after
        - Src:             'gc_via_tkt.c:303,10'
          Dst:             ts_within
        - Src:             'gc_via_tkt.c:319,14'
          Dst:             kdcrep2creds
        - Src:             'gc_via_tkt.c:328,9'
          Dst:             krb5_free_kdc_rep
    - functionName:    krb5_get_cred_via_tkt_ext
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gc_via_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      int
      argCount:        12
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          294
      EdgeCount:       62
      CyclomaticComplexity: 17
      functionsReached:
        - decode_krb5_error
        - k5_make_tgs_req
        - k5_sendto_kdc
        - krb5_free_data_contents
        - krb5_free_error
        - krb5_free_keyblock
        - krb5int_fast_free_state
        - krb5int_fast_make_state
        - krb5int_fast_process_error
        - krb5int_process_tgs_reply
        - krb5int_trace
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'gc_via_tkt.c:357,14'
          Dst:             krb5int_fast_make_state
        - Src:             'gc_via_tkt.c:361,5'
          Dst:             krb5int_trace
        - Src:             'gc_via_tkt.c:364,14'
          Dst:             k5_make_tgs_req
        - Src:             'gc_via_tkt.c:371,14'
          Dst:             k5_sendto_kdc
        - Src:             'gc_via_tkt.c:377,26'
          Dst:             decode_krb5_error
        - Src:             'gc_via_tkt.c:380,26'
          Dst:             krb5int_fast_process_error
        - Src:             'gc_via_tkt.c:386,21'
          Dst:             krb5_free_error
        - Src:             'gc_via_tkt.c:387,21'
          Dst:             krb5_free_data_contents
        - Src:             'gc_via_tkt.c:390,17'
          Dst:             krb5_free_error
        - Src:             'gc_via_tkt.c:396,14'
          Dst:             krb5int_process_tgs_reply
        - Src:             'gc_via_tkt.c:406,5'
          Dst:             krb5int_fast_free_state
        - Src:             'gc_via_tkt.c:407,5'
          Dst:             krb5int_trace
        - Src:             'gc_via_tkt.c:409,5'
          Dst:             krb5_free_data_contents
        - Src:             'gc_via_tkt.c:410,5'
          Dst:             krb5_free_data_contents
        - Src:             'gc_via_tkt.c:416,13'
          Dst:             krb5_free_keyblock
    - functionName:    krb5_get_cred_via_tkt
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gc_via_tkt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_get_cred_via_tkt_ext
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gc_via_tkt.c:154,12'
          Dst:             krb5_get_cred_via_tkt_ext
    - functionName:    krb5_generate_seq_number
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gen_seqnum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_c_random_make_octets
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gen_seqnum.c:47,14'
          Dst:             krb5_c_random_make_octets
    - functionName:    k5_generate_and_save_subkey
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/gen_save_subkey.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - krb5_auth_con_setrecvsubkey
        - krb5_auth_con_setsendsubkey
        - krb5_free_keyblock
        - krb5_generate_subkey_extended
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gen_save_subkey.c:39,14'
          Dst:             krb5_generate_subkey_extended
        - Src:             'gen_save_subkey.c:42,14'
          Dst:             krb5_auth_con_setsendsubkey
        - Src:             'gen_save_subkey.c:45,14'
          Dst:             krb5_auth_con_setrecvsubkey
        - Src:             'gen_save_subkey.c:51,16'
          Dst:             krb5_auth_con_setsendsubkey
        - Src:             'gen_save_subkey.c:52,16'
          Dst:             krb5_auth_con_setrecvsubkey
        - Src:             'gen_save_subkey.c:54,5'
          Dst:             krb5_free_keyblock
    - functionName:    krb5int_decode_tgs_rep
      functionSourceFile: '/src/krb5/src/lib/krb5/krb/decode_kdc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          187
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - decode_krb5_as_rep
        - decode_krb5_tgs_rep
        - krb5_free_kdc_rep
        - krb5_free_keyblock
        - krb5_free_keyblock_contents
        - krb5_kdc_rep_decrypt_proc
        - krb5int_fast_process_response
        - krb5int_fast_reply_key
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'decode_kdc.c:56,18'
          Dst:             decode_krb5_as_rep
        - Src:             'decode_kdc.c:58,18'
          Dst:             decode_krb5_tgs_rep
        - Src:             'decode_kdc.c:64,14'
          Dst:             krb5int_fast_process_response
        - Src:             'decode_kdc.c:70,14'
          Dst:             krb5int_fast_reply_key
        - Src:             'decode_kdc.c:74,14'
          Dst:             krb5_kdc_rep_decrypt_proc
        - Src:             'decode_kdc.c:82,5'
          Dst:             krb5_free_kdc_rep
        - Src:             'decode_kdc.c:83,5'
          Dst:             krb5_free_keyblock
        - Src:             'decode_kdc.c:84,5'
          Dst:             krb5_free_keyblock_contents
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    string2data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2253
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2254,27'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2254,12'
          Dst:             make_data
    - functionName:    krb5_c_fx_cf2_simple
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/cf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          230
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - alloc_data
        - empty_data
        - find_enctype
        - krb5_c_prfplus
        - krb5int_c_free_keyblock
        - krb5int_c_init_keyblock
        - string2data
        - zapfree
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'cf2.c:131,36'
          Dst:             string2data
        - Src:             'cf2.c:132,36'
          Dst:             string2data
        - Src:             'cf2.c:133,22'
          Dst:             empty_data
        - Src:             'cf2.c:133,43'
          Dst:             empty_data
        - Src:             'cf2.c:139,11'
          Dst:             find_enctype
        - Src:             'cf2.c:144,11'
          Dst:             alloc_data
        - Src:             'cf2.c:147,11'
          Dst:             krb5_c_prfplus
        - Src:             'cf2.c:150,11'
          Dst:             alloc_data
        - Src:             'cf2.c:153,11'
          Dst:             krb5_c_prfplus
        - Src:             'cf2.c:160,11'
          Dst:             krb5int_c_init_keyblock
        - Src:             'cf2.c:172,5'
          Dst:             zapfree
        - Src:             'cf2.c:173,5'
          Dst:             zapfree
        - Src:             'cf2.c:174,5'
          Dst:             krb5int_c_free_keyblock
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    krb5_c_prfplus
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/cf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          206
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - alloc_data
        - empty_data
        - k5memcpy
        - krb5_c_prf
        - krb5_c_prf_length
        - zapfree
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cf2.c:43,24'
          Dst:             empty_data
        - Src:             'cf2.c:43,48'
          Dst:             empty_data
        - Src:             'cf2.c:47,11'
          Dst:             krb5_c_prf_length
        - Src:             'cf2.c:55,11'
          Dst:             alloc_data
        - Src:             'cf2.c:58,11'
          Dst:             alloc_data
        - Src:             'cf2.c:64,5'
          Dst:             k5memcpy
        - Src:             'cf2.c:67,15'
          Dst:             krb5_c_prf
        - Src:             'cf2.c:76,5'
          Dst:             zapfree
        - Src:             'cf2.c:77,5'
          Dst:             zapfree
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    k5memcpy
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2322
      functionLinenumberEnd: 2325
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_derive_prfplus
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/cf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          148
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - alloc_data
        - empty_data
        - find_enctype
        - krb5_c_prfplus
        - krb5int_c_free_keyblock
        - krb5int_c_init_keyblock
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cf2.c:88,21'
          Dst:             empty_data
        - Src:             'cf2.c:93,11'
          Dst:             find_enctype
        - Src:             'cf2.c:98,11'
          Dst:             alloc_data
        - Src:             'cf2.c:101,11'
          Dst:             krb5_c_prfplus
        - Src:             'cf2.c:106,11'
          Dst:             krb5int_c_init_keyblock
        - Src:             'cf2.c:118,5'
          Dst:             zapfree
        - Src:             'cf2.c:119,5'
          Dst:             krb5int_c_free_keyblock
    - functionName:    find_cksumtype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          57
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_checksum_length
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/checksum_length.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_cksumtype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'checksum_length.c:36,11'
          Dst:             find_cksumtype
    - functionName:    krb5_c_crypto_length_iov
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/crypto_length.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          174
      EdgeCount:       37
      CyclomaticComplexity: 7
      functionsReached:
        - find_enctype
        - krb5int_c_padding_length
      functionUses:    0
      BranchProfiles:
        - Branch String:   'crypto_length.c:95,9'
          Branch Sides:    []
      Callsites:
        - Src:             'crypto_length.c:88,11'
          Dst:             find_enctype
        - Src:             'crypto_length.c:117,18'
          Dst:             krb5int_c_padding_length
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_padding_length
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/crypto_length.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_enctype
        - krb5int_c_padding_length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'crypto_length.c:66,11'
          Dst:             find_enctype
        - Src:             'crypto_length.c:70,19'
          Dst:             krb5int_c_padding_length
    - functionName:    krb5_c_crypto_length
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/crypto_length.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          88
      EdgeCount:       17
      CyclomaticComplexity: 2
      functionsReached:
        - find_enctype
      functionUses:    1
      BranchProfiles:
        - Branch String:   'crypto_length.c:39,5'
          Branch Sides:    []
      Callsites:
        - Src:             'crypto_length.c:35,11'
          Dst:             find_enctype
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    krb5_c_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/decrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_k_create_key
        - krb5_k_decrypt
        - krb5_k_free_key
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'decrypt.c:95,11'
          Dst:             krb5_k_create_key
        - Src:             'decrypt.c:98,11'
          Dst:             krb5_k_decrypt
        - Src:             'decrypt.c:99,5'
          Dst:             krb5_k_free_key
    - functionName:    krb5_k_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/decrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          294
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - empty_data
        - explicit_bzero
        - find_enctype
        - k5alloc
        - make_data
        - zapfree
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'decrypt.c:41,11'
          Dst:             find_enctype
        - Src:             'decrypt.c:57,15'
          Dst:             k5alloc
        - Src:             'decrypt.c:62,19'
          Dst:             make_data
        - Src:             'decrypt.c:66,19'
          Dst:             make_data
        - Src:             'decrypt.c:71,19'
          Dst:             empty_data
        - Src:             'decrypt.c:74,19'
          Dst:             make_data
        - Src:             'decrypt.c:80,9'
          Dst:             explicit_bzero
        - Src:             'decrypt.c:83,5'
          Dst:             zapfree
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    krb5_c_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/encrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_k_create_key
        - krb5_k_encrypt
        - krb5_k_free_key
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'encrypt.c:88,11'
          Dst:             krb5_k_create_key
        - Src:             'encrypt.c:91,11'
          Dst:             krb5_k_encrypt
        - Src:             'encrypt.c:92,5'
          Dst:             krb5_k_free_key
    - functionName:    krb5_k_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/encrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          262
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - explicit_bzero
        - find_enctype
        - krb5int_c_padding_length
        - make_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'encrypt.c:40,11'
          Dst:             find_enctype
        - Src:             'encrypt.c:50,19'
          Dst:             krb5int_c_padding_length
        - Src:             'encrypt.c:58,19'
          Dst:             make_data
        - Src:             'encrypt.c:61,19'
          Dst:             make_data
        - Src:             'encrypt.c:67,19'
          Dst:             make_data
        - Src:             'encrypt.c:70,19'
          Dst:             make_data
        - Src:             'encrypt.c:74,9'
          Dst:             explicit_bzero
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_encrypt_length
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/encrypt_length.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          76
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_enctype
        - krb5int_c_padding_length
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'encrypt_length.c:37,11'
          Dst:             find_enctype
        - Src:             'encrypt_length.c:42,19'
          Dst:             krb5int_c_padding_length
    - functionName:    k5_enctype_to_ssf
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enctype_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_enctype
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'enctype_util.c:171,11'
          Dst:             find_enctype
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_enctype_to_name
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enctype_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          172
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - find_enctype
        - krb5int_strlcpy
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'enctype_util.c:139,17'
          Dst:             krb5int_strlcpy
        - Src:             'enctype_util.c:145,11'
          Dst:             find_enctype
        - Src:             'enctype_util.c:153,17'
          Dst:             strlen
        - Src:             'enctype_util.c:153,43'
          Dst:             strlen
        - Src:             'enctype_util.c:157,9'
          Dst:             krb5int_strlcpy
    - functionName:    krb5_enctype_to_string
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enctype_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - find_enctype
        - krb5int_strlcpy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'enctype_util.c:121,11'
          Dst:             find_enctype
        - Src:             'enctype_util.c:124,9'
          Dst:             krb5int_strlcpy
    - functionName:    krb5_string_to_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enctype_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          111
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - strcasecmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'enctype_util.c:98,13'
          Dst:             strcasecmp
        - Src:             'enctype_util.c:106,17'
          Dst:             strcasecmp
    - functionName:    krb5_c_enctype_compare
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enctype_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          74
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - find_enctype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'enctype_util.c:79,12'
          Dst:             find_enctype
        - Src:             'enctype_util.c:80,12'
          Dst:             find_enctype
    - functionName:    krb5int_c_deprecated_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enctype_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_enctype
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'enctype_util.c:69,39'
          Dst:             find_enctype
    - functionName:    krb5int_c_weak_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enctype_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_enctype
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'enctype_util.c:62,11'
          Dst:             find_enctype
    - functionName:    krb5_c_valid_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enctype_util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - find_enctype
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'enctype_util.c:54,13'
          Dst:             find_enctype
    - functionName:    krb5_k_key_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_k_key_keyblock
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5int_c_copy_keyblock
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'key.c:102,12'
          Dst:             krb5int_c_copy_keyblock
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_k_free_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          120
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - find_enctype
        - krb5_k_free_key
        - krb5int_c_free_keyblock_contents
      functionUses:    35
      BranchProfiles:  []
      Callsites:
        - Src:             'key.c:85,9'
          Dst:             krb5_k_free_key
        - Src:             'key.c:88,5'
          Dst:             krb5int_c_free_keyblock_contents
        - Src:             'key.c:90,15'
          Dst:             find_enctype
    - functionName:    krb5_k_reference_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_k_create_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5int_c_copy_keyblock_contents
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'key.c:49,12'
          Dst:             krb5int_c_copy_keyblock_contents
    - functionName:    krb5int_c_copy_keyblock_contents
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/keyblocks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_c_copy_keyblock
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/keyblocks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          58
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - krb5int_c_copy_keyblock_contents
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'keyblocks.c:86,12'
          Dst:             krb5int_c_copy_keyblock_contents
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    krb5int_c_free_keyblock_contents
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/keyblocks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - zapfree
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'keyblocks.c:69,9'
          Dst:             zapfree
    - functionName:    krb5int_c_free_keyblock
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/keyblocks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5int_c_free_keyblock_contents
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'keyblocks.c:61,5'
          Dst:             krb5int_c_free_keyblock_contents
    - functionName:    krb5int_c_init_keyblock
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/keyblocks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          92
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'keyblocks.c:35,5'
          Dst:             __assert_fail
    - functionName:    find_cksumtype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          57
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_is_keyed_cksum
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/keyed_cksum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_cksumtype
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'keyed_cksum.c:35,11'
          Dst:             find_cksumtype
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_make_checksum
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/make_checksum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_k_create_key
        - krb5_k_free_key
        - krb5_k_make_checksum
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'make_checksum.c:92,15'
          Dst:             krb5_k_create_key
        - Src:             'make_checksum.c:96,11'
          Dst:             krb5_k_make_checksum
        - Src:             'make_checksum.c:97,5'
          Dst:             krb5_k_free_key
    - functionName:    krb5_k_make_checksum
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/make_checksum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          198
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - alloc_data
        - find_cksumtype
        - krb5int_c_mandatory_cksumtype
        - realloc
        - verify_key
        - zapfree
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'make_checksum.c:44,15'
          Dst:             krb5int_c_mandatory_cksumtype
        - Src:             'make_checksum.c:49,11'
          Dst:             find_cksumtype
        - Src:             'make_checksum.c:53,11'
          Dst:             verify_key
        - Src:             'make_checksum.c:57,11'
          Dst:             alloc_data
        - Src:             'make_checksum.c:73,17'
          Dst:             realloc
        - Src:             'make_checksum.c:79,5'
          Dst:             zapfree
    - functionName:    find_cksumtype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          57
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    verify_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 608
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          109
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - find_enctype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './crypto_int.h:602,17'
          Dst:             find_enctype
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_make_random_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/make_random_key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          144
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - find_enctype
        - k5alloc
        - krb5_c_random_make_octets
        - zapfree
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'make_random_key.c:41,11'
          Dst:             find_enctype
        - Src:             'make_random_key.c:49,13'
          Dst:             k5alloc
        - Src:             'make_random_key.c:52,28'
          Dst:             k5alloc
        - Src:             'make_random_key.c:59,11'
          Dst:             krb5_c_random_make_octets
        - Src:             'make_random_key.c:71,9'
          Dst:             zapfree
        - Src:             'make_random_key.c:74,5'
          Dst:             zapfree
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_c_mandatory_cksumtype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/mandatory_sumtype.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_enctype
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'mandatory_sumtype.c:34,11'
          Dst:             find_enctype
    - functionName:    krb5_c_prf
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_k_create_key
        - krb5_k_free_key
        - krb5_k_prf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prf.c:78,11'
          Dst:             krb5_k_create_key
        - Src:             'prf.c:81,11'
          Dst:             krb5_k_prf
        - Src:             'prf.c:82,5'
          Dst:             krb5_k_free_key
    - functionName:    krb5_k_prf
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          110
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - find_enctype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prf.c:55,5'
          Dst:             __assert_fail
        - Src:             'prf.c:56,5'
          Dst:             __assert_fail
        - Src:             'prf.c:58,11'
          Dst:             find_enctype
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_prf_length
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - find_enctype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prf.c:40,5'
          Dst:             __assert_fail
        - Src:             'prf.c:41,11'
          Dst:             find_enctype
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    string2data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2253
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2254,27'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2254,12'
          Dst:             make_data
    - functionName:    krb5int_aes2_prf
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prf_aes2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_sp800_108_counter_hmac
        - string2data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prf_aes2.c:39,23'
          Dst:             string2data
        - Src:             'prf_aes2.c:41,12'
          Dst:             k5_sp800_108_counter_hmac
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_dk_cmac_prf
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prf_cmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          92
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5_k_free_key
        - krb5int_cmac_checksum
        - krb5int_derive_key
        - make_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prf_cmac.c:34,26'
          Dst:             make_data
        - Src:             'prf_cmac.c:45,11'
          Dst:             krb5int_derive_key
        - Src:             'prf_cmac.c:51,11'
          Dst:             krb5int_cmac_checksum
        - Src:             'prf_cmac.c:56,5'
          Dst:             krb5_k_free_key
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    krb5int_dk_prf
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prf_dk.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          159
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - alloc_data
        - empty_data
        - krb5_k_free_key
        - krb5int_derive_key
        - make_data
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prf_dk.c:36,23'
          Dst:             empty_data
        - Src:             'prf_dk.c:36,48'
          Dst:             make_data
        - Src:             'prf_dk.c:41,11'
          Dst:             alloc_data
        - Src:             'prf_dk.c:51,11'
          Dst:             krb5int_derive_key
        - Src:             'prf_dk.c:67,5'
          Dst:             zapfree
        - Src:             'prf_dk.c:68,5'
          Dst:             krb5_k_free_key
    - functionName:    krb5int_arcfour_prf
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prf_rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - krb5int_hmac
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prf_rc4.c:35,5'
          Dst:             __assert_fail
        - Src:             'prf_rc4.c:38,12'
          Dst:             krb5int_hmac
    - functionName:    read_entropy_from_device
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          103
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - close
        - fcntl
        - fstat
        - open
        - read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prng.c:78,10'
          Dst:             open
        - Src:             'prng.c:81,5'
          Dst:             fcntl
        - Src:             'prng.c:82,9'
          Dst:             fstat
        - Src:             'prng.c:86,17'
          Dst:             read
        - Src:             'prng.c:95,5'
          Dst:             close
    - functionName:    krb5_c_random_os_entropy
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_os_entropy
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          83
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - getentropy
        - read_entropy_from_device
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'prng.c:109,13'
          Dst:             getentropy
        - Src:             'prng.c:148,12'
          Dst:             read_entropy_from_device
    - functionName:    getentropy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_random_make_octets
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_os_entropy
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'prng.c:158,11'
          Dst:             get_os_entropy
    - functionName:    krb5_c_random_add_entropy
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_random_seed
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/prng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 32
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_c_random_add_entropy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'prng.c:32,12'
          Dst:             krb5_c_random_add_entropy
    - functionName:    eighth_byte
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/random_to_key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          58
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_rand2key_des3
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/random_to_key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          82
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - eighth_byte
        - k5_des_fixup_key_parity
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'random_to_key.c:97,9'
          Dst:             eighth_byte
        - Src:             'random_to_key.c:98,9'
          Dst:             k5_des_fixup_key_parity
    - functionName:    k5_rand2key_direct
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/random_to_key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          43
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_random_to_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/random_to_key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          108
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - explicit_bzero
        - find_enctype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'random_to_key.c:50,11'
          Dst:             find_enctype
        - Src:             'random_to_key.c:59,9'
          Dst:             explicit_bzero
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    krb5int_aes2_string_to_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/s2k_pbkdf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pbkdf2_string_to_key
        - string2data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             's2k_pbkdf2.c:212,24'
          Dst:             string2data
        - Src:             's2k_pbkdf2.c:214,12'
          Dst:             pbkdf2_string_to_key
    - functionName:    string2data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2253
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2254,27'
          Dst:             strlen
        - Src:             '../../../include/k5-int.h:2254,12'
          Dst:             make_data
    - functionName:    pbkdf2_string_to_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/s2k_pbkdf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          333
      EdgeCount:       66
      CyclomaticComplexity: 19
      functionsReached:
        - alloc_data
        - empty_data
        - krb5_k_create_key
        - krb5_k_free_key
        - krb5int_derive_keyblock
        - krb5int_pbkdf2_hmac
        - load_32_be
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             's2k_pbkdf2.c:120,23'
          Dst:             empty_data
        - Src:             's2k_pbkdf2.c:126,22'
          Dst:             load_32_be
        - Src:             's2k_pbkdf2.c:149,15'
          Dst:             alloc_data
        - Src:             's2k_pbkdf2.c:163,11'
          Dst:             krb5int_pbkdf2_hmac
        - Src:             's2k_pbkdf2.c:167,11'
          Dst:             krb5_k_create_key
        - Src:             's2k_pbkdf2.c:171,11'
          Dst:             krb5int_derive_keyblock
        - Src:             's2k_pbkdf2.c:179,5'
          Dst:             krb5_k_free_key
    - functionName:    krb5int_camellia_string_to_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/s2k_pbkdf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pbkdf2_string_to_key
        - string2data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             's2k_pbkdf2.c:201,24'
          Dst:             string2data
        - Src:             's2k_pbkdf2.c:203,12'
          Dst:             pbkdf2_string_to_key
    - functionName:    krb5int_aes_string_to_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/s2k_pbkdf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pbkdf2_string_to_key
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             's2k_pbkdf2.c:190,12'
          Dst:             pbkdf2_string_to_key
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    krb5int_dk_string_to_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/s2k_pbkdf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          237
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - k5alloc
        - krb5_k_create_key
        - krb5_k_free_key
        - krb5int_derive_keyblock
        - krb5int_nfold
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             's2k_pbkdf2.c:52,14'
          Dst:             k5alloc
        - Src:             's2k_pbkdf2.c:55,18'
          Dst:             k5alloc
        - Src:             's2k_pbkdf2.c:58,19'
          Dst:             k5alloc
        - Src:             's2k_pbkdf2.c:69,5'
          Dst:             krb5int_nfold
        - Src:             's2k_pbkdf2.c:81,11'
          Dst:             krb5_k_create_key
        - Src:             's2k_pbkdf2.c:90,11'
          Dst:             krb5int_derive_keyblock
        - Src:             's2k_pbkdf2.c:96,5'
          Dst:             zapfree
        - Src:             's2k_pbkdf2.c:97,5'
          Dst:             zapfree
        - Src:             's2k_pbkdf2.c:98,5'
          Dst:             zapfree
        - Src:             's2k_pbkdf2.c:99,5'
          Dst:             krb5_k_free_key
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    k5memdup0
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2312,17'
          Dst:             k5alloc
    - functionName:    krb5int_arcfour_string_to_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/s2k_rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 9
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          130
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - k5_utf8_to_utf16le
        - k5memdup0
        - make_data
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             's2k_rc4.c:24,12'
          Dst:             k5memdup0
        - Src:             's2k_rc4.c:27,11'
          Dst:             k5_utf8_to_utf16le
        - Src:             's2k_rc4.c:28,5'
          Dst:             zapfree
        - Src:             's2k_rc4.c:34,16'
          Dst:             make_data
        - Src:             's2k_rc4.c:35,16'
          Dst:             make_data
        - Src:             's2k_rc4.c:39,5'
          Dst:             zapfree
    - functionName:    krb5_c_free_state
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_enctype
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'state.c:55,11'
          Dst:             find_enctype
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_init_state
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - find_enctype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'state.c:43,11'
          Dst:             find_enctype
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    krb5_c_string_to_key_with_params
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/string_to_key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          141
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - empty_data
        - find_enctype
        - zapfree
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'string_to_key.c:46,23'
          Dst:             empty_data
        - Src:             'string_to_key.c:50,11'
          Dst:             find_enctype
        - Src:             'string_to_key.c:73,9'
          Dst:             zapfree
    - functionName:    krb5_c_string_to_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/string_to_key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5_c_string_to_key_with_params
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'string_to_key.c:35,12'
          Dst:             krb5_c_string_to_key_with_params
    - functionName:    find_enctype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5_c_verify_checksum
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/verify_checksum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_k_create_key
        - krb5_k_free_key
        - krb5_k_verify_checksum
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'verify_checksum.c:91,15'
          Dst:             krb5_k_create_key
        - Src:             'verify_checksum.c:95,11'
          Dst:             krb5_k_verify_checksum
        - Src:             'verify_checksum.c:96,5'
          Dst:             krb5_k_free_key
    - functionName:    krb5_k_verify_checksum
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/verify_checksum.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          192
      EdgeCount:       29
      CyclomaticComplexity: 10
      functionsReached:
        - find_cksumtype
        - k5_bcmp
        - krb5_k_make_checksum
        - krb5int_c_mandatory_cksumtype
        - make_data
        - verify_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'verify_checksum.c:48,15'
          Dst:             krb5int_c_mandatory_cksumtype
        - Src:             'verify_checksum.c:53,11'
          Dst:             find_cksumtype
        - Src:             'verify_checksum.c:57,11'
          Dst:             verify_key
        - Src:             'verify_checksum.c:62,18'
          Dst:             make_data
        - Src:             'verify_checksum.c:70,11'
          Dst:             krb5_k_make_checksum
        - Src:             'verify_checksum.c:75,15'
          Dst:             k5_bcmp
    - functionName:    find_cksumtype
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          57
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    verify_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/./crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 608
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          109
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - find_enctype
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './crypto_int.h:602,17'
          Dst:             find_enctype
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    load_32_n
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 737
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_n
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 715
      functionLinenumberEnd: 718
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    leftshift_onebit
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/cmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          65
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    encrypt_block
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/./../krb/crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 614
      functionLinenumberEnd: 626
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          81
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    padding
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/cmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          71
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    xor_128
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/cmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          63
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - load_32_n
        - store_32_n
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cmac.c:48,20'
          Dst:             load_32_n
        - Src:             'cmac.c:48,38'
          Dst:             load_32_n
        - Src:             'cmac.c:48,9'
          Dst:             store_32_n
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    generate_subkey
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/cmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          102
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - encrypt_block
        - leftshift_onebit
        - make_data
        - xor_128
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cmac.c:79,9'
          Dst:             make_data
        - Src:             'cmac.c:80,11'
          Dst:             encrypt_block
        - Src:             'cmac.c:86,9'
          Dst:             leftshift_onebit
        - Src:             'cmac.c:88,9'
          Dst:             leftshift_onebit
        - Src:             'cmac.c:89,9'
          Dst:             xor_128
        - Src:             'cmac.c:94,9'
          Dst:             leftshift_onebit
        - Src:             'cmac.c:96,9'
          Dst:             leftshift_onebit
        - Src:             'cmac.c:97,9'
          Dst:             xor_128
    - functionName:    iov_total_length
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/./../krb/crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          139
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_cmac_checksum
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/cmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          264
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - generate_subkey
        - iov_total_length
        - k5_iov_cursor_get
        - k5_iov_cursor_init
        - make_data
        - padding
        - xor_128
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'cmac.c:140,5'
          Dst:             __assert_fail
        - Src:             'cmac.c:145,14'
          Dst:             iov_total_length
        - Src:             'cmac.c:148,11'
          Dst:             generate_subkey
        - Src:             'cmac.c:164,19'
          Dst:             make_data
        - Src:             'cmac.c:168,9'
          Dst:             make_data
        - Src:             'cmac.c:171,5'
          Dst:             k5_iov_cursor_init
        - Src:             'cmac.c:173,9'
          Dst:             k5_iov_cursor_get
        - Src:             'cmac.c:181,5'
          Dst:             k5_iov_cursor_get
        - Src:             'cmac.c:184,9'
          Dst:             xor_128
        - Src:             'cmac.c:186,9'
          Dst:             padding
        - Src:             'cmac.c:187,9'
          Dst:             xor_128
        - Src:             'cmac.c:191,19'
          Dst:             make_data
        - Src:             'cmac.c:196,5'
          Dst:             __assert_fail
    - functionName:    krb5int_hmac
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/hmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - krb5int_hmac_keyblock
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'hmac.c:121,12'
          Dst:             krb5int_hmac_keyblock
    - functionName:    krb5int_hmac_keyblock
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/hmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          325
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - k5alloc
        - k5calloc
        - make_data
        - zapfree
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'hmac.c:70,14'
          Dst:             k5alloc
        - Src:             'hmac.c:73,13'
          Dst:             k5alloc
        - Src:             'hmac.c:76,17'
          Dst:             k5calloc
        - Src:             'hmac.c:87,25'
          Dst:             make_data
        - Src:             'hmac.c:89,15'
          Dst:             make_data
        - Src:             'hmac.c:101,25'
          Dst:             make_data
        - Src:             'hmac.c:103,25'
          Dst:             make_data
        - Src:             'hmac.c:110,5'
          Dst:             zapfree
        - Src:             'hmac.c:111,5'
          Dst:             zapfree
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    encrypt_block
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/./../krb/crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 614
      functionLinenumberEnd: 626
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          81
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_derive_random_rfc3961
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/kdf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          198
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - alloc_data
        - empty_data
        - encrypt_block
        - krb5int_nfold
        - zapfree
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kdf.c:146,23'
          Dst:             empty_data
        - Src:             'kdf.c:157,11'
          Dst:             alloc_data
        - Src:             'kdf.c:165,9'
          Dst:             krb5int_nfold
        - Src:             'kdf.c:172,15'
          Dst:             encrypt_block
        - Src:             'kdf.c:186,5'
          Dst:             zapfree
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_sp800_108_feedback_cmac
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/kdf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          237
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - alloc_data
        - empty_data
        - krb5int_cmac_checksum
        - make_data
        - store_32_be
        - zapfree
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'kdf.c:93,11'
          Dst:             alloc_data
        - Src:             'kdf.c:102,19'
          Dst:             make_data
        - Src:             'kdf.c:108,19'
          Dst:             make_data
        - Src:             'kdf.c:111,19'
          Dst:             empty_data
        - Src:             'kdf.c:114,19'
          Dst:             make_data
        - Src:             'kdf.c:115,5'
          Dst:             store_32_be
        - Src:             'kdf.c:119,9'
          Dst:             store_32_be
        - Src:             'kdf.c:122,15'
          Dst:             krb5int_cmac_checksum
        - Src:             'kdf.c:136,5'
          Dst:             zapfree
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    k5memcpy
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2322
      functionLinenumberEnd: 2325
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_sp800_108_counter_hmac
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/kdf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          169
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - alloc_data
        - k5memcpy
        - krb5int_hmac
        - make_data
        - store_32_be
        - zapfree
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'kdf.c:46,11'
          Dst:             alloc_data
        - Src:             'kdf.c:52,19'
          Dst:             make_data
        - Src:             'kdf.c:53,5'
          Dst:             store_32_be
        - Src:             'kdf.c:59,19'
          Dst:             make_data
        - Src:             'kdf.c:65,19'
          Dst:             make_data
        - Src:             'kdf.c:66,5'
          Dst:             store_32_be
        - Src:             'kdf.c:68,11'
          Dst:             krb5int_hmac
        - Src:             'kdf.c:70,9'
          Dst:             k5memcpy
        - Src:             'kdf.c:71,5'
          Dst:             zapfree
    - functionName:    printd
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/pbkdf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          170
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - __ctype_b_loc
        - printf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'pbkdf2.c:57,5'
          Dst:             printf
        - Src:             'pbkdf2.c:60,9'
          Dst:             printf
        - Src:             'pbkdf2.c:62,13'
          Dst:             printf
        - Src:             'pbkdf2.c:64,13'
          Dst:             printf
        - Src:             'pbkdf2.c:65,9'
          Dst:             printf
        - Src:             'pbkdf2.c:68,26'
          Dst:             __ctype_b_loc
        - Src:             'pbkdf2.c:68,13'
          Dst:             printf
        - Src:             'pbkdf2.c:71,5'
          Dst:             printf
    - functionName:    printf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_hmac
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/pbkdf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          68
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5int_hmac_keyblock
        - printd
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'pbkdf2.c:89,9'
          Dst:             printd
        - Src:             'pbkdf2.c:92,11'
          Dst:             krb5int_hmac_keyblock
        - Src:             'pbkdf2.c:94,9'
          Dst:             printd
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    F
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/pbkdf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          175
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - k5_hmac
        - make_data
        - store_32_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'pbkdf2.c:110,5'
          Dst:             store_32_be
        - Src:             'pbkdf2.c:114,13'
          Dst:             make_data
        - Src:             'pbkdf2.c:116,11'
          Dst:             make_data
        - Src:             'pbkdf2.c:118,11'
          Dst:             k5_hmac
        - Src:             'pbkdf2.c:128,15'
          Dst:             k5_hmac
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pbkdf2
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/pbkdf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          218
      EdgeCount:       34
      CyclomaticComplexity: 9
      functionsReached:
        - F
        - abort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'pbkdf2.c:149,9'
          Dst:             abort
        - Src:             'pbkdf2.c:152,9'
          Dst:             abort
        - Src:             'pbkdf2.c:174,15'
          Dst:             F
    - functionName:    krb5int_pbkdf2_hmac
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/pbkdf2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          123
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - make_data
        - pbkdf2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'pbkdf2.c:201,5'
          Dst:             __assert_fail
        - Src:             'pbkdf2.c:203,13'
          Dst:             make_data
        - Src:             'pbkdf2.c:217,11'
          Dst:             pbkdf2
    - functionName:    k5_des_fixup_key_parity
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/des_keys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mit_des_fixup_key_parity
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'des_keys.c:35,5'
          Dst:             mit_des_fixup_key_parity
    - functionName:    mit_des_check_key_parity
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/f_parity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          128
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mit_des_fixup_key_parity
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/f_parity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          120
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iov_total_length
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/./../../krb/crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          139
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    validate_and_schedule
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/des3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          95
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - iov_total_length
        - mit_des3_key_sched
      functionUses:    2
      BranchProfiles:
        - Branch String:   'des3.c:45,5'
          Branch Sides:    []
      Callsites:
        - Src:             'des3.c:40,9'
          Dst:             iov_total_length
        - Src:             'des3.c:45,13'
          Dst:             mit_des3_key_sched
    - functionName:    k5_des3_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/des3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - explicit_bzero
        - krb5int_des3_cbc_decrypt
        - validate_and_schedule
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'des3.c:84,11'
          Dst:             validate_and_schedule
        - Src:             'des3.c:89,5'
          Dst:             krb5int_des3_cbc_decrypt
        - Src:             'des3.c:94,5'
          Dst:             explicit_bzero
    - functionName:    k5_des3_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/des3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - explicit_bzero
        - krb5int_des3_cbc_encrypt
        - validate_and_schedule
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'des3.c:62,11'
          Dst:             validate_and_schedule
        - Src:             'des3.c:67,5'
          Dst:             krb5int_des3_cbc_encrypt
        - Src:             'des3.c:72,5'
          Dst:             explicit_bzero
    - functionName:    k5_arcfour_byte
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          73
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/../../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    k5_arcfour_crypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          53
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - k5_arcfour_byte
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'rc4.c:65,28'
          Dst:             k5_arcfour_byte
    - functionName:    k5_arcfour_init
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          135
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_arcfour_init_state
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          54
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_arcfour_docrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          232
      EdgeCount:       51
      CyclomaticComplexity: 15
      functionsReached:
        - k5_arcfour_crypt
        - k5_arcfour_init
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'rc4.c:121,19'
          Dst:             k5_arcfour_init
        - Src:             'rc4.c:133,15'
          Dst:             k5_arcfour_init
        - Src:             'rc4.c:145,13'
          Dst:             k5_arcfour_crypt
        - Src:             'rc4.c:150,9'
          Dst:             zapfree
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/../../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    load_32_n
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 737
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_n
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 715
      functionLinenumberEnd: 718
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    xorblock
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          46
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - load_32_n
        - store_32_n
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'aes.c:161,20'
          Dst:             load_32_n
        - Src:             'aes.c:161,41'
          Dst:             load_32_n
        - Src:             'aes.c:161,9'
          Dst:             store_32_n
    - functionName:    aes_key_cleanup
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'aes.c:387,5'
          Dst:             zapfree
    - functionName:    aes_init_state
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cbc_dec
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          94
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - abort
        - k5_aes_decrypt
        - xorblock
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'aes.c:227,5'
          Dst:             __assert_fail
        - Src:             'aes.c:231,13'
          Dst:             k5_aes_decrypt
        - Src:             'aes.c:232,13'
          Dst:             abort
        - Src:             'aes.c:233,9'
          Dst:             xorblock
    - functionName:    expand_dec_key
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          51
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - abort
        - k5_aes_decrypt_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'aes.c:196,14'
          Dst:             k5_aes_decrypt_key
        - Src:             'aes.c:198,9'
          Dst:             abort
    - functionName:    krb5int_aes_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 303
      functionLinenumberEnd: 370
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          202
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - cbc_dec
        - expand_dec_key
        - init_key_cache
        - iov_cursor_advance
        - iov_cursor_contig_blocks
        - iov_cursor_ptr
        - iov_total_length
        - k5_iov_cursor_get
        - k5_iov_cursor_init
        - k5_iov_cursor_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'aes.c:310,9'
          Dst:             init_key_cache
        - Src:             'aes.c:312,5'
          Dst:             expand_dec_key
        - Src:             'aes.c:314,5'
          Dst:             k5_iov_cursor_init
        - Src:             'aes.c:316,20'
          Dst:             iov_total_length
        - Src:             'aes.c:320,9'
          Dst:             k5_iov_cursor_get
        - Src:             'aes.c:322,9'
          Dst:             cbc_dec
        - Src:             'aes.c:323,9'
          Dst:             k5_iov_cursor_put
        - Src:             'aes.c:333,19'
          Dst:             iov_cursor_contig_blocks
        - Src:             'aes.c:338,26'
          Dst:             iov_cursor_ptr
        - Src:             'aes.c:338,13'
          Dst:             cbc_dec
        - Src:             'aes.c:339,13'
          Dst:             iov_cursor_advance
        - Src:             'aes.c:342,13'
          Dst:             k5_iov_cursor_get
        - Src:             'aes.c:343,13'
          Dst:             cbc_dec
        - Src:             'aes.c:344,13'
          Dst:             k5_iov_cursor_put
        - Src:             'aes.c:350,5'
          Dst:             k5_iov_cursor_get
        - Src:             'aes.c:351,5'
          Dst:             k5_iov_cursor_get
        - Src:             'aes.c:358,5'
          Dst:             cbc_dec
        - Src:             'aes.c:363,5'
          Dst:             cbc_dec
        - Src:             'aes.c:366,5'
          Dst:             k5_iov_cursor_put
        - Src:             'aes.c:367,5'
          Dst:             k5_iov_cursor_put
    - functionName:    init_key_cache
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iov_total_length
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/./../../krb/crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          139
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iov_cursor_contig_blocks
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/./../../krb/crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 650
      functionLinenumberEnd: 651
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          25
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iov_cursor_ptr
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/./../../krb/crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 658
      functionLinenumberEnd: 659
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iov_cursor_advance
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/./../../krb/crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 672
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cbc_enc
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - abort
        - k5_aes_encrypt
        - xorblock
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'aes.c:210,9'
          Dst:             xorblock
        - Src:             'aes.c:211,13'
          Dst:             k5_aes_encrypt
        - Src:             'aes.c:212,13'
          Dst:             abort
    - functionName:    expand_enc_key
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          51
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - abort
        - k5_aes_encrypt_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'aes.c:184,14'
          Dst:             k5_aes_encrypt_key
        - Src:             'aes.c:186,9'
          Dst:             abort
    - functionName:    krb5int_aes_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/aes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 298
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          182
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - cbc_enc
        - expand_enc_key
        - init_key_cache
        - iov_cursor_advance
        - iov_cursor_contig_blocks
        - iov_cursor_ptr
        - iov_total_length
        - k5_iov_cursor_get
        - k5_iov_cursor_init
        - k5_iov_cursor_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'aes.c:247,9'
          Dst:             init_key_cache
        - Src:             'aes.c:249,5'
          Dst:             expand_enc_key
        - Src:             'aes.c:251,5'
          Dst:             k5_iov_cursor_init
        - Src:             'aes.c:253,20'
          Dst:             iov_total_length
        - Src:             'aes.c:256,9'
          Dst:             k5_iov_cursor_get
        - Src:             'aes.c:258,9'
          Dst:             cbc_enc
        - Src:             'aes.c:259,9'
          Dst:             k5_iov_cursor_put
        - Src:             'aes.c:269,19'
          Dst:             iov_cursor_contig_blocks
        - Src:             'aes.c:274,26'
          Dst:             iov_cursor_ptr
        - Src:             'aes.c:274,13'
          Dst:             cbc_enc
        - Src:             'aes.c:275,13'
          Dst:             iov_cursor_advance
        - Src:             'aes.c:278,13'
          Dst:             k5_iov_cursor_get
        - Src:             'aes.c:279,13'
          Dst:             cbc_enc
        - Src:             'aes.c:280,13'
          Dst:             k5_iov_cursor_put
        - Src:             'aes.c:287,5'
          Dst:             k5_iov_cursor_get
        - Src:             'aes.c:288,5'
          Dst:             k5_iov_cursor_get
        - Src:             'aes.c:289,5'
          Dst:             cbc_enc
        - Src:             'aes.c:290,5'
          Dst:             cbc_enc
        - Src:             'aes.c:291,5'
          Dst:             k5_iov_cursor_put
        - Src:             'aes.c:292,5'
          Dst:             k5_iov_cursor_put
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/../../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    cbc_dec
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          95
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - abort
        - krb5int_camellia_dec_blk
        - xorblock
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'camellia.c:104,5'
          Dst:             __assert_fail
        - Src:             'camellia.c:108,13'
          Dst:             krb5int_camellia_dec_blk
        - Src:             'camellia.c:110,13'
          Dst:             abort
        - Src:             'camellia.c:111,9'
          Dst:             xorblock
    - functionName:    xorblock
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          46
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - load_32_n
        - store_32_n
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'camellia.c:50,20'
          Dst:             load_32_n
        - Src:             'camellia.c:50,41'
          Dst:             load_32_n
        - Src:             'camellia.c:50,9'
          Dst:             store_32_n
    - functionName:    load_32_n
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 737
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_n
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 715
      functionLinenumberEnd: 718
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expand_dec_key
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - abort
        - krb5int_camellia_dec_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'camellia.c:80,9'
          Dst:             krb5int_camellia_dec_key
        - Src:             'camellia.c:82,9'
          Dst:             abort
    - functionName:    camellia_key_cleanup
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'camellia.c:294,5'
          Dst:             zapfree
    - functionName:    camellia_init_state
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 282
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_camellia_cbc_mac
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          96
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - cbc_enc
        - expand_enc_key
        - init_key_cache
        - k5_iov_cursor_get
        - k5_iov_cursor_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'camellia.c:260,9'
          Dst:             init_key_cache
        - Src:             'camellia.c:262,5'
          Dst:             expand_enc_key
        - Src:             'camellia.c:269,5'
          Dst:             k5_iov_cursor_init
        - Src:             'camellia.c:270,12'
          Dst:             k5_iov_cursor_get
        - Src:             'camellia.c:271,9'
          Dst:             cbc_enc
    - functionName:    init_key_cache
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expand_enc_key
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - abort
        - krb5int_camellia_enc_key
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'camellia.c:70,9'
          Dst:             krb5int_camellia_enc_key
        - Src:             'camellia.c:72,9'
          Dst:             abort
    - functionName:    cbc_enc
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - abort
        - krb5int_camellia_enc_blk
        - xorblock
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'camellia.c:90,9'
          Dst:             xorblock
        - Src:             'camellia.c:91,13'
          Dst:             krb5int_camellia_enc_blk
        - Src:             'camellia.c:93,13'
          Dst:             abort
    - functionName:    krb5int_camellia_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          202
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - cbc_dec
        - expand_dec_key
        - init_key_cache
        - iov_cursor_advance
        - iov_cursor_contig_blocks
        - iov_cursor_ptr
        - iov_total_length
        - k5_iov_cursor_get
        - k5_iov_cursor_init
        - k5_iov_cursor_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'camellia.c:187,9'
          Dst:             init_key_cache
        - Src:             'camellia.c:189,5'
          Dst:             expand_dec_key
        - Src:             'camellia.c:191,5'
          Dst:             k5_iov_cursor_init
        - Src:             'camellia.c:193,20'
          Dst:             iov_total_length
        - Src:             'camellia.c:197,9'
          Dst:             k5_iov_cursor_get
        - Src:             'camellia.c:199,9'
          Dst:             cbc_dec
        - Src:             'camellia.c:200,9'
          Dst:             k5_iov_cursor_put
        - Src:             'camellia.c:210,19'
          Dst:             iov_cursor_contig_blocks
        - Src:             'camellia.c:215,26'
          Dst:             iov_cursor_ptr
        - Src:             'camellia.c:215,13'
          Dst:             cbc_dec
        - Src:             'camellia.c:216,13'
          Dst:             iov_cursor_advance
        - Src:             'camellia.c:219,13'
          Dst:             k5_iov_cursor_get
        - Src:             'camellia.c:220,13'
          Dst:             cbc_dec
        - Src:             'camellia.c:221,13'
          Dst:             k5_iov_cursor_put
        - Src:             'camellia.c:227,5'
          Dst:             k5_iov_cursor_get
        - Src:             'camellia.c:228,5'
          Dst:             k5_iov_cursor_get
        - Src:             'camellia.c:235,5'
          Dst:             cbc_dec
        - Src:             'camellia.c:240,5'
          Dst:             cbc_dec
        - Src:             'camellia.c:243,5'
          Dst:             k5_iov_cursor_put
        - Src:             'camellia.c:244,5'
          Dst:             k5_iov_cursor_put
    - functionName:    iov_total_length
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/./../../krb/crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          139
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iov_cursor_contig_blocks
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/./../../krb/crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 650
      functionLinenumberEnd: 651
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          25
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iov_cursor_ptr
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/./../../krb/crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 658
      functionLinenumberEnd: 659
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iov_cursor_advance
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/./../../krb/crypto_int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 672
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_camellia_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/enc_provider/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          182
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - cbc_enc
        - expand_enc_key
        - init_key_cache
        - iov_cursor_advance
        - iov_cursor_contig_blocks
        - iov_cursor_ptr
        - iov_total_length
        - k5_iov_cursor_get
        - k5_iov_cursor_init
        - k5_iov_cursor_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'camellia.c:125,9'
          Dst:             init_key_cache
        - Src:             'camellia.c:127,5'
          Dst:             expand_enc_key
        - Src:             'camellia.c:129,5'
          Dst:             k5_iov_cursor_init
        - Src:             'camellia.c:131,20'
          Dst:             iov_total_length
        - Src:             'camellia.c:134,9'
          Dst:             k5_iov_cursor_get
        - Src:             'camellia.c:136,9'
          Dst:             cbc_enc
        - Src:             'camellia.c:137,9'
          Dst:             k5_iov_cursor_put
        - Src:             'camellia.c:147,19'
          Dst:             iov_cursor_contig_blocks
        - Src:             'camellia.c:152,26'
          Dst:             iov_cursor_ptr
        - Src:             'camellia.c:152,13'
          Dst:             cbc_enc
        - Src:             'camellia.c:153,13'
          Dst:             iov_cursor_advance
        - Src:             'camellia.c:156,13'
          Dst:             k5_iov_cursor_get
        - Src:             'camellia.c:157,13'
          Dst:             cbc_enc
        - Src:             'camellia.c:158,13'
          Dst:             k5_iov_cursor_put
        - Src:             'camellia.c:165,5'
          Dst:             k5_iov_cursor_get
        - Src:             'camellia.c:166,5'
          Dst:             k5_iov_cursor_get
        - Src:             'camellia.c:167,5'
          Dst:             cbc_enc
        - Src:             'camellia.c:168,5'
          Dst:             cbc_enc
        - Src:             'camellia.c:169,5'
          Dst:             k5_iov_cursor_put
        - Src:             'camellia.c:170,5'
          Dst:             k5_iov_cursor_put
    - functionName:    k5_md4_hash
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/hash_provider/hash_md4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          121
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - krb5int_MD4Final
        - krb5int_MD4Init
        - krb5int_MD4Update
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'hash_md4.c:42,5'
          Dst:             krb5int_MD4Init
        - Src:             'hash_md4.c:47,13'
          Dst:             krb5int_MD4Update
        - Src:             'hash_md4.c:51,5'
          Dst:             krb5int_MD4Final
    - functionName:    k5_md5_hash
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/hash_provider/hash_md5.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          121
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - krb5int_MD5Final
        - krb5int_MD5Init
        - krb5int_MD5Update
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'hash_md5.c:42,5'
          Dst:             krb5int_MD5Init
        - Src:             'hash_md5.c:47,13'
          Dst:             krb5int_MD5Update
        - Src:             'hash_md5.c:51,5'
          Dst:             krb5int_MD5Final
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/hash_provider/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    k5_sha1_hash
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/hash_provider/hash_sha1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          143
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - shsFinal
        - shsInit
        - shsUpdate
        - store_32_be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'hash_sha1.c:42,5'
          Dst:             shsInit
        - Src:             'hash_sha1.c:47,13'
          Dst:             shsUpdate
        - Src:             'hash_sha1.c:51,5'
          Dst:             shsFinal
        - Src:             'hash_sha1.c:54,9'
          Dst:             store_32_be
    - functionName:    k5_sha384_hash
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/hash_provider/hash_sha2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          117
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - k5_sha384_final
        - k5_sha384_init
        - k5_sha384_update
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'hash_sha2.c:68,5'
          Dst:             k5_sha384_init
        - Src:             'hash_sha2.c:72,13'
          Dst:             k5_sha384_update
        - Src:             'hash_sha2.c:74,5'
          Dst:             k5_sha384_final
    - functionName:    k5_sha256_hash
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/hash_provider/hash_sha2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          117
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - k5_sha256_final
        - k5_sha256_init
        - k5_sha256_update
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'hash_sha2.c:48,5'
          Dst:             k5_sha256_init
        - Src:             'hash_sha2.c:52,13'
          Dst:             k5_sha256_update
        - Src:             'hash_sha2.c:54,5'
          Dst:             k5_sha256_final
    - functionName:    k5_iov_cursor_put
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/aead.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          148
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - k5memcpy
        - next_iov_to_process
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'aead.c:215,9'
          Dst:             k5memcpy
        - Src:             'aead.c:221,31'
          Dst:             next_iov_to_process
    - functionName:    k5memcpy
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2322
      functionLinenumberEnd: 2325
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    next_iov_to_process
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/aead.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          121
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_iov_cursor_get
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/aead.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          179
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - k5memcpy
        - next_iov_to_process
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'aead.c:182,9'
          Dst:             k5memcpy
        - Src:             'aead.c:188,30'
          Dst:             next_iov_to_process
    - functionName:    k5_iov_cursor_init
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/aead.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          54
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - next_iov_to_process
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'aead.c:162,22'
          Dst:             next_iov_to_process
    - functionName:    krb5int_c_padding_length
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/aead.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_c_iov_decrypt_stream
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/aead.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          317
      EdgeCount:       36
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - calloc
        - empty_data
        - krb5int_c_locate_iov
        - make_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'aead.c:63,14'
          Dst:             krb5int_c_locate_iov
        - Src:             'aead.c:64,5'
          Dst:             __assert_fail
        - Src:             'aead.c:72,11'
          Dst:             calloc
        - Src:             'aead.c:79,19'
          Dst:             make_data
        - Src:             'aead.c:102,19'
          Dst:             empty_data
        - Src:             'aead.c:106,19'
          Dst:             make_data
        - Src:             'aead.c:110,5'
          Dst:             __assert_fail
    - functionName:    krb5int_c_locate_iov
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/aead.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          74
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    21
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_dk_cmac_checksum
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/checksum_dk_cmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          95
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_k_free_key
        - krb5int_cmac_checksum
        - krb5int_derive_key
        - make_data
        - store_32_be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'checksum_dk_cmac.c:44,14'
          Dst:             make_data
        - Src:             'checksum_dk_cmac.c:45,5'
          Dst:             store_32_be
        - Src:             'checksum_dk_cmac.c:47,11'
          Dst:             krb5int_derive_key
        - Src:             'checksum_dk_cmac.c:53,11'
          Dst:             krb5int_cmac_checksum
        - Src:             'checksum_dk_cmac.c:57,5'
          Dst:             krb5_k_free_key
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_dk_checksum
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/checksum_dk_hmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          97
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_k_free_key
        - krb5int_derive_key
        - krb5int_hmac
        - make_data
        - store_32_be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'checksum_dk_hmac.c:45,14'
          Dst:             make_data
        - Src:             'checksum_dk_hmac.c:46,5'
          Dst:             store_32_be
        - Src:             'checksum_dk_hmac.c:48,11'
          Dst:             krb5int_derive_key
        - Src:             'checksum_dk_hmac.c:53,11'
          Dst:             krb5int_hmac
        - Src:             'checksum_dk_hmac.c:57,5'
          Dst:             krb5_k_free_key
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_etm_checksum
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/checksum_etm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          120
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - alloc_data
        - empty_data
        - krb5int_derive_random
        - krb5int_hmac_keyblock
        - make_data
        - store_32_be
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'checksum_etm.c:42,28'
          Dst:             make_data
        - Src:             'checksum_etm.c:42,54'
          Dst:             empty_data
        - Src:             'checksum_etm.c:46,5'
          Dst:             store_32_be
        - Src:             'checksum_etm.c:48,18'
          Dst:             make_data
        - Src:             'checksum_etm.c:49,11'
          Dst:             alloc_data
        - Src:             'checksum_etm.c:52,11'
          Dst:             krb5int_derive_random
        - Src:             'checksum_etm.c:60,11'
          Dst:             krb5int_hmac_keyblock
        - Src:             'checksum_etm.c:63,5'
          Dst:             zapfree
    - functionName:    k5_hmac_md5
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/checksum_hmac_md5.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          99
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5int_hmac_keyblock
        - make_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'checksum_hmac_md5.c:109,22'
          Dst:             make_data
        - Src:             'checksum_hmac_md5.c:121,12'
          Dst:             krb5int_hmac_keyblock
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    store_32_le
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 647
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    krb5int_hmacmd5_checksum
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/checksum_hmac_md5.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          251
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - alloc_data
        - empty_data
        - k5calloc
        - krb5int_arcfour_translate_usage
        - krb5int_hmac
        - krb5int_hmac_keyblock
        - make_data
        - store_32_le
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'checksum_hmac_md5.c:46,20'
          Dst:             empty_data
        - Src:             'checksum_hmac_md5.c:46,44'
          Dst:             empty_data
        - Src:             'checksum_hmac_md5.c:53,15'
          Dst:             alloc_data
        - Src:             'checksum_hmac_md5.c:58,20'
          Dst:             make_data
        - Src:             'checksum_hmac_md5.c:59,15'
          Dst:             krb5int_hmac
        - Src:             'checksum_hmac_md5.c:69,16'
          Dst:             krb5int_arcfour_translate_usage
        - Src:             'checksum_hmac_md5.c:70,5'
          Dst:             store_32_le
        - Src:             'checksum_hmac_md5.c:71,16'
          Dst:             k5calloc
        - Src:             'checksum_hmac_md5.c:75,24'
          Dst:             make_data
        - Src:             'checksum_hmac_md5.c:77,11'
          Dst:             alloc_data
        - Src:             'checksum_hmac_md5.c:87,11'
          Dst:             krb5int_hmac_keyblock
        - Src:             'checksum_hmac_md5.c:90,5'
          Dst:             zapfree
        - Src:             'checksum_hmac_md5.c:91,5'
          Dst:             zapfree
    - functionName:    krb5int_unkeyed_checksum
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/checksum_unkeyed.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    krb5int_default_free_state
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/default_state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - empty_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'default_state.c:49,14'
          Dst:             empty_data
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    krb5int_des_init_state
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/default_state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - alloc_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'default_state.c:39,9'
          Dst:             alloc_data
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    k5memdup
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2300
      functionLinenumberEnd: 2305
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2301,17'
          Dst:             k5alloc
    - functionName:    data_eq
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2222
      functionLinenumberEnd: 2224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2224,41'
          Dst:             memcmp
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_cached_dkey
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/derive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          105
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - k5memdup
        - krb5_k_create_key
        - krb5_k_reference_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'derive.c:55,12'
          Dst:             k5memdup
        - Src:             'derive.c:58,11'
          Dst:             krb5_k_create_key
        - Src:             'derive.c:70,5'
          Dst:             krb5_k_reference_key
    - functionName:    find_cached_dkey
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/derive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          62
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - data_eq
        - krb5_k_reference_key
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'derive.c:34,13'
          Dst:             data_eq
        - Src:             'derive.c:35,13'
          Dst:             krb5_k_reference_key
    - functionName:    krb5int_derive_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/derive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          117
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - add_cached_dkey
        - find_cached_dkey
        - krb5int_derive_keyblock
        - zapfree
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'derive.c:147,12'
          Dst:             find_cached_dkey
        - Src:             'derive.c:159,11'
          Dst:             krb5int_derive_keyblock
        - Src:             'derive.c:165,11'
          Dst:             add_cached_dkey
        - Src:             'derive.c:172,5'
          Dst:             zapfree
    - functionName:    krb5int_derive_keyblock
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/derive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          79
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - alloc_data
        - empty_data
        - krb5_c_random_to_key
        - krb5int_derive_random
        - zapfree
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'derive.c:114,24'
          Dst:             empty_data
        - Src:             'derive.c:117,11'
          Dst:             alloc_data
        - Src:             'derive.c:122,11'
          Dst:             krb5int_derive_random
        - Src:             'derive.c:127,11'
          Dst:             krb5_c_random_to_key
        - Src:             'derive.c:130,5'
          Dst:             zapfree
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    krb5int_derive_random
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/derive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          72
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - empty_data
        - k5_derive_random_rfc3961
        - k5_sp800_108_counter_hmac
        - k5_sp800_108_feedback_cmac
      functionUses:    3
      BranchProfiles:
        - Branch String:   'derive.c:88,5'
          Branch Sides:    []
      Callsites:
        - Src:             'derive.c:86,23'
          Dst:             empty_data
        - Src:             'derive.c:90,16'
          Dst:             k5_derive_random_rfc3961
        - Src:             'derive.c:92,16'
          Dst:             k5_sp800_108_feedback_cmac
        - Src:             'derive.c:94,16'
          Dst:             k5_sp800_108_counter_hmac
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    krb5int_dk_cmac_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_dk_cmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          197
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - alloc_data
        - derive_keys
        - empty_data
        - k5_bcmp
        - krb5_k_free_key
        - krb5int_c_locate_iov
        - krb5int_cmac_checksum
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_dk_cmac.c:144,23'
          Dst:             empty_data
        - Src:             'enc_dk_cmac.c:150,14'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_dk_cmac.c:153,15'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_dk_cmac.c:158,11'
          Dst:             derive_keys
        - Src:             'enc_dk_cmac.c:168,11'
          Dst:             alloc_data
        - Src:             'enc_dk_cmac.c:171,11'
          Dst:             krb5int_cmac_checksum
        - Src:             'enc_dk_cmac.c:174,9'
          Dst:             k5_bcmp
        - Src:             'enc_dk_cmac.c:178,5'
          Dst:             krb5_k_free_key
        - Src:             'enc_dk_cmac.c:179,5'
          Dst:             krb5_k_free_key
        - Src:             'enc_dk_cmac.c:180,5'
          Dst:             zapfree
    - functionName:    derive_keys
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_dk_cmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          88
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - krb5_k_free_key
        - krb5int_derive_key
        - make_data
        - store_32_be
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_dk_cmac.c:59,26'
          Dst:             make_data
        - Src:             'enc_dk_cmac.c:65,5'
          Dst:             store_32_be
        - Src:             'enc_dk_cmac.c:67,11'
          Dst:             krb5int_derive_key
        - Src:             'enc_dk_cmac.c:74,11'
          Dst:             krb5int_derive_key
        - Src:             'enc_dk_cmac.c:77,9'
          Dst:             krb5_k_free_key
    - functionName:    krb5int_dk_cmac_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_dk_cmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          192
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - derive_keys
        - krb5_c_random_make_octets
        - krb5_k_free_key
        - krb5int_c_locate_iov
        - krb5int_cmac_checksum
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_dk_cmac.c:99,14'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_dk_cmac.c:102,15'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_dk_cmac.c:105,15'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_dk_cmac.c:110,11'
          Dst:             derive_keys
        - Src:             'enc_dk_cmac.c:116,11'
          Dst:             krb5_c_random_make_octets
        - Src:             'enc_dk_cmac.c:121,11'
          Dst:             krb5int_cmac_checksum
        - Src:             'enc_dk_cmac.c:131,5'
          Dst:             krb5_k_free_key
        - Src:             'enc_dk_cmac.c:132,5'
          Dst:             krb5_k_free_key
    - functionName:    krb5int_camellia_crypto_length
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_dk_cmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          58
      EdgeCount:       18
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'enc_dk_cmac.c:38,5'
          Branch Sides:    []
      Callsites:
        - Src:             'enc_dk_cmac.c:47,9'
          Dst:             __assert_fail
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    krb5int_dk_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_dk_hmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          319
      EdgeCount:       57
      CyclomaticComplexity: 17
      functionsReached:
        - k5_bcmp
        - k5alloc
        - krb5_k_free_key
        - krb5int_c_locate_iov
        - krb5int_derive_key
        - krb5int_hmac
        - store_32_be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_dk_hmac.c:214,14'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_dk_hmac.c:218,15'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_dk_hmac.c:222,13'
          Dst:             k5alloc
        - Src:             'enc_dk_hmac.c:231,5'
          Dst:             store_32_be
        - Src:             'enc_dk_hmac.c:235,11'
          Dst:             krb5int_derive_key
        - Src:             'enc_dk_hmac.c:241,11'
          Dst:             krb5int_derive_key
        - Src:             'enc_dk_hmac.c:254,11'
          Dst:             krb5int_hmac
        - Src:             'enc_dk_hmac.c:259,9'
          Dst:             k5_bcmp
        - Src:             'enc_dk_hmac.c:265,5'
          Dst:             krb5_k_free_key
        - Src:             'enc_dk_hmac.c:266,5'
          Dst:             krb5_k_free_key
    - functionName:    k5alloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2293
      functionLinenumberEnd: 2294
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2294,12'
          Dst:             k5calloc
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    krb5int_dk_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_dk_hmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         54
      ICount:          407
      EdgeCount:       72
      CyclomaticComplexity: 20
      functionsReached:
        - __assert_fail
        - k5alloc
        - krb5_c_random_make_octets
        - krb5_k_free_key
        - krb5int_c_locate_iov
        - krb5int_derive_key
        - krb5int_hmac
        - store_32_be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_dk_hmac.c:98,14'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_dk_hmac.c:102,15'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_dk_hmac.c:112,15'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_dk_hmac.c:121,13'
          Dst:             k5alloc
        - Src:             'enc_dk_hmac.c:130,5'
          Dst:             store_32_be
        - Src:             'enc_dk_hmac.c:134,11'
          Dst:             krb5int_derive_key
        - Src:             'enc_dk_hmac.c:140,11'
          Dst:             krb5int_derive_key
        - Src:             'enc_dk_hmac.c:148,11'
          Dst:             krb5_c_random_make_octets
        - Src:             'enc_dk_hmac.c:156,11'
          Dst:             krb5int_hmac
        - Src:             'enc_dk_hmac.c:166,5'
          Dst:             __assert_fail
        - Src:             'enc_dk_hmac.c:172,5'
          Dst:             krb5_k_free_key
        - Src:             'enc_dk_hmac.c:173,5'
          Dst:             krb5_k_free_key
    - functionName:    krb5int_aes_crypto_length
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_dk_hmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          52
      EdgeCount:       18
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'enc_dk_hmac.c:54,5'
          Branch Sides:    []
      Callsites:
        - Src:             'enc_dk_hmac.c:63,9'
          Dst:             __assert_fail
    - functionName:    krb5int_dk_crypto_length
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_dk_hmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          58
      EdgeCount:       20
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'enc_dk_hmac.c:37,5'
          Branch Sides:    []
      Callsites:
        - Src:             'enc_dk_hmac.c:45,9'
          Dst:             __assert_fail
    - functionName:    k5calloc
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2281
      functionLinenumberEnd: 2287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2285,11'
          Dst:             calloc
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_etm_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_etm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          201
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - derive_keys
        - empty_data
        - hmac_ivec_data
        - k5_bcmp
        - krb5_k_free_key
        - krb5int_c_locate_iov
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_etm.c:216,23'
          Dst:             empty_data
        - Src:             'enc_etm.c:219,20'
          Dst:             empty_data
        - Src:             'enc_etm.c:225,14'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_etm.c:228,15'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_etm.c:233,11'
          Dst:             derive_keys
        - Src:             'enc_etm.c:238,11'
          Dst:             hmac_ivec_data
        - Src:             'enc_etm.c:243,5'
          Dst:             __assert_fail
        - Src:             'enc_etm.c:244,9'
          Dst:             k5_bcmp
        - Src:             'enc_etm.c:253,5'
          Dst:             krb5_k_free_key
        - Src:             'enc_etm.c:254,5'
          Dst:             zapfree
        - Src:             'enc_etm.c:255,5'
          Dst:             zapfree
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    derive_keys
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_etm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          137
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - alloc_data
        - empty_data
        - krb5_k_free_key
        - krb5int_derive_key
        - krb5int_derive_random
        - make_data
        - store_32_be
        - zapfree
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_etm.c:60,28'
          Dst:             make_data
        - Src:             'enc_etm.c:60,54'
          Dst:             empty_data
        - Src:             'enc_etm.c:64,15'
          Dst:             empty_data
        - Src:             'enc_etm.c:67,5'
          Dst:             store_32_be
        - Src:             'enc_etm.c:69,11'
          Dst:             krb5int_derive_key
        - Src:             'enc_etm.c:76,11'
          Dst:             alloc_data
        - Src:             'enc_etm.c:79,11'
          Dst:             krb5int_derive_random
        - Src:             'enc_etm.c:87,10'
          Dst:             empty_data
        - Src:             'enc_etm.c:90,5'
          Dst:             krb5_k_free_key
        - Src:             'enc_etm.c:91,5'
          Dst:             zapfree
    - functionName:    hmac_ivec_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_etm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          154
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - alloc_data
        - empty_data
        - k5calloc
        - krb5int_hmac_keyblock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_etm.c:103,26'
          Dst:             empty_data
        - Src:             'enc_etm.c:115,12'
          Dst:             k5calloc
        - Src:             'enc_etm.c:122,11'
          Dst:             alloc_data
        - Src:             'enc_etm.c:127,11'
          Dst:             krb5int_hmac_keyblock
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    krb5int_etm_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_etm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          319
      EdgeCount:       53
      CyclomaticComplexity: 15
      functionsReached:
        - __assert_fail
        - alloc_data
        - derive_keys
        - empty_data
        - hmac_ivec_data
        - krb5_c_random_make_octets
        - krb5_k_free_key
        - krb5int_c_locate_iov
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_etm.c:143,24'
          Dst:             empty_data
        - Src:             'enc_etm.c:143,46'
          Dst:             empty_data
        - Src:             'enc_etm.c:146,20'
          Dst:             empty_data
        - Src:             'enc_etm.c:154,14'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_etm.c:157,15'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_etm.c:160,15'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_etm.c:165,15'
          Dst:             alloc_data
        - Src:             'enc_etm.c:172,11'
          Dst:             derive_keys
        - Src:             'enc_etm.c:178,11'
          Dst:             krb5_c_random_make_octets
        - Src:             'enc_etm.c:188,11'
          Dst:             hmac_ivec_data
        - Src:             'enc_etm.c:193,5'
          Dst:             __assert_fail
        - Src:             'enc_etm.c:202,5'
          Dst:             krb5_k_free_key
        - Src:             'enc_etm.c:203,5'
          Dst:             zapfree
        - Src:             'enc_etm.c:205,5'
          Dst:             zapfree
    - functionName:    krb5int_aes2_crypto_length
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_etm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          59
      EdgeCount:       18
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'enc_etm.c:39,5'
          Branch Sides:    []
      Callsites:
        - Src:             'enc_etm.c:48,9'
          Dst:             __assert_fail
    - functionName:    krb5int_raw_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_raw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          155
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_raw_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_raw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          184
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - krb5int_c_locate_iov
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_raw.c:66,15'
          Dst:             krb5int_c_locate_iov
    - functionName:    krb5int_raw_crypto_length
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_raw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          30
      EdgeCount:       6
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'enc_raw.c:34,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    store_32_le
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 647
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_arcfour_gsscrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          107
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - enc_key
        - keyblock_crypt
        - krb5int_c_free_keyblock
        - krb5int_c_init_keyblock
        - usage_key
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_rc4.c:321,11'
          Dst:             krb5int_c_init_keyblock
        - Src:             'enc_rc4.c:325,11'
          Dst:             krb5int_c_init_keyblock
        - Src:             'enc_rc4.c:331,11'
          Dst:             usage_key
        - Src:             'enc_rc4.c:336,11'
          Dst:             enc_key
        - Src:             'enc_rc4.c:341,11'
          Dst:             keyblock_crypt
        - Src:             'enc_rc4.c:344,5'
          Dst:             krb5int_c_free_keyblock
        - Src:             'enc_rc4.c:345,5'
          Dst:             krb5int_c_free_keyblock
    - functionName:    usage_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          84
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_arcfour_translate_usage
        - krb5int_hmac_keyblock
        - make_data
        - store_32_le
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_rc4.c:46,26'
          Dst:             make_data
        - Src:             'enc_rc4.c:51,16'
          Dst:             krb5int_arcfour_translate_usage
        - Src:             'enc_rc4.c:54,9'
          Dst:             store_32_le
        - Src:             'enc_rc4.c:57,9'
          Dst:             store_32_le
        - Src:             'enc_rc4.c:63,16'
          Dst:             make_data
        - Src:             'enc_rc4.c:64,12'
          Dst:             krb5int_hmac_keyblock
    - functionName:    enc_key
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          87
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - krb5int_c_copy_keyblock
        - krb5int_c_free_keyblock
        - krb5int_hmac_keyblock
        - make_data
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_rc4.c:75,26'
          Dst:             make_data
        - Src:             'enc_rc4.c:80,11'
          Dst:             krb5int_c_copy_keyblock
        - Src:             'enc_rc4.c:89,11'
          Dst:             krb5int_hmac_keyblock
        - Src:             'enc_rc4.c:90,5'
          Dst:             krb5int_c_free_keyblock
    - functionName:    keyblock_crypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5_k_create_key
        - krb5_k_free_key
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_rc4.c:121,11'
          Dst:             krb5_k_create_key
        - Src:             'enc_rc4.c:126,5'
          Dst:             krb5_k_free_key
    - functionName:    make_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2236
      functionLinenumberEnd: 2242
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_arcfour_translate_usage
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          83
      EdgeCount:       30
      CyclomaticComplexity: 16
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'enc_rc4.c:19,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    zapfree
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - explicit_bzero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:666,9'
          Dst:             explicit_bzero
    - functionName:    alloc_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2259
      functionLinenumberEnd: 2269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2261,26'
          Dst:             calloc
    - functionName:    empty_data
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/../../../include/k5-int.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2247
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - make_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../include/k5-int.h:2248,12'
          Dst:             make_data
    - functionName:    krb5int_arcfour_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          322
      EdgeCount:       55
      CyclomaticComplexity: 17
      functionsReached:
        - alloc_data
        - empty_data
        - enc_key
        - k5_bcmp
        - keyblock_crypt
        - krb5int_c_free_keyblock
        - krb5int_c_init_keyblock
        - krb5int_c_locate_iov
        - krb5int_hmac_keyblock
        - make_data
        - usage_key
        - zapfree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_rc4.c:225,54'
          Dst:             empty_data
        - Src:             'enc_rc4.c:227,14'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_rc4.c:234,15'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_rc4.c:239,11'
          Dst:             alloc_data
        - Src:             'enc_rc4.c:242,11'
          Dst:             krb5int_c_init_keyblock
        - Src:             'enc_rc4.c:246,11'
          Dst:             krb5int_c_init_keyblock
        - Src:             'enc_rc4.c:251,16'
          Dst:             make_data
        - Src:             'enc_rc4.c:260,15'
          Dst:             usage_key
        - Src:             'enc_rc4.c:265,15'
          Dst:             enc_key
        - Src:             'enc_rc4.c:270,15'
          Dst:             keyblock_crypt
        - Src:             'enc_rc4.c:275,15'
          Dst:             krb5int_hmac_keyblock
        - Src:             'enc_rc4.c:280,13'
          Dst:             k5_bcmp
        - Src:             'enc_rc4.c:290,23'
          Dst:             keyblock_crypt
        - Src:             'enc_rc4.c:305,5'
          Dst:             krb5int_c_free_keyblock
        - Src:             'enc_rc4.c:306,5'
          Dst:             krb5int_c_free_keyblock
        - Src:             'enc_rc4.c:307,5'
          Dst:             zapfree
    - functionName:    krb5int_arcfour_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          306
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached:
        - enc_key
        - keyblock_crypt
        - krb5_c_random_make_octets
        - krb5int_c_free_keyblock
        - krb5int_c_init_keyblock
        - krb5int_c_locate_iov
        - krb5int_hmac_keyblock
        - make_data
        - usage_key
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'enc_rc4.c:150,14'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_rc4.c:158,15'
          Dst:             krb5int_c_locate_iov
        - Src:             'enc_rc4.c:168,11'
          Dst:             krb5int_c_init_keyblock
        - Src:             'enc_rc4.c:172,11'
          Dst:             krb5int_c_init_keyblock
        - Src:             'enc_rc4.c:178,11'
          Dst:             usage_key
        - Src:             'enc_rc4.c:184,18'
          Dst:             make_data
        - Src:             'enc_rc4.c:186,11'
          Dst:             krb5_c_random_make_octets
        - Src:             'enc_rc4.c:189,16'
          Dst:             make_data
        - Src:             'enc_rc4.c:196,11'
          Dst:             krb5int_hmac_keyblock
        - Src:             'enc_rc4.c:202,11'
          Dst:             enc_key
        - Src:             'enc_rc4.c:206,11'
          Dst:             keyblock_crypt
        - Src:             'enc_rc4.c:210,5'
          Dst:             krb5int_c_free_keyblock
        - Src:             'enc_rc4.c:211,5'
          Dst:             krb5int_c_free_keyblock
    - functionName:    krb5int_arcfour_crypto_length
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/enc_rc4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          59
      EdgeCount:       18
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'enc_rc4.c:98,5'
          Branch Sides:    []
      Callsites:
        - Src:             'enc_rc4.c:107,9'
          Dst:             __assert_fail
    - functionName:    krb5int_nfold
      functionSourceFile: '/src/krb5/src/lib/crypto/krb/nfold.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          199
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_des3_cbc_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/d3_aead.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         54
      ICount:          1134
      EdgeCount:       60
      CyclomaticComplexity: 8
      functionsReached:
        - k5_iov_cursor_get
        - k5_iov_cursor_init
        - k5_iov_cursor_put
        - load_32_be
        - store_32_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'd3_aead.c:104,16'
          Dst:             load_32_be
        - Src:             'd3_aead.c:105,16'
          Dst:             load_32_be
        - Src:             'd3_aead.c:107,5'
          Dst:             k5_iov_cursor_init
        - Src:             'd3_aead.c:108,12'
          Dst:             k5_iov_cursor_get
        - Src:             'd3_aead.c:110,26'
          Dst:             load_32_be
        - Src:             'd3_aead.c:111,27'
          Dst:             load_32_be
        - Src:             'd3_aead.c:121,9'
          Dst:             store_32_be
        - Src:             'd3_aead.c:122,9'
          Dst:             store_32_be
        - Src:             'd3_aead.c:128,9'
          Dst:             k5_iov_cursor_put
        - Src:             'd3_aead.c:132,9'
          Dst:             store_32_be
        - Src:             'd3_aead.c:133,9'
          Dst:             store_32_be
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    krb5int_des3_cbc_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/d3_aead.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         54
      ICount:          1120
      EdgeCount:       60
      CyclomaticComplexity: 8
      functionsReached:
        - k5_iov_cursor_get
        - k5_iov_cursor_init
        - k5_iov_cursor_put
        - load_32_be
        - store_32_be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'd3_aead.c:51,12'
          Dst:             load_32_be
        - Src:             'd3_aead.c:52,13'
          Dst:             load_32_be
        - Src:             'd3_aead.c:54,5'
          Dst:             k5_iov_cursor_init
        - Src:             'd3_aead.c:55,12'
          Dst:             k5_iov_cursor_get
        - Src:             'd3_aead.c:57,17'
          Dst:             load_32_be
        - Src:             'd3_aead.c:58,18'
          Dst:             load_32_be
        - Src:             'd3_aead.c:64,9'
          Dst:             store_32_be
        - Src:             'd3_aead.c:65,9'
          Dst:             store_32_be
        - Src:             'd3_aead.c:67,9'
          Dst:             k5_iov_cursor_put
        - Src:             'd3_aead.c:71,9'
          Dst:             store_32_be
        - Src:             'd3_aead.c:72,9'
          Dst:             store_32_be
    - functionName:    mit_des3_key_sched
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/d3_kysched.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          115
      EdgeCount:       22
      CyclomaticComplexity: 8
      functionsReached:
        - mit_des_check_key_parity
        - mit_des_is_weak_key
        - mit_des_make_key_sched
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'd3_kysched.c:32,5'
          Dst:             mit_des_make_key_sched
        - Src:             'd3_kysched.c:33,5'
          Dst:             mit_des_make_key_sched
        - Src:             'd3_kysched.c:34,5'
          Dst:             mit_des_make_key_sched
        - Src:             'd3_kysched.c:36,10'
          Dst:             mit_des_check_key_parity
        - Src:             'd3_kysched.c:38,9'
          Dst:             mit_des_is_weak_key
        - Src:             'd3_kysched.c:41,10'
          Dst:             mit_des_check_key_parity
        - Src:             'd3_kysched.c:43,9'
          Dst:             mit_des_is_weak_key
        - Src:             'd3_kysched.c:46,10'
          Dst:             mit_des_check_key_parity
        - Src:             'd3_kysched.c:48,9'
          Dst:             mit_des_is_weak_key
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_des_cbc_mac
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/f_aead.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          421
      EdgeCount:       26
      CyclomaticComplexity: 5
      functionsReached:
        - k5_iov_cursor_get
        - k5_iov_cursor_init
        - load_32_be
        - store_32_be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'f_aead.c:143,12'
          Dst:             load_32_be
        - Src:             'f_aead.c:144,13'
          Dst:             load_32_be
        - Src:             'f_aead.c:146,5'
          Dst:             k5_iov_cursor_init
        - Src:             'f_aead.c:147,12'
          Dst:             k5_iov_cursor_get
        - Src:             'f_aead.c:149,17'
          Dst:             load_32_be
        - Src:             'f_aead.c:150,18'
          Dst:             load_32_be
        - Src:             'f_aead.c:157,5'
          Dst:             store_32_be
        - Src:             'f_aead.c:158,5'
          Dst:             store_32_be
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    store_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../../include/k5-platform.h:555,5'
          Dst:             __bswap_32
    - functionName:    krb5int_des_cbc_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/f_aead.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          450
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - k5_iov_cursor_get
        - k5_iov_cursor_init
        - k5_iov_cursor_put
        - load_32_be
        - store_32_be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'f_aead.c:96,16'
          Dst:             load_32_be
        - Src:             'f_aead.c:97,16'
          Dst:             load_32_be
        - Src:             'f_aead.c:99,5'
          Dst:             k5_iov_cursor_init
        - Src:             'f_aead.c:100,12'
          Dst:             k5_iov_cursor_get
        - Src:             'f_aead.c:102,26'
          Dst:             load_32_be
        - Src:             'f_aead.c:103,27'
          Dst:             load_32_be
        - Src:             'f_aead.c:111,9'
          Dst:             store_32_be
        - Src:             'f_aead.c:112,9'
          Dst:             store_32_be
        - Src:             'f_aead.c:118,9'
          Dst:             k5_iov_cursor_put
        - Src:             'f_aead.c:122,9'
          Dst:             store_32_be
        - Src:             'f_aead.c:123,9'
          Dst:             store_32_be
    - functionName:    krb5int_des_cbc_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/f_aead.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          436
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - k5_iov_cursor_get
        - k5_iov_cursor_init
        - k5_iov_cursor_put
        - load_32_be
        - store_32_be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'f_aead.c:49,12'
          Dst:             load_32_be
        - Src:             'f_aead.c:50,13'
          Dst:             load_32_be
        - Src:             'f_aead.c:52,5'
          Dst:             k5_iov_cursor_init
        - Src:             'f_aead.c:53,12'
          Dst:             k5_iov_cursor_get
        - Src:             'f_aead.c:55,17'
          Dst:             load_32_be
        - Src:             'f_aead.c:56,18'
          Dst:             load_32_be
        - Src:             'f_aead.c:60,9'
          Dst:             store_32_be
        - Src:             'f_aead.c:61,9'
          Dst:             store_32_be
        - Src:             'f_aead.c:63,9'
          Dst:             k5_iov_cursor_put
        - Src:             'f_aead.c:67,9'
          Dst:             store_32_be
        - Src:             'f_aead.c:68,9'
          Dst:             store_32_be
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    mit_des_make_key_sched
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/f_sched.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 360
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          322
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - load_32_be
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'f_sched.c:266,15'
          Dst:             load_32_be
        - Src:             'f_sched.c:277,15'
          Dst:             load_32_be
    - functionName:    mit_des_is_weak_key
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/des/weak_key.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - memcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'weak_key.c:83,14'
          Dst:             memcmp
    - functionName:    k5_aes_decrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/aes/aescrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 298
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          2501
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'aescrypt.c:248,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    k5_aes_encrypt
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/aes/aescrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          2494
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'aescrypt.c:115,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    k5_aes_init
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/aes/aestab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_aes_decrypt_key
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/aes/aeskey.c'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 570
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          67
      EdgeCount:       27
      CyclomaticComplexity: 15
      functionsReached:
        - aes_decrypt_key192
        - k5_aes_decrypt_key128
        - k5_aes_decrypt_key256
      functionUses:    1
      BranchProfiles:
        - Branch String:   'aeskey.c:563,2'
          Branch Sides:    []
      Callsites:
        - Src:             'aeskey.c:565,28'
          Dst:             k5_aes_decrypt_key128
        - Src:             'aeskey.c:566,28'
          Dst:             aes_decrypt_key192
        - Src:             'aeskey.c:567,28'
          Dst:             k5_aes_decrypt_key256
    - functionName:    k5_aes_decrypt_key128
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/aes/aeskey.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 352
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          1446
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aes_decrypt_key192
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/aes/aeskey.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          1690
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_aes_decrypt_key256
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/aes/aeskey.c'
      linkageType:     InternalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 541
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          2261
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_aes_encrypt_key
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/aes/aeskey.c'
      linkageType:     InternalLinkage
      functionLinenumber: 551
      functionLinenumberEnd: 559
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          67
      EdgeCount:       27
      CyclomaticComplexity: 15
      functionsReached:
        - aes_encrypt_key192
        - k5_aes_encrypt_key128
        - k5_aes_encrypt_key256
      functionUses:    1
      BranchProfiles:
        - Branch String:   'aeskey.c:552,2'
          Branch Sides:    []
      Callsites:
        - Src:             'aeskey.c:554,28'
          Dst:             k5_aes_encrypt_key128
        - Src:             'aeskey.c:555,28'
          Dst:             aes_encrypt_key192
        - Src:             'aeskey.c:556,28'
          Dst:             k5_aes_encrypt_key256
    - functionName:    k5_aes_encrypt_key128
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/aes/aeskey.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          862
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    aes_encrypt_key192
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/aes/aeskey.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          924
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_aes_encrypt_key256
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/aes/aeskey.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          1191
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_camellia_dec_blk
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1539
      functionLinenumberEnd: 1541
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_Camellia_DecryptBlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'camellia.c:1540,5'
          Dst:             k5_Camellia_DecryptBlock
    - functionName:    k5_Camellia_DecryptBlock
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1454
      functionLinenumberEnd: 1478
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          275
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - k5_camellia_decrypt128
        - k5_camellia_decrypt256
      functionUses:    1
      BranchProfiles:
        - Branch String:   'camellia.c:1462,5'
          Branch Sides:    []
      Callsites:
        - Src:             'camellia.c:1464,2'
          Dst:             k5_camellia_decrypt128
        - Src:             'camellia.c:1469,2'
          Dst:             k5_camellia_decrypt256
    - functionName:    k5_camellia_decrypt128
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1069
      functionLinenumberEnd: 1155
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         41
      ICount:          2203
      EdgeCount:       81
      CyclomaticComplexity: 42
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_camellia_decrypt256
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1278
      functionLinenumberEnd: 1388
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         55
      ICount:          2937
      EdgeCount:       109
      CyclomaticComplexity: 56
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_camellia_dec_key
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1517
      functionLinenumberEnd: 1535
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          66
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - k5_camellia_setup128
        - k5_camellia_setup192
        - k5_camellia_setup256
      functionUses:    1
      BranchProfiles:
        - Branch String:   'camellia.c:1518,5'
          Branch Sides:    []
      Callsites:
        - Src:             'camellia.c:1520,2'
          Dst:             k5_camellia_setup128
        - Src:             'camellia.c:1524,2'
          Dst:             k5_camellia_setup192
        - Src:             'camellia.c:1528,2'
          Dst:             k5_camellia_setup256
    - functionName:    k5_camellia_setup128
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 663
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          2220
      EdgeCount:       65
      CyclomaticComplexity: 34
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_camellia_setup192
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 955
      functionLinenumberEnd: 967
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          44
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_camellia_setup256
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'camellia.c:966,5'
          Dst:             k5_camellia_setup256
    - functionName:    k5_camellia_setup256
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 668
      functionLinenumberEnd: 950
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          3122
      EdgeCount:       85
      CyclomaticComplexity: 44
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_camellia_enc_blk
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1510
      functionLinenumberEnd: 1512
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_Camellia_EncryptBlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'camellia.c:1511,5'
          Dst:             k5_Camellia_EncryptBlock
    - functionName:    k5_Camellia_EncryptBlock
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1422
      functionLinenumberEnd: 1447
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          275
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - k5_camellia_encrypt128
        - k5_camellia_encrypt256
      functionUses:    1
      BranchProfiles:
        - Branch String:   'camellia.c:1430,5'
          Branch Sides:    []
      Callsites:
        - Src:             'camellia.c:1432,2'
          Dst:             k5_camellia_encrypt128
        - Src:             'camellia.c:1437,2'
          Dst:             k5_camellia_encrypt256
    - functionName:    k5_camellia_encrypt128
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 978
      functionLinenumberEnd: 1064
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         41
      ICount:          2203
      EdgeCount:       81
      CyclomaticComplexity: 42
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_camellia_encrypt256
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1163
      functionLinenumberEnd: 1273
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         55
      ICount:          2937
      EdgeCount:       109
      CyclomaticComplexity: 56
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_camellia_enc_key
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1488
      functionLinenumberEnd: 1506
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          66
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - k5_camellia_setup128
        - k5_camellia_setup192
        - k5_camellia_setup256
      functionUses:    1
      BranchProfiles:
        - Branch String:   'camellia.c:1489,5'
          Branch Sides:    []
      Callsites:
        - Src:             'camellia.c:1491,2'
          Dst:             k5_camellia_setup128
        - Src:             'camellia.c:1495,2'
          Dst:             k5_camellia_setup192
        - Src:             'camellia.c:1499,2'
          Dst:             k5_camellia_setup256
    - functionName:    krb5int_camellia_blk_len
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1481
      functionLinenumberEnd: 1484
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_Camellia_Ekeygen
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/camellia/camellia.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1400
      functionLinenumberEnd: 1414
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - k5_camellia_setup128
        - k5_camellia_setup192
        - k5_camellia_setup256
      functionUses:    0
      BranchProfiles:
        - Branch String:   'camellia.c:1401,5'
          Branch Sides:    []
      Callsites:
        - Src:             'camellia.c:1403,2'
          Dst:             k5_camellia_setup128
        - Src:             'camellia.c:1406,2'
          Dst:             k5_camellia_setup192
        - Src:             'camellia.c:1409,2'
          Dst:             k5_camellia_setup256
    - functionName:    store_32_le
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/md4/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 647
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_MD4Final
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/md4/md4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          126
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - Transform
        - krb5int_MD4Update
        - load_32_le
        - store_32_le
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'md4.c:138,5'
          Dst:             krb5int_MD4Update
        - Src:             'md4.c:142,17'
          Dst:             load_32_le
        - Src:             'md4.c:143,5'
          Dst:             Transform
        - Src:             'md4.c:148,9'
          Dst:             store_32_le
    - functionName:    krb5int_MD4Update
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/md4/md4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          142
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - Transform
        - load_32_le
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'md4.c:113,25'
          Dst:             load_32_le
        - Src:             'md4.c:115,13'
          Dst:             Transform
    - functionName:    load_32_le
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/md4/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 684
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Transform
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/md4/md4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          1380
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_MD4Init
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/md4/md4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          30
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    store_32_le
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/md5/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 647
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_MD5Final
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/md5/md5.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          126
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - Transform
        - krb5int_MD5Update
        - load_32_le
        - store_32_le
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'md5.c:177,5'
          Dst:             krb5int_MD5Update
        - Src:             'md5.c:181,17'
          Dst:             load_32_le
        - Src:             'md5.c:182,5'
          Dst:             Transform
        - Src:             'md5.c:186,9'
          Dst:             store_32_le
    - functionName:    krb5int_MD5Update
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/md5/md5.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          142
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - Transform
        - load_32_le
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'md5.c:150,25'
          Dst:             load_32_le
        - Src:             'md5.c:151,13'
          Dst:             Transform
    - functionName:    load_32_le
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/md5/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 684
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Transform
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/md5/md5.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          2084
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_MD5Init
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/md5/md5.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          30
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __bswap_32
      functionSourceFile: '/usr/include/x86_64-linux-gnu/bits/byteswap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    shsFinal
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha1/shs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 384
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          163
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached:
        - SHSTransform
      functionUses:    1
      BranchProfiles:
        - Branch String:   'shs.c:349,5'
          Branch Sides:    []
      Callsites:
        - Src:             'shs.c:372,9'
          Dst:             SHSTransform
        - Src:             'shs.c:383,5'
          Dst:             SHSTransform
    - functionName:    SHSTransform
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha1/shs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          4516
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    load_32_be
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha1/../../../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __bswap_32
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../../../include/k5-platform.h:601,12'
          Dst:             __bswap_32
    - functionName:    shsUpdate
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha1/shs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          394
      EdgeCount:       65
      CyclomaticComplexity: 12
      functionsReached:
        - SHSTransform
        - load_32_be
      functionUses:    1
      BranchProfiles:
        - Branch String:   'shs.c:282,17'
          Branch Sides:    []
        - Branch String:   'shs.c:321,9'
          Branch Sides:    []
      Callsites:
        - Src:             'shs.c:293,21'
          Dst:             load_32_be
        - Src:             'shs.c:298,13'
          Dst:             SHSTransform
        - Src:             'shs.c:306,21'
          Dst:             load_32_be
        - Src:             'shs.c:309,9'
          Dst:             SHSTransform
        - Src:             'shs.c:316,21'
          Dst:             load_32_be
    - functionName:    shsInit
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha1/shs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          32
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cshift
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_sha256
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          52
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - k5_sha256_final
        - k5_sha256_init
        - k5_sha256_update
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sha256.c:266,5'
          Dst:             k5_sha256_init
        - Src:             'sha256.c:268,9'
          Dst:             k5_sha256_update
        - Src:             'sha256.c:269,5'
          Dst:             k5_sha256_final
    - functionName:    k5_sha256_init
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          46
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_sha256_update
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          179
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - calc
        - swap_uint32_t
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'sha256.c:217,20'
          Dst:             swap_uint32_t
        - Src:             'sha256.c:218,20'
          Dst:             swap_uint32_t
        - Src:             'sha256.c:220,6'
          Dst:             calc
    - functionName:    k5_sha256_final
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          221
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - k5_sha256_update
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sha256.c:246,5'
          Dst:             k5_sha256_update
    - functionName:    swap_uint32_t
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cshift
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sha256.c:180,15'
          Dst:             cshift
    - functionName:    calc
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha256.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          344
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cshift64
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_sha384_final
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_sha512_final
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sha512.c:304,5'
          Dst:             k5_sha512_final
    - functionName:    k5_sha512_final
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          382
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - k5_sha512_update
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sha512.c:261,5'
          Dst:             k5_sha512_update
    - functionName:    k5_sha512_update
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          173
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - calc
        - swap_uint64_t
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sha512.c:223,20'
          Dst:             swap_uint64_t
        - Src:             'sha512.c:224,20'
          Dst:             swap_uint64_t
        - Src:             'sha512.c:226,6'
          Dst:             calc
    - functionName:    swap_uint64_t
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cshift64
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sha512.c:187,14'
          Dst:             cshift64
    - functionName:    calc
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          344
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_sha384_update
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 298
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_sha512_update
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sha512.c:297,5'
          Dst:             k5_sha512_update
    - functionName:    k5_sha384_init
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 281
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          46
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_sha512_init
      functionSourceFile: '/src/krb5/src/lib/crypto/builtin/sha2/sha512.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          46
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - 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:
        - ''
      BBCount:         1
      ICount:          6
      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:          56
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - k5_mutex_finish_init
        - krb5int_key_register
      functionUses:    1
      BranchProfiles:  []
      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:  []
      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:          53
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - k5_once
      functionUses:    3
      BranchProfiles:  []
      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:
        - ''
      BBCount:         20
      ICount:          121
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - k5_mutex_lock
        - k5_mutex_unlock
        - k5_once
      functionUses:    0
      BranchProfiles:  []
      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:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    3
      BranchProfiles:  []
      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:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    5
      BranchProfiles:  []
      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:
        - ''
      BBCount:         19
      ICount:          145
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - bindtextdomain
        - k5_mutex_lock
        - k5_mutex_unlock
        - k5_once
      functionUses:    14
      BranchProfiles:  []
      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:    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:          52
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - krb5int_getspecific
        - krb5int_setspecific
      functionUses:    2
      BranchProfiles:  []
      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:
        - ''
      BBCount:         55
      ICount:          359
      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:    10
      BranchProfiles:  []
      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:    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:
        - ''
      BBCount:         3
      ICount:          15
      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:
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      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:          30
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - com_err_finish_init
        - com_err_lock_hook_handle
        - k5_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      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:  []
      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:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    3
      BranchProfiles:  []
      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:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    2
      BranchProfiles:  []
      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:
        - ''
      BBCount:         5
      ICount:          33
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - com_err_finish_init
        - com_err_lock_hook_handle
        - k5_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      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:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          91
      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:  []
      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:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          74
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - error_message
        - fflush
        - fputs
        - putc
        - vfprintf
      functionUses:    2
      BranchProfiles:  []
      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:    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:
        - ''
      BBCount:         20
      ICount:          126
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    4
      BranchProfiles:  []
      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:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    4
      BranchProfiles:  []
      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:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_pthread_loaded
        - pthread_mutex_unlock
      functionUses:    12
      BranchProfiles:  []
      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:          131
      EdgeCount:       53
      CyclomaticComplexity: 18
      functionsReached:
        - loaded_test_aux
        - pthread_once
      functionUses:    8
      BranchProfiles:  []
      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:    2
      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:    3
      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:    2
      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:    2
      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:    1
      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:    4
      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:    2
      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:    2
      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:    2
      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:    1
      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:    1
      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:    1
      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:  []
      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:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_pthread_loaded
        - pthread_mutex_lock
      functionUses:    12
      BranchProfiles:  []
      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:
        - ''
      BBCount:         1
      ICount:          6
      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:          79
      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:  []
      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:  []
      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:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_pthread_loaded
        - pthread_mutex_init
      functionUses:    6
      BranchProfiles:  []
      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:
        - ''
      BBCount:         3
      ICount:          15
      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:
        - ''
      BBCount:         3
      ICount:          15
      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:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - krb5int_pthread_loaded
        - pthread_mutex_destroy
      functionUses:    20
      BranchProfiles:  []
      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:
        - ''
      BBCount:         3
      ICount:          17
      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:
        - ''
      BBCount:         3
      ICount:          15
      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:
        - ''
      BBCount:         8
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_mutex_init
      functionUses:    0
      BranchProfiles:  []
      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:          53
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - k5_once
      functionUses:    2
      BranchProfiles:  []
      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:
        - ''
        - ''
      BBCount:         21
      ICount:          112
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - krb5int_pthread_loaded
        - pthread_once
      functionUses:    10
      BranchProfiles:  []
      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:
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - k5_mutex_lock
        - k5_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      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:
        - ''
        - ''
      BBCount:         15
      ICount:          101
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - k5_mutex_lock
        - k5_mutex_unlock
        - k5_once
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
        - ''
      BBCount:         29
      ICount:          169
      EdgeCount:       36
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - k5_once
        - krb5int_pthread_loaded
        - pthread_getspecific
        - pthread_setspecific
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
      BBCount:         20
      ICount:          118
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - k5_once
        - krb5int_pthread_loaded
        - pthread_getspecific
      functionUses:    1
      BranchProfiles:  []
      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:  []
      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:
        - ''
      BBCount:         1
      ICount:          6
      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:  []
      Callsites:
        - Src:             'init-addrinfo.c:62,12'
          Dst:             k5_mutex_finish_init
    - functionName:    krb5int_get_plugin_dir_func
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 549
      functionLinenumberEnd: 593
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          184
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - Tprintf
        - calloc
        - krb5int_get_plugin_func
        - realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:557,5'
          Dst:             Tprintf
        - Src:             'plugins.c:560,13'
          Dst:             calloc
        - Src:             'plugins.c:570,17'
          Dst:             krb5int_get_plugin_func
        - Src:             'plugins.c:574,24'
          Dst:             realloc
    - functionName:    Tprintf
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_get_plugin_func
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_sym_dlfcn
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:246,16'
          Dst:             get_sym_dlfcn
    - functionName:    get_sym_dlfcn
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          71
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - Tprintf
        - dgettext
        - dlerror
        - dlsym
        - k5_set_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:112,16'
          Dst:             dlsym
        - Src:             'plugins.c:114,13'
          Dst:             dlerror
        - Src:             'plugins.c:116,17'
          Dst:             dgettext
        - Src:             'plugins.c:117,9'
          Dst:             Tprintf
        - Src:             'plugins.c:118,9'
          Dst:             k5_set_error
    - functionName:    dlsym
      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:    dlerror
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_free_plugin_dir_func
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 539
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_get_plugin_dir_data
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 490
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          184
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - Tprintf
        - calloc
        - krb5int_get_plugin_data
        - realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:498,5'
          Dst:             Tprintf
        - Src:             'plugins.c:501,13'
          Dst:             calloc
        - Src:             'plugins.c:511,17'
          Dst:             krb5int_get_plugin_data
        - Src:             'plugins.c:515,24'
          Dst:             realloc
    - functionName:    krb5int_get_plugin_data
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_sym_dlfcn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:238,12'
          Dst:             get_sym_dlfcn
    - functionName:    krb5int_free_plugin_dir_data
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 483
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_close_plugin_dirs
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 476
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          59
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - krb5int_close_plugin
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:471,13'
          Dst:             krb5int_close_plugin
    - functionName:    krb5int_close_plugin
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - close_plugin_dlfcn
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:256,5'
          Dst:             close_plugin_dlfcn
    - functionName:    close_plugin_dlfcn
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - dlclose
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:129,9'
          Dst:             dlclose
    - functionName:    dlclose
      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:    krb5int_plugin_file_handle_array_free
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 303
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          48
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - krb5int_close_plugin
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:299,13'
          Dst:             krb5int_close_plugin
    - functionName:    krb5int_free_plugin_filenames
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 325
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          48
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_plugin_file_handle_array_add
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:279,17'
          Dst:             realloc
    - functionName:    krb5int_get_plugin_filenames
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         46
      ICount:          242
      EdgeCount:       59
      CyclomaticComplexity: 15
      functionsReached:
        - asprintf
        - calloc
        - krb5int_free_plugin_filenames
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:344,21'
          Dst:             calloc
        - Src:             'plugins.c:352,21'
          Dst:             asprintf
        - Src:             'plugins.c:367,5'
          Dst:             krb5int_free_plugin_filenames
    - functionName:    krb5int_plugin_file_handle_array_init
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:265,15'
          Dst:             calloc
    - functionName:    krb5int_open_plugin_dirs
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 382
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          394
      EdgeCount:       102
      CyclomaticComplexity: 27
      functionsReached:
        - k5_dir_filenames
        - k5_free_filenames
        - k5_path_join
        - krb5int_close_plugin
        - krb5int_free_plugin_filenames
        - krb5int_get_plugin_filenames
        - krb5int_open_plugin
        - krb5int_plugin_file_handle_array_add
        - krb5int_plugin_file_handle_array_free
        - krb5int_plugin_file_handle_array_init
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:390,15'
          Dst:             krb5int_plugin_file_handle_array_init
        - Src:             'plugins.c:394,15'
          Dst:             krb5int_get_plugin_filenames
        - Src:             'plugins.c:407,27'
          Dst:             k5_path_join
        - Src:             'plugins.c:409,29'
          Dst:             krb5int_open_plugin
        - Src:             'plugins.c:410,27'
          Dst:             krb5int_plugin_file_handle_array_add
        - Src:             'plugins.c:416,41'
          Dst:             krb5int_close_plugin
        - Src:             'plugins.c:422,19'
          Dst:             k5_dir_filenames
        - Src:             'plugins.c:427,21'
          Dst:             strcmp
        - Src:             'plugins.c:428,21'
          Dst:             strcmp
        - Src:             'plugins.c:431,23'
          Dst:             k5_path_join
        - Src:             'plugins.c:433,29'
          Dst:             krb5int_open_plugin
        - Src:             'plugins.c:434,27'
          Dst:             krb5int_plugin_file_handle_array_add
        - Src:             'plugins.c:442,21'
          Dst:             krb5int_close_plugin
        - Src:             'plugins.c:445,13'
          Dst:             k5_free_filenames
        - Src:             'plugins.c:458,30'
          Dst:             krb5int_free_plugin_filenames
        - Src:             'plugins.c:459,30'
          Dst:             krb5int_plugin_file_handle_array_free
    - functionName:    krb5int_open_plugin
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          58
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - open_plugin_dlfcn
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:220,9'
          Dst:             calloc
        - Src:             'plugins.c:224,11'
          Dst:             open_plugin_dlfcn
    - functionName:    open_plugin_dlfcn
      functionSourceFile: '/src/krb5/src/util/support/plugins.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Tprintf
        - dgettext
        - dlerror
        - dlopen
        - k5_set_error
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'plugins.c:90,19'
          Dst:             dlopen
        - Src:             'plugins.c:92,13'
          Dst:             dlerror
        - Src:             'plugins.c:94,17'
          Dst:             dgettext
        - Src:             'plugins.c:95,9'
          Dst:             Tprintf
        - Src:             'plugins.c:96,34'
          Dst:             dgettext
        - Src:             'plugins.c:96,9'
          Dst:             k5_set_error
    - functionName:    dlopen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5int_call_thread_support_init
      functionUses:    1
      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:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_lock
        - strerror
      functionUses:    2
      BranchProfiles:  []
      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:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - fprintf
        - k5_os_mutex_unlock
        - strerror
      functionUses:    4
      BranchProfiles:  []
      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:
        - ''
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      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:
        - ''
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      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:
        - ''
        - ''
      BBCount:         15
      ICount:          107
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - dgettext
        - k5_mutex_lock
        - k5_mutex_unlock
        - krb5int_call_thread_support_init
        - oom_check
        - snprintf
        - strdup
      functionUses:    2
      BranchProfiles:  []
      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:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_free_error
      functionUses:    10
      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:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_clear_error
        - vasprintf
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'errors.c:53,5'
          Dst:             k5_clear_error
        - Src:             'errors.c:56,9'
          Dst:             vasprintf
    - 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:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_vset_error
      functionUses:    4
      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:
        - ''
      BBCount:         1
      ICount:          6
      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:  []
      Callsites:
        - Src:             'errors.c:32,12'
          Dst:             k5_mutex_finish_init
    - functionName:    k5_buf_status
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 262
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_buf_truncate
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'k5buf.c:255,5'
          Dst:             __assert_fail
    - functionName:    k5_buf_get_space
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - endptr
        - ensure_space
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'k5buf.c:244,10'
          Dst:             ensure_space
        - Src:             'k5buf.c:247,12'
          Dst:             endptr
    - functionName:    ensure_space
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          231
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - explicit_bzero
        - realloc
        - set_error
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'k5buf.c:80,5'
          Dst:             __assert_fail
        - Src:             'k5buf.c:93,9'
          Dst:             explicit_bzero
        - Src:             'k5buf.c:96,20'
          Dst:             realloc
        - Src:             'k5buf.c:106,9'
          Dst:             explicit_bzero
        - Src:             'k5buf.c:109,5'
          Dst:             set_error
    - functionName:    endptr
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_error
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_buf_cstring
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - endptr
        - ensure_space
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'k5buf.c:235,10'
          Dst:             ensure_space
        - Src:             'k5buf.c:237,6'
          Dst:             endptr
    - functionName:    k5_buf_add_fmt
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_buf_add_vfmt
      functionUses:    28
      BranchProfiles:  []
      Callsites:
        - Src:             'k5buf.c:228,5'
          Dst:             k5_buf_add_vfmt
    - functionName:    k5_buf_add_vfmt
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          249
      EdgeCount:       45
      CyclomaticComplexity: 13
      functionsReached:
        - __assert_fail
        - endptr
        - ensure_space
        - explicit_bzero
        - k5_buf_free
        - set_error
        - strlen
        - vasprintf
        - vsnprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'k5buf.c:174,23'
          Dst:             endptr
        - Src:             'k5buf.c:174,13'
          Dst:             vsnprintf
        - Src:             'k5buf.c:176,13'
          Dst:             set_error
        - Src:             'k5buf.c:183,5'
          Dst:             __assert_fail
        - Src:             'k5buf.c:185,19'
          Dst:             endptr
        - Src:             'k5buf.c:185,9'
          Dst:             vsnprintf
        - Src:             'k5buf.c:194,14'
          Dst:             ensure_space
        - Src:             'k5buf.c:197,23'
          Dst:             endptr
        - Src:             'k5buf.c:197,13'
          Dst:             vsnprintf
        - Src:             'k5buf.c:199,13'
          Dst:             k5_buf_free
        - Src:             'k5buf.c:207,9'
          Dst:             vasprintf
        - Src:             'k5buf.c:209,9'
          Dst:             k5_buf_free
        - Src:             'k5buf.c:212,9'
          Dst:             ensure_space
        - Src:             'k5buf.c:214,16'
          Dst:             endptr
        - Src:             'k5buf.c:218,9'
          Dst:             strlen
        - Src:             'k5buf.c:218,9'
          Dst:             explicit_bzero
    - functionName:    vsnprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_buf_free
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - explicit_bzero
        - set_error
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'k5buf.c:270,5'
          Dst:             __assert_fail
        - Src:             'k5buf.c:272,9'
          Dst:             explicit_bzero
        - Src:             'k5buf.c:274,5'
          Dst:             set_error
    - functionName:    k5_buf_add_len
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - endptr
        - ensure_space
      functionUses:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'k5buf.c:153,10'
          Dst:             ensure_space
        - Src:             'k5buf.c:156,16'
          Dst:             endptr
    - functionName:    k5_buf_add
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_buf_add_len
        - strlen
      functionUses:    54
      BranchProfiles:  []
      Callsites:
        - Src:             'k5buf.c:147,31'
          Dst:             strlen
        - Src:             'k5buf.c:147,5'
          Dst:             k5_buf_add_len
    - functionName:    k5_buf_init_dynamic_zap
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_buf_init_dynamic
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'k5buf.c:139,5'
          Dst:             k5_buf_init_dynamic
    - functionName:    k5_buf_init_dynamic
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - set_error
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'k5buf.c:130,9'
          Dst:             set_error
    - functionName:    k5_buf_init_fixed
      functionSourceFile: '/src/krb5/src/util/support/k5buf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'k5buf.c:116,5'
          Dst:             __assert_fail
    - functionName:    krb5int_gmt_mktime
      functionSourceFile: '/src/krb5/src/util/support/gmt_mktime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - timegm
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'gmt_mktime.c:45,12'
          Dst:             timegm
    - functionName:    timegm
      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:    system_freeaddrinfo
      functionSourceFile: '/src/krb5/src/util/support/fake-addrinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - freeaddrinfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fake-addrinfo.c:331,5'
          Dst:             freeaddrinfo
    - functionName:    freeaddrinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    system_getaddrinfo
      functionSourceFile: '/src/krb5/src/util/support/fake-addrinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 325
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getaddrinfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fake-addrinfo.c:325,12'
          Dst:             getaddrinfo
    - functionName:    getaddrinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_getnameinfo
      functionSourceFile: '/src/krb5/src/util/support/fake-addrinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1341
      functionLinenumberEnd: 1342
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getnameinfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fake-addrinfo.c:1342,12'
          Dst:             getnameinfo
    - functionName:    krb5int_gai_strerror
      functionSourceFile: '/src/krb5/src/util/support/fake-addrinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1334
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gai_strerror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'fake-addrinfo.c:1334,12'
          Dst:             gai_strerror
    - functionName:    gai_strerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    my_fake_freeaddrinfo
      functionSourceFile: '/src/krb5/src/util/support/fake-addrinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1288
      functionLinenumberEnd: 1298
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - system_freeaddrinfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fake-addrinfo.c:1296,5'
          Dst:             system_freeaddrinfo
    - functionName:    krb5int_freeaddrinfo
      functionSourceFile: '/src/krb5/src/util/support/fake-addrinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1328
      functionLinenumberEnd: 1330
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - my_fake_freeaddrinfo
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'fake-addrinfo.c:1329,5'
          Dst:             my_fake_freeaddrinfo
    - functionName:    my_fake_getaddrinfo
      functionSourceFile: '/src/krb5/src/util/support/fake-addrinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1091
      functionLinenumberEnd: 1284
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - system_getaddrinfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'fake-addrinfo.c:1134,13'
          Dst:             system_getaddrinfo
    - functionName:    krb5int_getaddrinfo
      functionSourceFile: '/src/krb5/src/util/support/fake-addrinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1323
      functionLinenumberEnd: 1324
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - my_fake_getaddrinfo
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'fake-addrinfo.c:1324,12'
          Dst:             my_fake_getaddrinfo
    - functionName:    krb5int_ucs4_to_utf8
      functionSourceFile: '/src/krb5/src/util/support/utf8.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          193
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    krb5int_utf8_to_ucs4
      functionSourceFile: '/src/krb5/src/util/support/utf8.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          158
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_input_set_status
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    load_16_le
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 672
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_input_get_bytes
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - k5_input_set_status
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '../../include/k5-input.h:72,9'
          Dst:             k5_input_set_status
    - functionName:    store_16_le
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 622
      functionLinenumberEnd: 632
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_input_get_uint16_le
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_input_get_bytes
        - load_16_le
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             '../../include/k5-input.h:97,32'
          Dst:             k5_input_get_bytes
        - Src:             '../../include/k5-input.h:98,32'
          Dst:             load_16_le
    - functionName:    k5_input_init
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-input.h'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_utf16le_to_utf8
      functionSourceFile: '/src/krb5/src/util/support/utf8_conv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          189
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - k5_buf_cstring
        - k5_buf_free
        - k5_buf_get_space
        - k5_buf_init_dynamic
        - k5_input_get_uint16_le
        - k5_input_init
        - krb5int_ucs4_to_utf8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'utf8_conv.c:166,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'utf8_conv.c:167,5'
          Dst:             k5_input_init
        - Src:             'utf8_conv.c:171,15'
          Dst:             k5_input_get_uint16_le
        - Src:             'utf8_conv.c:176,19'
          Dst:             k5_input_get_uint16_le
        - Src:             'utf8_conv.c:184,17'
          Dst:             krb5int_ucs4_to_utf8
        - Src:             'utf8_conv.c:185,13'
          Dst:             k5_buf_get_space
        - Src:             'utf8_conv.c:188,15'
          Dst:             krb5int_ucs4_to_utf8
        - Src:             'utf8_conv.c:194,17'
          Dst:             k5_buf_cstring
        - Src:             'utf8_conv.c:198,5'
          Dst:             k5_buf_free
    - functionName:    k5_buf_add_uint16_le
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-buf.h'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_buf_get_space
        - store_16_le
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             '../../include/k5-buf.h:135,15'
          Dst:             k5_buf_get_space
        - Src:             '../../include/k5-buf.h:138,9'
          Dst:             store_16_le
    - functionName:    k5_utf8_to_utf16le
      functionSourceFile: '/src/krb5/src/util/support/utf8_conv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          249
      EdgeCount:       55
      CyclomaticComplexity: 15
      functionsReached:
        - k5_buf_add_uint16_le
        - k5_buf_free
        - k5_buf_init_dynamic_zap
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'utf8_conv.c:103,5'
          Dst:             k5_buf_init_dynamic_zap
        - Src:             'utf8_conv.c:130,13'
          Dst:             k5_buf_add_uint16_le
        - Src:             'utf8_conv.c:134,13'
          Dst:             k5_buf_add_uint16_le
        - Src:             'utf8_conv.c:135,13'
          Dst:             k5_buf_add_uint16_le
        - Src:             'utf8_conv.c:147,5'
          Dst:             k5_buf_free
    - functionName:    k5_path_isabs
      functionSourceFile: '/src/krb5/src/util/support/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_path_join
      functionSourceFile: '/src/krb5/src/util/support/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          115
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - asprintf
        - k5_path_isabs
        - strdup
        - strlen
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'path.c:127,9'
          Dst:             k5_path_isabs
        - Src:             'path.c:129,16'
          Dst:             strdup
        - Src:             'path.c:139,19'
          Dst:             strlen
        - Src:             'path.c:141,19'
          Dst:             asprintf
        - Src:             'path.c:143,19'
          Dst:             asprintf
    - functionName:    find_sep
      functionSourceFile: '/src/krb5/src/util/support/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'path.c:61,12'
          Dst:             strrchr
    - functionName:    k5_path_split
      functionSourceFile: '/src/krb5/src/util/support/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          215
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - find_sep
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'path.c:83,11'
          Dst:             find_sep
        - Src:             'path.c:106,20'
          Dst:             strdup
    - functionName:    parse_array_item
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 940
      functionLinenumberEnd: 950
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_json_array_add
        - k5_json_release
        - parse_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:944,11'
          Dst:             parse_value
        - Src:             'json.c:947,11'
          Dst:             k5_json_array_add
        - Src:             'json.c:948,5'
          Dst:             k5_json_release
    - functionName:    parse_value
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1069
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         48
      ICount:          312
      EdgeCount:       66
      CyclomaticComplexity: 20
      functionsReached:
        - is_digit
        - k5_json_bool_create
        - k5_json_null_create
        - k5_json_string_create
        - parse_array
        - parse_number
        - parse_object
        - parse_string
        - strncmp
        - white_spaces
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:1015,9'
          Dst:             white_spaces
        - Src:             'json.c:1019,15'
          Dst:             parse_string
        - Src:             'json.c:1022,15'
          Dst:             k5_json_string_create
        - Src:             'json.c:1030,15'
          Dst:             parse_object
        - Src:             'json.c:1038,15'
          Dst:             parse_array
        - Src:             'json.c:1041,16'
          Dst:             is_digit
        - Src:             'json.c:1042,15'
          Dst:             parse_number
        - Src:             'json.c:1046,16'
          Dst:             strncmp
        - Src:             'json.c:1048,15'
          Dst:             k5_json_null_create
        - Src:             'json.c:1052,16'
          Dst:             strncmp
        - Src:             'json.c:1054,15'
          Dst:             k5_json_bool_create
        - Src:             'json.c:1058,16'
          Dst:             strncmp
        - Src:             'json.c:1060,15'
          Dst:             k5_json_bool_create
    - functionName:    k5_json_array_add
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          96
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - k5_json_retain
        - realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:240,15'
          Dst:             realloc
        - Src:             'json.c:246,35'
          Dst:             k5_json_retain
    - functionName:    k5_json_release
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          78
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    34
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:118,5'
          Dst:             __assert_fail
    - functionName:    k5_json_retain
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:105,5'
          Dst:             __assert_fail
    - functionName:    white_spaces
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 716
      functionLinenumberEnd: 725
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          79
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_string
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 790
      functionLinenumberEnd: 851
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         46
      ICount:          320
      EdgeCount:       62
      CyclomaticComplexity: 18
      functionsReached:
        - hexval
        - is_hex_digit
        - strchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:821,30'
          Dst:             is_hex_digit
        - Src:             'json.c:821,52'
          Dst:             is_hex_digit
        - Src:             'json.c:822,17'
          Dst:             is_hex_digit
        - Src:             'json.c:822,39'
          Dst:             is_hex_digit
        - Src:             'json.c:823,25'
          Dst:             hexval
        - Src:             'json.c:823,48'
          Dst:             hexval
        - Src:             'json.c:824,22'
          Dst:             hexval
        - Src:             'json.c:824,43'
          Dst:             hexval
        - Src:             'json.c:835,21'
          Dst:             strchr
    - functionName:    k5_json_string_create
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 489
      functionLinenumberEnd: 490
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - k5_json_string_create_len
        - strlen
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:490,47'
          Dst:             strlen
        - Src:             'json.c:490,12'
          Dst:             k5_json_string_create_len
    - functionName:    parse_object
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 892
      functionLinenumberEnd: 935
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          156
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - k5_json_object_create
        - k5_json_release
        - parse_object_association
        - white_spaces
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:902,9'
          Dst:             white_spaces
        - Src:             'json.c:905,11'
          Dst:             k5_json_object_create
        - Src:             'json.c:912,19'
          Dst:             parse_object_association
        - Src:             'json.c:914,17'
          Dst:             k5_json_release
        - Src:             'json.c:917,17'
          Dst:             white_spaces
        - Src:             'json.c:924,17'
          Dst:             white_spaces
        - Src:             'json.c:933,5'
          Dst:             k5_json_release
    - functionName:    parse_array
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 955
      functionLinenumberEnd: 998
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          156
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - k5_json_array_create
        - k5_json_release
        - parse_array_item
        - white_spaces
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:965,9'
          Dst:             white_spaces
        - Src:             'json.c:968,11'
          Dst:             k5_json_array_create
        - Src:             'json.c:975,19'
          Dst:             parse_array_item
        - Src:             'json.c:977,17'
          Dst:             k5_json_release
        - Src:             'json.c:980,17'
          Dst:             white_spaces
        - Src:             'json.c:987,17'
          Dst:             white_spaces
        - Src:             'json.c:996,5'
          Dst:             k5_json_release
    - functionName:    is_digit
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 730
      functionLinenumberEnd: 731
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_number
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 756
      functionLinenumberEnd: 785
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          138
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - is_digit
        - k5_json_number_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:768,10'
          Dst:             is_digit
        - Src:             'json.c:773,12'
          Dst:             is_digit
        - Src:             'json.c:784,12'
          Dst:             k5_json_number_create
    - functionName:    k5_json_null_create
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - alloc_value
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:164,16'
          Dst:             alloc_value
    - functionName:    k5_json_bool_create
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - alloc_value
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:185,9'
          Dst:             alloc_value
    - functionName:    alloc_value
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:147,28'
          Dst:             calloc
    - functionName:    k5_json_number_create
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 557
      functionLinenumberEnd: 567
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - alloc_value
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:561,9'
          Dst:             alloc_value
    - functionName:    k5_json_array_create
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - alloc_value
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:225,16'
          Dst:             alloc_value
    - functionName:    array_dealloc
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 209
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          48
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - k5_json_release
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:214,9'
          Dst:             k5_json_release
    - functionName:    k5_json_object_create
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - alloc_value
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:392,16'
          Dst:             alloc_value
    - functionName:    parse_object_association
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 856
      functionLinenumberEnd: 887
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          103
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - k5_json_object_set
        - k5_json_release
        - parse_string
        - parse_value
        - white_spaces
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:862,11'
          Dst:             parse_string
        - Src:             'json.c:865,9'
          Dst:             white_spaces
        - Src:             'json.c:870,9'
          Dst:             white_spaces
        - Src:             'json.c:872,11'
          Dst:             parse_value
        - Src:             'json.c:879,11'
          Dst:             k5_json_object_set
        - Src:             'json.c:881,5'
          Dst:             k5_json_release
    - functionName:    k5_json_object_set
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 428
      functionLinenumberEnd: 469
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          218
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - k5_json_release
        - k5_json_retain
        - object_search
        - realloc
        - strdup
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:432,11'
          Dst:             object_search
        - Src:             'json.c:434,9'
          Dst:             k5_json_release
        - Src:             'json.c:443,26'
          Dst:             k5_json_retain
        - Src:             'json.c:457,15'
          Dst:             realloc
        - Src:             'json.c:463,34'
          Dst:             strdup
        - Src:             'json.c:466,36'
          Dst:             k5_json_retain
    - functionName:    object_search
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 405
      functionLinenumberEnd: 413
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          62
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:409,13'
          Dst:             strcmp
    - functionName:    object_dealloc
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 374
      functionLinenumberEnd: 383
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          57
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - k5_json_release
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:380,9'
          Dst:             k5_json_release
    - functionName:    k5_json_string_create_len
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 496
      functionLinenumberEnd: 508
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - alloc_value
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:500,9'
          Dst:             alloc_value
    - functionName:    is_hex_digit
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 737
      functionLinenumberEnd: 738
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          43
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - is_digit
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:738,12'
          Dst:             is_digit
    - functionName:    hexval
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 744
      functionLinenumberEnd: 750
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - abort
        - is_digit
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:745,9'
          Dst:             is_digit
        - Src:             'json.c:749,5'
          Dst:             abort
    - functionName:    encode_string
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 586
      functionLinenumberEnd: 606
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          86
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - k5_buf_add
        - k5_buf_add_fmt
        - k5_buf_add_len
        - strchr
        - strcspn
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:590,5'
          Dst:             k5_buf_add
        - Src:             'json.c:592,13'
          Dst:             strcspn
        - Src:             'json.c:593,9'
          Dst:             k5_buf_add_len
        - Src:             'json.c:597,9'
          Dst:             k5_buf_add
        - Src:             'json.c:598,13'
          Dst:             strchr
        - Src:             'json.c:600,13'
          Dst:             k5_buf_add_len
        - Src:             'json.c:602,13'
          Dst:             k5_buf_add_fmt
        - Src:             'json.c:605,5'
          Dst:             k5_buf_add
    - functionName:    encode_obj_entry
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 616
      functionLinenumberEnd: 628
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          69
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - encode_string
        - encode_value
        - k5_buf_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:624,9'
          Dst:             k5_buf_add
        - Src:             'json.c:625,5'
          Dst:             encode_string
        - Src:             'json.c:626,5'
          Dst:             k5_buf_add
        - Src:             'json.c:627,14'
          Dst:             encode_value
    - functionName:    encode_value
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 684
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          157
      EdgeCount:       25
      CyclomaticComplexity: 5
      functionsReached:
        - encode_obj_entry
        - encode_string
        - encode_value
        - k5_buf_add
        - k5_buf_add_fmt
        - k5_json_array_get
        - k5_json_array_length
        - k5_json_bool_value
        - k5_json_get_tid
        - k5_json_number_value
        - k5_json_object_iterate
        - k5_json_string_utf8
      functionUses:    3
      BranchProfiles:
        - Branch String:   'json.c:642,5'
          Branch Sides:    []
      Callsites:
        - Src:             'json.c:641,12'
          Dst:             k5_json_get_tid
        - Src:             'json.c:644,9'
          Dst:             k5_buf_add
        - Src:             'json.c:645,15'
          Dst:             k5_json_array_length
        - Src:             'json.c:648,17'
          Dst:             k5_buf_add
        - Src:             'json.c:649,37'
          Dst:             k5_json_array_get
        - Src:             'json.c:649,19'
          Dst:             encode_value
        - Src:             'json.c:653,9'
          Dst:             k5_buf_add
        - Src:             'json.c:657,9'
          Dst:             k5_buf_add
        - Src:             'json.c:661,9'
          Dst:             k5_json_object_iterate
        - Src:             'json.c:661,9'
          Dst:             encode_obj_entry
        - Src:             'json.c:662,9'
          Dst:             k5_buf_add
        - Src:             'json.c:666,28'
          Dst:             k5_json_string_utf8
        - Src:             'json.c:666,9'
          Dst:             encode_string
        - Src:             'json.c:670,37'
          Dst:             k5_json_number_value
        - Src:             'json.c:670,9'
          Dst:             k5_buf_add_fmt
        - Src:             'json.c:674,9'
          Dst:             k5_buf_add
        - Src:             'json.c:678,25'
          Dst:             k5_json_bool_value
        - Src:             'json.c:678,9'
          Dst:             k5_buf_add
    - functionName:    k5_json_get_tid
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_isa
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:139,21'
          Dst:             get_isa
    - functionName:    k5_json_array_length
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_json_array_get
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          36
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - abort
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:260,9'
          Dst:             abort
    - functionName:    k5_json_object_iterate
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          57
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_json_string_utf8
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 528
      functionLinenumberEnd: 529
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_json_number_value
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 571
      functionLinenumberEnd: 572
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_json_bool_value
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_isa
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_json_decode
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1073
      functionLinenumberEnd: 1090
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          58
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - k5_json_release
        - parse_value
        - white_spaces
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:1081,11'
          Dst:             parse_value
        - Src:             'json.c:1084,9'
          Dst:             white_spaces
        - Src:             'json.c:1085,9'
          Dst:             k5_json_release
    - functionName:    k5_json_encode
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 688
      functionLinenumberEnd: 701
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - encode_value
        - k5_buf_cstring
        - k5_buf_free
        - k5_buf_init_dynamic
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:693,5'
          Dst:             k5_buf_init_dynamic
        - Src:             'json.c:694,11'
          Dst:             encode_value
        - Src:             'json.c:696,9'
          Dst:             k5_buf_free
        - Src:             'json.c:699,17'
          Dst:             k5_buf_cstring
    - functionName:    k5_json_string_unbase64
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 535
      functionLinenumberEnd: 547
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_base64_decode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:541,12'
          Dst:             k5_base64_decode
    - functionName:    k5_json_object_get
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 417
      functionLinenumberEnd: 424
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - object_search
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:420,11'
          Dst:             object_search
    - functionName:    k5_json_object_count
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_json_string_create_base64
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 524
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - k5_base64_encode
        - k5_json_string_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:518,14'
          Dst:             k5_base64_encode
        - Src:             'json.c:521,11'
          Dst:             k5_json_string_create
    - functionName:    k5_json_array_fmt
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 357
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         60
      ICount:          394
      EdgeCount:       77
      CyclomaticComplexity: 19
      functionsReached:
        - k5_json_array_add
        - k5_json_array_create
        - k5_json_bool_create
        - k5_json_null_create
        - k5_json_number_create
        - k5_json_release
        - k5_json_retain
        - k5_json_string_create
        - k5_json_string_create_base64
      functionUses:    0
      BranchProfiles:
        - Branch String:   'json.c:295,9'
          Branch Sides:    []
      Callsites:
        - Src:             'json.c:291,9'
          Dst:             k5_json_array_create
        - Src:             'json.c:297,19'
          Dst:             k5_json_retain
        - Src:             'json.c:300,17'
          Dst:             k5_json_null_create
        - Src:             'json.c:306,17'
          Dst:             k5_json_bool_create
        - Src:             'json.c:312,17'
          Dst:             k5_json_number_create
        - Src:             'json.c:318,17'
          Dst:             k5_json_number_create
        - Src:             'json.c:325,21'
          Dst:             k5_json_null_create
        - Src:             'json.c:329,21'
          Dst:             k5_json_string_create
        - Src:             'json.c:337,17'
          Dst:             k5_json_string_create_base64
        - Src:             'json.c:344,15'
          Dst:             k5_json_array_add
        - Src:             'json.c:345,9'
          Dst:             k5_json_release
        - Src:             'json.c:355,5'
          Dst:             k5_json_release
    - functionName:    k5_json_array_set
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          47
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - abort
        - k5_json_release
        - k5_json_retain
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:268,9'
          Dst:             abort
        - Src:             'json.c:269,5'
          Dst:             k5_json_release
        - Src:             'json.c:270,26'
          Dst:             k5_json_retain
    - functionName:    k5_json_null_create_val
      functionSourceFile: '/src/krb5/src/util/support/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - alloc_value
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'json.c:171,16'
          Dst:             alloc_value
    - functionName:    rotl64
      functionSourceFile: '/src/krb5/src/util/support/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sipround
      functionSourceFile: '/src/krb5/src/util/support/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          85
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - rotl64
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'hashtab.c:64,11'
          Dst:             rotl64
        - Src:             'hashtab.c:65,11'
          Dst:             rotl64
        - Src:             'hashtab.c:66,11'
          Dst:             rotl64
        - Src:             'hashtab.c:69,11'
          Dst:             rotl64
        - Src:             'hashtab.c:70,11'
          Dst:             rotl64
        - Src:             'hashtab.c:71,11'
          Dst:             rotl64
    - functionName:    k5_hashtab_get
      functionSourceFile: '/src/krb5/src/util/support/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          94
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - memcmp
        - siphash24
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'hashtab.c:247,9'
          Dst:             siphash24
        - Src:             'hashtab.c:249,34'
          Dst:             memcmp
    - functionName:    siphash24
      functionSourceFile: '/src/krb5/src/util/support/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          125
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - load_64_le
        - sipround
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'hashtab.c:89,14'
          Dst:             load_64_le
        - Src:             'hashtab.c:91,9'
          Dst:             sipround
        - Src:             'hashtab.c:92,9'
          Dst:             sipround
        - Src:             'hashtab.c:100,10'
          Dst:             load_64_le
        - Src:             'hashtab.c:102,5'
          Dst:             sipround
        - Src:             'hashtab.c:103,5'
          Dst:             sipround
        - Src:             'hashtab.c:108,5'
          Dst:             sipround
        - Src:             'hashtab.c:109,5'
          Dst:             sipround
        - Src:             'hashtab.c:110,5'
          Dst:             sipround
        - Src:             'hashtab.c:111,5'
          Dst:             sipround
    - functionName:    load_64_le
      functionSourceFile: '/src/krb5/src/util/support/../../include/k5-platform.h'
      linkageType:     InternalLinkage
      functionLinenumber: 693
      functionLinenumberEnd: 696
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_hashtab_remove
      functionSourceFile: '/src/krb5/src/util/support/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          174
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - memcmp
        - siphash24
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hashtab.c:229,9'
          Dst:             siphash24
        - Src:             'hashtab.c:231,34'
          Dst:             memcmp
    - functionName:    resize_table
      functionSourceFile: '/src/krb5/src/util/support/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          145
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - siphash24
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hashtab.c:178,18'
          Dst:             calloc
        - Src:             'hashtab.c:186,17'
          Dst:             siphash24
    - functionName:    k5_hashtab_add
      functionSourceFile: '/src/krb5/src/util/support/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          117
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - resize_table
        - siphash24
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hashtab.c:205,13'
          Dst:             resize_table
        - Src:             'hashtab.c:216,9'
          Dst:             siphash24
    - functionName:    k5_hashtab_free
      functionSourceFile: '/src/krb5/src/util/support/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          85
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    k5_hashtab_create
      functionSourceFile: '/src/krb5/src/util/support/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          107
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
        - load_64_le
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hashtab.c:137,18'
          Dst:             load_64_le
        - Src:             'hashtab.c:138,18'
          Dst:             load_64_le
        - Src:             'hashtab.c:144,19'
          Dst:             calloc
    - functionName:    k5_siphash24
      functionSourceFile: '/src/krb5/src/util/support/hashtab.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - load_64_le
        - siphash24
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hashtab.c:119,19'
          Dst:             load_64_le
        - Src:             'hashtab.c:119,42'
          Dst:             load_64_le
        - Src:             'hashtab.c:121,12'
          Dst:             siphash24
    - functionName:    k5_bcmp
      functionSourceFile: '/src/krb5/src/util/support/bcmp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          54
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - 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:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - krb5int_strlcpy
        - strerror_r
      functionUses:    2
      BranchProfiles:  []
      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:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      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:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          76
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - realloc
        - strdup
      functionUses:    1
      BranchProfiles:  []
      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:
        - ''
        - ''
      BBCount:         11
      ICount:          75
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - add_filename
        - closedir
        - compare_with_strcmp
        - k5_free_filenames
        - opendir
        - qsort
        - readdir
      functionUses:    2
      BranchProfiles:  []
      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:    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:
        - ''
      BBCount:         10
      ICount:          49
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      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:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          127
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - strlen
      functionUses:    0
      BranchProfiles:  []
      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:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          101
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    decode_token
      functionSourceFile: '/src/krb5/src/util/support/base64.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          110
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'base64.c:99,17'
          Dst:             strchr
    - functionName:    k5_base64_decode
      functionSourceFile: '/src/krb5/src/util/support/base64.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          146
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - decode_token
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'base64.c:120,11'
          Dst:             strlen
        - Src:             'base64.c:131,15'
          Dst:             decode_token
    - functionName:    k5_base64_encode
      functionSourceFile: '/src/krb5/src/util/support/base64.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          198
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
...
